A/B tests · ResultA/B test statistical significance

A statistical significance calculator: visitors and conversions of A and B (up to 10 variants) → whether the result is significant, the uplift interval, the p-value and a summary for your manager. Step-by-step solution, Python and R code.

Your numbers stay in the browser and are never sent anywhere

01Data02Numbers03Charts04Trust05Examples06Questions07Related
α = 0.05 · power 80% · two-sided test
01

Test data

VariantVisitorsConversionsConversion · CI 95 %
Acontrol2.00 %1.91…2.10 %
Bvariant2.12 %2.02…2.22 %
Not proven
The difference is not proven.

B may differ from A by anything from −0.9 % to +13.4 % — a zero effect is not ruled out. To catch a +6.0 % effect reliably (power 80%), you need ≈ 220,000 visitors per group — you have 80,000.

Test
A one-sided test gives p = 0.046 — significant.
Many calculators, ABTestGuide among them, use a one-sided test by default — so there the same test may come out “significant”.

The link will contain the visitor and conversion counts and the settings — share it deliberately.

A2.00 %
B2.12 %
interval where the true conversion lies
What to do next
  1. 1Continue to ≈ 220,000 per group or change the hypothesis
  2. 2The test cannot tell an effect smaller than +10 % — small tweaks need more traffic
  3. 3Do not switch to a one-sided test after the fact
02

Numbers

B vs A
Conversion uplift
+6.0 %CI 95 %: −0.9 % … +13.4 %
uplift
Conversion difference
+0.120 ppCI: −0.019 … +0.259 pp
Δ, pp
Probability of chance
0.091threshold α = 0.05
p, two-sided
Difference in standard errors
1.690significance threshold ±1.96
z
Standard error of the difference
0.00071for the interval, from separate rates
SE
Needed per group for this effect
219,938to catch +6.0 % with 80% power
n
03

Charts

Where the true conversions may lie
If B is right of the threshold, the difference is significant
significance threshold1.85 %1.96 %2.06 %2.17 %2.27 %AB
Conversion AConversion Bsignificance zone
Uplift vs the control
An interval crossing zero means the effect is not proven
B vs A+6.0 % [−0.9 %; +13.4 %]−5 %−3 %0 %+7 %+13 %
04

Can you trust the test?

Trust
high so far
Traffic split fairly (SRM)auto
p = 1 for an equal split — no mismatch.
Enough eventsauto
At least 1,600 conversions per group — the approximation holds.
Did the test run for whole weeks?
Answer — trust depends on it.
Did you stop as soon as it became significant?
Answer — this is the most common mistake.
Did you look at more than one metric?
Answer if you looked at several.
Was the test size calculated in advance?
Answer — it affects how to read “not significant”.
Answer 4 more questions
Check in code
from statsmodels.stats.proportion import proportions_ztest

z, p = proportions_ztest([1696, 1600], [80000, 80000])
print(round(z, 4), round(p, 4))  # 1.6897 0.0911
Experiment report
Hypothesis, data, verdict, interval and diagnostics — for Confluence, Notion or print.
05

Worked examples

What we see · “Buy” button

A +6% uplift looks convincing, but the interval includes zero: a two-sided test gives p = 0.091. The test is too small for such an effect — it needs ≈ 220,000 per group. A one-sided test would give p = 0.046, but choosing it after seeing the data is fitting.

06

Frequently asked questions

Significance tells whether chance can explain the difference between A and B. The calculator computes the p-value: if the versions did not differ, how often a difference this large or larger would appear. If p is below the chosen threshold α, usually 0.05, the difference is called statistically significant. Significance says nothing about the size of the effect — the uplift interval does.

Updated