Skip navigation
Nico Santangelo
Get in touch
Instruments

What should we do with this result?

The probability the variant is better, the expected cost of shipping it, the interval on the difference, and how much disbelief it would take to overturn the answer.

What came back
The rule you set

What it would take to overturn this

320,000 skeptical observations

  • Your control arm40,000
  • Variant is better99.6%

It would take a prior worth 320,000 observations to turn this into “Either is fine”, against the 40,000 the control arm collected. That is 8× the weight of the test.

What to do

Ship it

Shipping the variant costs < 0.01 on average in the worlds where the control was better, which is inside the threshold you set.

The difference in conversion rate, in percentage points
The difference in conversion rate, in percentage pointsA horizontal axis in percentage points. The bar is the credible interval on the difference between the two arms, the dot is its middle, the dashed line is no change, and the shaded zone is the difference you said was too small to ship for.+0.08+0.52−0.63−0.310.00+0.31+0.63Too small to ship forNo change
Control rate
2.50%
Variant rate
2.80%
Relative lift
3.0% to 21.8%
Cost of shipping it
< 0.01
The same counts under three priors. The last column is the one to read: when it says the same thing all the way down, the data settled the question and the prior was along for the ride.
PriorVariant is betterCost of shipping itSays
Flat99.6%< 0.01Ship it
Jeffreys99.6%< 0.01Ship it
Skeptical, at the weight of the test97.1%< 0.01Ship it

All three priors agree, so the answer is coming from the counts and not from the assumption underneath them.

An expected loss is not a license to stop whenever the number looks good. Stopping on it controls a different quantity than a significance test does, and it still changes what the figure means.

Summary to paste into a ticket

2.50% -> 2.80% | What to do: Ship it
Variant is better 99.6% | Relative lift 3.0% to 21.8%
0.000% expected loss against a 0.050% threshold
What it would take to overturn this: 320,000 skeptical observations (Your control arm 40,000)

https://youex.de/tools/bayes-ab/

Why a probability and not a p-value

A p-value is the probability of seeing a difference at least this large if there were no difference at all. Almost nobody reads it that way. The thing teams want, and the thing they usually believe they have been handed, is the probability that the variant is better, and that quantity does not exist in a significance test. It exists here, and it is an integral over two posterior distributions with no approximation in it.

The model is Beta-Binomial. A conversion rate starts as a Beta distribution expressing what was plausible before the test, each conversion and each miss updates it, and what comes out is another Beta. That is the whole machinery. Every figure on this page is a quadrature over two of them, and nothing on this page samples, so the same counts give the same answer every time you load it.

The expected loss is the number that decides

The probability tells you which way the evidence points. It does not tell you what to do, because it carries no units and no cost.

The expected loss does. It is the average amount of conversion rate you give up by shipping the variant, counted over the worlds where the control was the better of the two. It is measured in rate points, which means a team can set a threshold on it in advance: below this, I do not care which arm wins. That threshold belongs to the business, so this page has no default for it worth having.

Four readings come out of that comparison. Ship it and keep the control are the ones where a single arm’s cost falls under the threshold. Not yet is where neither does. And either is fine is the one worth naming on its own: both costs are under the threshold, which means the test is finished and the answer is that the difference is too small to be worth a rollout. That is a result, and teams routinely mistake it for a failure.

How much disbelief would overturn this

Every Bayesian answer rests on a prior, and a prior is a choice and not a measurement. A tool that hides that is selling certainty it has not got.

So this page asks the question behind the choice: how sceptical would somebody have to be for your conclusion to change? The answer is in observations. A prior centred on the control’s own rate and carrying the weight of so many observations starts from the position that nothing changed, and it has to be argued out of it by the evidence you collected. When the number that would overturn you is smaller than the number your test collected, the conclusion is resting on the prior at least as much as on the data, whatever the probability says.

The table under it shows the same counts under three priors, and the last column is the one to read. When it says the same thing all the way down, the data settled the question. When it does not, the prior was doing the work, and the test did not settle anything.

What this does not license

A Bayesian reading is not permission to watch the dashboard until the number looks good and then stop.

Stopping on an expected loss controls a different quantity than a significance test controls, and the arithmetic here does not care when you looked. It still changes what the figure means. If the plan was a fixed sample, run the fixed sample. If the plan was to stop on a loss threshold, set that threshold before the first visitor arrives and hold to it.

This page reads a test that has finished. The A/B test planner is the one that answers how big it has to be and how long that takes.