Statistics

Traffic Allocation in A/B Tests: Why 50/50 Wins

Traffic allocation in A/B testing: why 50/50 is optimal, what a 90/10 split costs (2.78x the traffic) and when a ramp up solves the risk fear.

Flat illustration of a dense diagonal stream of small green particles flowing across a pale mint background, thinning out towards one end

Running a test at a 90/10 traffic allocation does not make the experiment safer, it makes it 2.78 times slower. The same plan that takes 11 days with half the traffic on each arm takes 30 days at 90/10 and 272 days at 99/1, because the precision of the comparison is capped by the smaller arm. This article computes the exact factor for every split, shows the same test reaching opposite conclusions purely because of how traffic was divided, explains why a ramp up is the right answer to the fear that motivates 90/10, and why the SRM check needs to know about a deliberate unequal split before you turn the test on. It is part of our complete guide to A/B testing and it pairs with how many visitors an A/B test needs.

The traffic allocation arithmetic nobody runs

The precision of a comparison between two groups depends on both of them. The variance of the difference between two rates is proportional to 1 over the number of people in control plus 1 over the number in the variant. With a fixed total split so that the variant gets a share p, that sum equals 1 divided by p(1 minus p) times the total. It bottoms out exactly at p equal to 0.5, and climbs fast on either side.

Kohavi, Longbotham, Sommerfield and Henne give the rule a section title that leaves no room for interpretation, “Assign 50% of users to treatment”, and supply the practical approximation: the multiplicative increase in running time relative to 50/50 is 1 divided by 4p(1 minus p), where the treatment receives portion p of the traffic. They finish with the example that usually wakes the room up: an experiment run at 99 against 1 percent will have to run about 25 times longer.

How the running time multiplies as the variant share shrinksA descending hockey stick curve. The horizontal axis is the share of traffic given to the variant, from 2 up to 50 percent. The vertical axis is the multiplier on the time required relative to an even split. The curve sits at 1 at 50 percent, rises gently to about 1.6 at 20 percent, reaches 2.78 at 10 percent, jumps to 5.26 at 5 percent and hits 12.76 at 2 percent. Round markers highlight the 50, 20, 10, 5 and 2 percent points.1.00x1.56x2.78x5.26x12.76x010%20%30%40%50%share of traffic given to the variantTime multiplier: 1 divided by 4p(1 minus p)
The curve is nearly flat between 40 and 50 percent and turns into a wall below 20. That is why 60/40 is essentially free and 95/5 is essentially unworkable.

We checked the approximation against the exact two-proportion sample size calculation, searching numerically for the total that delivers 80 percent power at each split. Kohavi and co-authors’ shortcut holds up comfortably:

Split (control / variant) Factor from the formula Total needed Measured factor Days at 40k a week Visitors in the variant
50 / 50 1.0000 62,467 1.0000 11 31,234
60 / 40 1.0417 64,835 1.0379 12 25,934
70 / 30 1.1905 73,825 1.1818 13 22,148
80 / 20 1.5625 96,534 1.5454 17 19,307
90 / 10 2.7778 170,965 2.7369 30 17,097
95 / 5 5.2632 323,330 5.1760 57 16,167
98 / 2 12.7551 782,675 12.5294 137 15,654
99 / 1 25.2525 1,548,950 24.7963 272 15,490

The last column holds the intuition most discussions are missing: the variant needs roughly the same number of people whatever the split (between 15,000 and 31,000 here). What explodes is the total, because to hand 17,000 visitors to the variant at 90/10 you have to send 154,000 to control, and the calendar pays that bill.

The plan behind all those numbers

Every row above comes from a single fixed horizon plan. A 5 percent baseline rate, a minimum detectable effect of 10 percent relative, 95 percent confidence, 80 percent power, two-sided. The calculator returns 31,234 visitors per variant, or 62,468 in total, which is 11 days at 40,000 visitors a week.

Sample size calculator
-Visitors per variation
-Total (2 variations)
-Estimated duration

Two-proportion normal approximation, 2 variations (50/50). Tweak the inputs and watch it update live.

Check it: baseline 5, MDE 10 percent relative, confidence 95, power 80. That 31,234 is what the table multiplies. The calculator, like almost every one on the market, assumes an even split; it has no allocation field because the right answer for that field is always 50. If you are going to run unequal anyway, take the 62,468 total and multiply by the factor on your row.

The same test, two splits, opposite conclusions

None of this is abstract. We simulated a real 10 percent relative effect (5.0 against 5.5 percent) and spent exactly the same total traffic, 62,467 visitors, in two different ways.

Scenario Control Variant Measured relative lift p-value Confidence interval Verdict
90 / 10 2,801 of 56,220 (4.9822%) 337 of 6,247 (5.3946%) 8.28% 0.156893 minus 0.1760 to 1.0007 pp inconclusive
50 / 50 1,554 of 31,234 (4.9754%) 1,703 of 31,234 (5.4524%) 9.59% 0.007326 0.1284 to 0.8257 pp variant wins

Same underlying truth, same traffic budget, same number of days. The only difference is where the traffic went, and it decided whether the team found the win or shelved the hypothesis. Paste both rows into the significance calculator to see the two verdicts side by side.

The effect on detection shows up cleanly when you fix the traffic budget and ask what power is left:

Split Visitors in control Visitors in variant Analytical power Measured power over 40,000 replications Smallest detectable effect
50 / 50 31,233 31,234 80.00% 80.03% 10.00% relative
70 / 30 43,727 18,740 not simulated not simulated 10.89% relative
80 / 20 49,974 12,493 61.94% 61.64% 12.48% relative
90 / 10 56,220 6,247 40.57% 40.61% 16.71% relative
95 / 5 59,344 3,123 not simulated not simulated 23.17% relative

At 90/10 the power of the test fell from 80 to 40 percent without a single line of the plan changing. A test with 40 percent power misses more than half of the real winners, and the team reads that silence as “the hypothesis did not work”. It is the same mechanism we described in observed power after the test: a null result is not information about the product, it is information about the design.

What an unequal split does NOT ruin

Precision matters here, because this is a common confusion. An unequal split does not inflate false positives. We ran 40,000 replications under the null hypothesis, with both variants sitting at exactly 5 percent:

Split Measured false positive rate Monte Carlo standard error
50 / 50 5.11% 0.11 pp
90 / 10 4.83% 0.11 pp
98 / 2 5.19% 0.11 pp

All where they should be. The two-proportion test already handles unequal group sizes correctly, and the p-value still means what it promises. The damage from an unequal split lands entirely on Type II error, the failure to see what is actually there. It never shows up in an alert, only in the time that goes by.

Why 90/10 feels safe, and the right answer to that fear

The motivation is nearly always the same, and it is reasonable: if the variant is bad, the fewer people who see it the better. Kohavi and co-authors name this practice as common among novice experimenters and agree with the worry, while disagreeing with the fix. Their answer is treatment ramp up: start at 99.9 against 0.1 percent, then move to 0.5, then 2.5, then 10, then 50 percent, with each step running for a couple of hours and existing to confirm there are no egregious problems before exposing more users.

The difference between a ramp and a split is what each one is trying to answer. The ramp answers “is this broken?” and it is short. The split answers “does this work?” and it is the whole test. Conflating them means accepting a bad measurement design to solve a safety problem that already has its own answer.

Bing’s ramp is not your ramp

Here is a detail the big-company literature tends to hide. The 0.1 percent step for two hours was written for sites with enormous volume. On a site doing 40,000 visitors a week, that step exposes 0.5 users. It detects nothing.

Ramp step Hours to expose 500 users at 40k a week Hours to expose 500 users at 4M a week
0.1% 2,100 h (87.5 days) 21 h
0.5% 420 h (17.5 days) 4.2 h
2.5% 84 h (3.5 days) 0.84 h
10% 21 h (0.9 days) 0.21 h
50% 4.2 h 0.04 h

The practical conclusion for a mid-traffic site is that a useful ramp has two or three steps, not five, and they live between 10 and 50 percent. Below 2.5 percent, a step is not a safety check, it is a decorative pause that only burns calendar. And it burns little of the plan: three days at 10 percent hand 1,714 visitors to the variant, or 5.49 percent of the N it needs, which is acceptable as the price of safety.

A safety ramp followed by measurement at an even splitStacked horizontal bars along a timeline. In the ramp phase, three short bars show the variant receiving 10, then 25, then 50 percent of traffic, each labelled as a safety check. After a vertical divider marked start of measurement, one long bar shows the fixed fifty fifty split running across the rest of the test.The ramp is a safety phase. Measurement starts after it.10%25%50%looking for egregious errors, hours to a few days per stepstart of measurementcontrol 50%variant 50%the 11 days the plan asked for, at the split that measures fastestThe common mistake is stretching the first block to the end of the test and calling it caution.In this plan, that caution costs 19 extra days of calendar.
A ramp and a measurement answer different questions. The ramp ends when you are confident nothing broke, not when the test ends.

The small arm can fall below the normality floor

There is an extra problem that only shows up on skewed metrics, and it is worse than lost power. The normal approximation underpinning the p-value needs a minimum number of observations to hold, and that minimum depends on the skewness of the metric. Kohavi, Deng, Longbotham and Xu propose a rule of thumb of 355 times the square of the skewness coefficient per variant, recommended when the absolute skewness exceeds 1, and publish the Bing table:

Metric Skewness Minimum sample per variant
Revenue per user 17.9 114,000
Revenue per user (capped) 5.2 9,700
Sessions per user 3.6 4,700
Time to success 2.1 1,550

In our 90/10 example the variant received 6,247 visitors. For conversion rate, a binary metric, that is nowhere near a problem. For uncapped revenue per user, with a floor of 114,000, the small arm is not merely underpowered: it sits below the level at which the p-value for that metric means anything. If revenue is your primary metric, an unequal split moves from the “slower” category into the “uninterpretable” one, and outlier capping becomes a prerequisite rather than a refinement.

Changing the split mid-test is a different design, not a tweak

A common temptation is to start at 90/10 “just to check things are fine” and move to 50/50 once confidence builds, treating it as an operational detail. It is not. FDA guidance classifies allocation adaptations as their own family of adaptive design and separates two cases. When the ratio shifts based on baseline characteristics, in pursuit of balance between the groups, it does not directly increase the Type I error probability provided the analysis uses the appropriate methodology. When the ratio shifts based on the outcomes already observed, what the agency calls response-adaptive randomization, you have left fixed horizon A/B testing and entered the territory of algorithms that reallocate traffic toward the winning arm, the subject of bandits versus A/B testing.

The practical rule is simple: changing the split for calendar or safety reasons, with the criterion written in advance, is fine, and the only consequence is how long the test takes. Changing the split because the variant is doing well turns the final reading into something else, and the two-proportion p-value stops being the right instrument.

Declare the split to the SRM check

One last operational detail, and it bites on the first morning. The sample ratio mismatch check compares the observed split against the expected one. If the tool assumes 50/50 by default and you turned on a 90/10 test, it will scream every day:

Weights given to the checker Chi-square p-value Flags a problem?
50 and 50 (the default) 39,977.9 below 0.0001 yes, and it is a false alarm
0.9 and 0.1 (declared) 0.0000 0.9968 no

The false alarm is worse than it looks, because it trains the team to ignore the guardrail that exists precisely to catch the real problem. A deliberate unequal split is only acceptable when the expected ratio is recorded alongside the experiment, so the checker tests against it.

Make this automatic with Donnu

An unequal split is rarely a decision, it is usually a default inherited from the tool or a caution nobody converted into days. In Donnu the experiment split appears next to its cost: moving control from 50 to 90 percent immediately updates the total needed, the projected end date and the power you have left with the traffic you actually get. Ramp up is a phase of its own with an exit criterion, and the SRM check reads the declared ratio from the experiment instead of assuming an even split, so a deliberate unequal allocation does not turn into a daily false alarm.

Frequently asked questions

The short answers live in the FAQ section of this page, built from the same calculations presented here.

References

Leia em português

Frequently asked questions

What is the best traffic split for an A/B test?
Half to each variant. Kohavi and co-authors recommend explicitly that 50 percent of users see each variant, because that split maximises power and minimises running time. The precision of the comparison is capped by the smaller arm, so moving traffic from one side to the other always makes the total worse, never better.
How much does a 90/10 split cost compared to 50/50?
Roughly 2.78 times more traffic for the same power. The factor is 1 divided by 4p(1 minus p), where p is the variant share: 1.04x at 60/40, 1.56x at 80/20, 2.78x at 90/10, 5.26x at 95/5 and 25.25x at 99/1. In the plan we work through here, an 11 day test at 50/50 becomes a 30 day test at 90/10 and a 272 day test at 99/1.
Does an unequal split break the statistics of the test?
No. The test stays valid: across 40,000 replications under the null hypothesis, the false positive rate came in at 5.11 percent for 50/50, 4.83 percent for 90/10 and 5.19 percent for 98/2, all within simulation error. What an unequal split ruins is power, not alpha. You will not see more false winners, you will fail to see real ones.
If I am afraid of exposing the new variant, should I not run 90/10?
The fear is legitimate, the fix is different: ramp up. Kohavi and co-authors describe starting at 99.9 against 0.1 percent, then stepping up through 0.5, 2.5, 10 and finally 50 percent, with each step running for a couple of hours and existing to catch egregious problems before more users are exposed. The ramp is a short safety phase, not the measurement design. Once it clears, the test runs at 50/50, which is where it measures.
Will the SRM check flag a deliberate unequal split?
It will, unless you declare the split to it. In our example, a 90/10 test with 56,220 and 6,247 visitors returns a chi-square of 39,977.9 and a p-value indistinguishable from zero when the checker assumes 50/50. Declaring weights of 0.9 and 0.1, the same test returns a chi-square of 0.0000 and a p-value of 0.9968. A deliberate unequal split means recording the expected ratio alongside the experiment, otherwise the guardrail turns into daily noise.
Is there ever a good reason to run unequal?
Two of them. The first is the ramp phase, which is short and is not the measurement. The second is when the variant carries a real per-user cost, such as an expensive API call or a discount, and you knowingly accept paying in calendar time to keep that cost down. Outside those, an unequal split is almost always a comfort decision that nobody translated into days.