Bell Statistics

What is traffic allocation?

Traffic allocation is the share of units sent to each variant. An even split gives the most precision for a given total, and any departure from it costs sample — usually far more than the intuition behind the departure suggests.

Also called
traffic split, allocation percentage, unequal allocation, ramp
Allon Korem

Written by Allon Korem

Chief Executive Officer

Last updated

In plain English

Traffic allocation is simply what proportion of units go to each arm. It looks like a free parameter and it is not: the precision of a comparison is limited by whichever arm is smaller, so an even split extracts the most information from a fixed amount of traffic. Every departure from 50/50 costs sample size, and the cost grows quickly.

The arithmetic is worth carrying around because the intuition is badly wrong. A 90/10 split does not cost 10% more traffic — it needs roughly 2.8 times the total of an even split to reach the same precision, because the standard error is dominated by the 10% arm. An 80/20 split needs about 1.6 times. Teams frequently choose uneven allocations to limit exposure to a risky change and are surprised when the test takes three times as long as planned.

There are legitimate reasons to accept that cost. A genuinely risky change might warrant limited exposure while error rates are watched. Capacity constraints can make a new backend unable to serve half the traffic. And a permanent holdout group is deliberately small because it is held indefinitely, where an even split would be enormously expensive. What is not a good reason is a vague sense that exposing fewer users to an untested variant is more careful — most tested changes do nothing, and the traffic in the smaller arm is what determines whether you find out.

The rule that matters operationally is that allocation must not change while an experiment runs. Raising a variant from 10% to 50% moves the assignment boundaries, so users cross between arms carrying their prior behaviour, and the arms end up differing in join date as well as in treatment. This is a common cause of sample ratio mismatch and it normally invalidates everything collected beforehand. If a staged rollout is wanted for safety, run it as a separate phase that concludes before the experiment starts.

With more than two arms the same logic applies. Equal allocation across all arms is optimal when every comparison matters equally; when several challengers are each being compared against one control, giving the control arm a somewhat larger share is slightly better, since it participates in every comparison. The gain is modest and the complexity is real, so equal splits remain the sensible default for most A/B/n tests.

The formula

One expression for the standard error explains the whole subject: it is dominated by the smaller arm, and everything else follows.

Standard error of the difference
SE ∝ √( 1/n₁ + 1/n₂ )

Minimised at n₁ = n₂ for a fixed total. This is why an even split is optimal rather than merely conventional.

The cost of imbalance
relative n = 1 / ( 4 · p · (1 − p) )

p is the smaller share. 50/50 gives 1.0; 80/20 gives 1.56; 90/10 gives 2.78 — see the sample size calculator.

Multi-arm optimum
n_control / n_variant ≈ √k, for k challengers against one control

A modest gain over equal splits, since control appears in every comparison. Rarely worth the complexity.

Why it must not change mid-test
moving boundaries reassigns units already measured

Arms then differ in composition and join date, which no analysis separates from the treatment effect.

Worked example

A team plans a test on a 4.5% conversion rate, wanting to detect a 6% relative improvement at 80% power. They are considering three allocations: an even split, 80/20 to limit exposure, and 90/10 because the change touches billing.

Required per-arm at 50/50
58,900 each — 117,800 total
80/20 total needed
184,000 (1.56×)
80/20 smaller arm
36,800
90/10 total needed
327,500 (2.78×)
90/10 smaller arm
32,750
Available weekly traffic
60,000

The even split finishes in two weeks. The 90/10 split needs five and a half weeks for exactly the same conclusion.

The three-and-a-half extra weeks buy nothing statistically — the same effect, the same power, the same conclusion — and they are the price of exposing 10% rather than 50% of users to the variant. Whether that is worth paying depends entirely on how bad a broken billing flow would be, which is a real consideration and should be argued explicitly rather than assumed. The alternative worth putting on the table is a short staged rollout at 10% purely to watch error rates, concluded within a day or two, followed by an even-split experiment that starts fresh. That gets both the safety and the two-week runtime, at the cost of a slightly longer overall timeline and the discipline of not treating the rollout phase as data. What should not happen is starting at 90/10, watching for a couple of days, and then raising the allocation — which is the intuitive move and invalidates everything collected up to that point.

Common misconceptions

A 90/10 split only costs about 10% more traffic.
It costs roughly 178% more. Precision is governed by the smaller arm, so a 10% arm limits the comparison regardless of how large the other side is. Reaching the same power needs about 2.8 times the total traffic of an even split, which is usually a much larger delay than teams expect when they choose the allocation.
Sending less traffic to the variant is the cautious choice.
It is cautious about exposure and reckless about duration, since the test runs far longer and the change stays unresolved. If the concern is that the variant might be harmful, a short staged rollout with error monitoring answers that in a day, after which an even-split experiment answers whether it helps.
You can ramp the allocation up once the variant looks safe.
Not within a running experiment. Changing the split moves the assignment boundaries, so users cross arms carrying prior behaviour, and the arms end up differing in when their members joined. It is a common cause of sample ratio mismatch and generally invalidates the data collected before the change.

Frequently asked questions

When is an uneven split justified?
When exposure genuinely carries risk that cannot be assessed another way, when capacity limits what the variant can serve, or for a permanent holdout that is small by design because it is held indefinitely. In each case the extra duration is a known price for something specific. What does not justify it is a general preference for exposing fewer users, since that trades a definite delay for an undefined benefit.
How should traffic be allocated across more than two arms?
Equally, in almost all cases. When several challengers are compared against a single control there is a small theoretical gain from giving control roughly the square root of the number of challengers in extra weight, since it participates in every comparison. The improvement is a few per cent and the added complexity is real, so equal splits remain the practical default.
Should an experiment use all available traffic?
Usually yes for the experiment itself, but running at a fraction of total traffic is sometimes deliberate — reserving capacity for other concurrent experiments, or holding back a segment. What matters is that whatever share the experiment receives is split evenly between arms. Allocating 20% of traffic to an experiment and splitting that 10/10 is entirely fine; allocating 20% and splitting it 18/2 is not.

Related terms

  • Bucketing

    Three properties assignment must have — random, deterministic, independent — and what breaks when each one fails.

  • Experimentation platform

    Assignment, exposure, analysis and the guardrails — and the last of those is what separates a platform from a flag service.

  • Hash-based assignment

    Compute the variant instead of storing it — stateless, consistent everywhere, and free of a lookup on every request.

  • Statistical power

    The probability your test finds a real effect — and why most tests that report nothing were never able to.

Calculate it

  • A/B test sample size

    Size a two-proportion experiment before you launch, then read the lift and its interval once it lands.

  • Two-sample t-test

    Compare the average of two independent groups — plan the sample size, then test the result.

Knowing the term is the easy part

Applying it to a live measurement problem is the part that goes wrong. If you are designing an experiment, reading a result you do not trust, or trying to work out what your marketing actually caused, that is the work we do.

References