71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/trail_guide/calculators/bayesian.rb', line 71
def calculate!
variants_with_conversion.each do |variant|
expvar = experiment.variants.find { |var| var.name == variant.name }
vprob = variant_probability(variant)
variant.probability = vprob
variant.significance = TrailGuide::Calculators::SIGNIFICANT_PROBABILITIES.reverse.find { |pct| vprob >= pct } || 0
if base
if variant.measure > base.measure
variant.difference = (variant.measure - base.measure) / base.measure * 100
elsif base.measure > variant.measure
variant.difference = -((base.measure - variant.measure) / base.measure * 100)
else
variant.difference = 0
end
end
end
@choice = best && best.probability >= probability ? best : nil
self
end
|