Conversion Science · established evidence

Why Most A/B Tests Are Wrong Before They Start: Sample Ratio Mismatch, Explained

Last reviewed 2026-07-20. Written by Chandranshu Kumar, Founder, Raveneye Global. · 9 min read

Sample Ratio Mismatch (SRM) is the failure that can invalidate an A/B test before you ever read its result. An experiment is designed to split visitors between control and treatment in a known ratio, usually 50/50. SRM is when the ratio that actually arrives deviates from the designed ratio at high statistical significance. When that happens, the two groups are no longer comparable, the randomization you were relying on is broken, and the measured difference between them cannot be trusted, regardless of how large or how confident the observed lift appears. This is not a rounding concern. Microsoft experimentation work found that roughly 6% of production experiments trip an SRM check, and the recommended practice is to treat a triggered check as a hard stop: you do not interpret the lift, you find the cause. That is why a sample ratio mismatch check is a prerequisite for trusting any experiment, not an optional diagnostic to run afterward.

A winning result can already be broken

Most conversations about A/B testing focus on the result: which variant won, by how much, and at what confidence. Sample Ratio Mismatch matters because it sits underneath all of that. It is a property of how the experiment was run, and when it is present, the result on top of it is not a smaller win or a noisier win. It is an uninterpretable one.

The logic is simple. An online controlled experiment works by randomly assigning comparable visitors to control and treatment, so that the only systematic difference between the groups is the change being tested. If the split that actually occurs departs from the split that was designed, that assumption of comparability is gone. Something selected who ended up in which bucket, and whatever did the selecting is now tangled up with your metric. You can no longer attribute the difference in conversion to the change you made, because you can no longer rule out that the two audiences were simply different people.

Kohavi, Tang and Xu, whose Trustworthy Online Controlled Experiments distils experimentation practice built on more than 20,000 experiments a year at Microsoft, place the SRM check among the small set of validity checks that must pass before a result is believed at all. A significant mismatch is treated as a signal to invalidate and investigate, not to discount slightly.

What sample ratio mismatch actually is

Define the terms plainly. The designed ratio is the allocation you chose when you set the test up, for example 1:1 between two variants. The observed ratio is the count of users, sessions, or whatever unit you randomized on, that actually landed in each variant when the test ran. Sample Ratio Mismatch is a statistically significant gap between the two.

Because random assignment naturally produces small fluctuations, you do not flag every imperfect split. A 50.2 / 49.8 outcome on a large sample is expected noise. The point of a formal check is to separate ordinary sampling variation from a deviation too large to be chance. When the observed counts are far enough from the designed ratio that random variation is an implausible explanation, the experiment has an SRM, and the burden shifts to finding the mechanism that caused it.

The SRM check: one test that decides whether to trust the rest

The check itself is a goodness-of-fit test. You take the counts that actually arrived in each variant and compare them against the counts the designed ratio predicts, using a chi-squared goodness-of-fit test, and read the p-value. A very small p-value means the split you got would almost never happen by chance if assignment were truly random and unbiased, which is the signature of a mismatch.

Two things make this check unusual, and worth understanding before you rely on it.

It runs before you look at the outcome, not after

The SRM check does not use your conversion numbers at all. It looks only at how many users each variant received. That independence is the point: you can validate that the experiment is structurally sound without letting the result you are hoping for influence the judgment. In a disciplined setup it is one of the first things read, and a failed check ends the analysis before the lift is even discussed.

It is sensitive, and it is supposed to be

On a large sample, even a small percentage imbalance can be highly significant, which is exactly why the check catches real problems that eyeballing the split would miss. A ratio that looks close, say 51 / 49, can still fail decisively when the sample is large enough, because a consistent bias is a very different thing from random scatter. The sensitivity is a feature. A mismatch is a symptom of a defect in the pipeline, and you want the smallest reliable symptom to surface it.

Why roughly 6% of production tests fail this check

The reason SRM deserves a dedicated article is that it is common, not rare. Microsoft experimentation work reported that on the order of 6% of controlled experiments exhibit a sample ratio mismatch. In practice that means a meaningful share of the tests a team runs, and celebrates, are resting on a split that a formal check would reject.

That figure reframes the usual anxiety about A/B testing. The worry is normally about the outcome, whether a lift is real or noise. SRM shows that a portion of the problem is upstream of the outcome entirely: the experiment was compromised at the assignment layer, and no amount of care in reading the result recovers it. This is a large part of the answer to why A/B tests fail. Many of them fail before the first visitor is counted, in the plumbing that decides who sees what.

Where the mismatch comes from

Fabijan and colleagues, in "Diagnosing Sample Ratio Mismatch in Online Controlled Experiments," give practitioners a taxonomy of causes and rules of thumb for tracking them down. The value of their work is that SRM is diagnosable: a triggered check is not a dead end but the start of a structured hunt, and the causes cluster into recognizable families.

Without reproducing their taxonomy in full, the recurring culprits are the ones any small-business tester should recognize:

  • Assignment and redirect bias: one variant is served through an extra redirect or a slower path, so a fraction of its users drop out before they are ever counted, thinning that arm.
  • Instrumentation and logging gaps: the event that records a user fires reliably in one variant but not the other, so the counts diverge for measurement reasons rather than behavioral ones.
  • Bot and non-human traffic filtering that is applied unevenly across variants, removing users from one arm more aggressively than the other.
  • Interference from carryover or shared state, where users are not cleanly and independently assigned, so the groups leak into one another.
  • Starting the count at the wrong moment, for example triggering analysis on an event that itself is affected by the change under test, which biases who enters the experiment.

A/B test validity is a property of the setup, not the outcome

The deeper lesson SRM teaches is about where validity lives. It is tempting to treat A/B test validity as something you assess at the end, by looking at the size of the effect and the confidence interval. SRM proves that some of the most important validity conditions are fixed the moment the experiment is configured and cannot be repaired by analysis.

A clean random split, correct and symmetric instrumentation, and an assignment unit that does not leak are not outputs of a test. They are preconditions. When they hold, the statistics you compute mean what they claim. When they do not, the same statistics are precise measurements of the wrong thing. This is why experienced experimenters read the health checks first: a beautiful, significant lift sitting on top of a failed SRM check is not a weak result to caveat, it is a void one to discard.

Trustworthy experiments were defined by the people who ran them at scale

It is worth being clear that none of this is a fringe statistical objection. The framework of trustworthy experiments, the idea that an A/B result earns belief only after passing a defined set of validity checks, comes from the practitioners who built and ran experimentation platforms at the largest scale, and who codified it precisely because they watched confident results collapse under scrutiny.

One of their governing heuristics is Twyman's law: any figure that looks surprising or unusually good is probably wrong, and should be checked before it is trusted. A dramatic lift is a reason for more suspicion, not less. SRM is one of the concrete checks that Twyman's law motivates, sitting alongside guarding against peeking, novelty and primacy effects, and network interference. The common thread is a discipline that assumes a result is broken until it has survived the checks that could break it.

An A/B testing checklist begins before launch

If SRM can invalidate a test before it starts, the practical response is to move the decisive work to before launch. A trustworthy A/B testing checklist front-loads the choices that determine validity, so that when the data arrives there is nothing left to negotiate.

  • Write the hypothesis and name one primary metric before the test goes live, so success cannot be redefined afterward by picking the chart that happens to look best.
  • Calculate the required sample size and run length in advance from the baseline rate and the smallest effect worth acting on, rather than stopping whenever the numbers look good.
  • Verify that assignment is random and that tracking fires once, on the right action, symmetrically across every variant.
  • Run the SRM check as a gate before reading the outcome, and treat a failure as a hard stop that sends you to diagnose the cause, not a caveat to note.
  • Fix the stopping rule in writing to prevent peeking, since continuously monitoring a fixed-horizon test and stopping early inflates the false-positive rate well beyond the nominal threshold.

What SRM actually shows

Sample Ratio Mismatch does not say that A/B testing is unreliable. It says the opposite: that experimentation is trustworthy exactly to the extent that it is disciplined, and that the discipline is checkable. The check is cheap, it is well defined, and it exists precisely so that the good tests can be believed and the compromised ones can be caught early rather than shipped.

For a small business, the takeaway is not to run fewer tests. It is that a test is only worth acting on if the setup around it holds, and that the setup is where the work quietly is. The number you act on is only as good as the split that produced it.

The evidence

Key findings, with their sources

  • On the order of 6% of controlled online experiments exhibit a Sample Ratio Mismatch, meaning the observed treatment/control split deviates from the designed ratio at high statistical significance and the result cannot be trusted regardless of the observed lift.

    established Microsoft experimentation practice as summarized in Kohavi, Tang & Xu, "Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing", Cambridge University Press, 2020 (ISBN 9781108724265).

  • Sample Ratio Mismatch is diagnosable: a taxonomy of causes and rules of thumb lets practitioners trace a triggered check to a mechanism (redirect bias, uneven logging, unequal bot filtering, interference, wrong start event) rather than discarding the test blindly.

    established Fabijan, Gupchup, Gupta, Omhover, Qin, Vermeer & Dmitriev, "Diagnosing Sample Ratio Mismatch in Online Controlled Experiments", KDD '19 (ACM SIGKDD, 2019), doi:10.1145/3292500.3330722.

  • The trustworthy-experiment framework, built on more than 20,000 experiments a year at Microsoft, formalizes the SRM check alongside guards against peeking, novelty and primacy effects, and network interference as prerequisites before an A/B result is believed.

    established Kohavi, Tang & Xu, "Trustworthy Online Controlled Experiments", Cambridge University Press, 2020.

  • Continuously monitoring a fixed-horizon A/B test against a nominal p<0.05 threshold and stopping early inflates the realized false-positive rate well above 5%; the fix is always-valid sequential inference, not ad hoc sample-size padding.

    established Johari, Koomen, Pekelis & Walsh, "Peeking at A/B Tests: Why It Matters, and What to Do About It", KDD '17 (ACM SIGKDD, 2017), doi:10.1145/3097983.3097992.

Calibration

What is proven, what is promising, what is unproven

Evidence tierTacticsWhat the evidence says
establishedRunning an SRM check (chi-squared goodness-of-fit on the observed vs. designed split) as a validity gate before reading the outcome; treating a triggered check as an invalidation, not a caveat.Fabijan et al., KDD '19; Kohavi, Tang & Xu, 2020.
establishedPre-registering the primary metric, sample size, run length, and stopping rule before launch to prevent peeking and metric-shopping.Kohavi, Tang & Xu, 2020; Johari et al., KDD '17.
emergingAttributing a specific SRM to a single named root cause on a low-traffic small-business site, where diagnostic signal is thinner than in the high-volume platforms the taxonomy was built on.Fabijan et al. taxonomy is validated on large-scale systems; transfer to low-traffic settings is reasonable but less thoroughly documented.

Reference

Glossary

Sample Ratio Mismatch (SRM)
A statistically significant deviation between the designed allocation ratio of an experiment (for example 50/50) and the ratio of users actually observed in each variant. Its presence invalidates the comparison between groups.
Designed vs. observed ratio
The designed ratio is the split you configured; the observed ratio is the split that actually arrived. An SRM check compares the two.
Chi-squared goodness-of-fit test
The standard statistical test used to decide whether observed counts across variants differ from the expected counts by more than random chance would explain; the basis of the SRM check.
Twyman's law
The experimentation heuristic that any result which looks surprising or unusually good is probably an error, and should be checked before it is trusted.
Peeking
Repeatedly checking a running fixed-horizon test and stopping the moment the numbers look significant, which inflates the false-positive rate above the stated threshold.

Straight answers

Frequently asked questions

What is Sample Ratio Mismatch in an A/B test?

It is when the split of users that actually landed in each variant differs from the split you designed (usually 50/50) by more than random chance can explain. When it happens, the control and treatment groups are no longer comparable, so the measured difference between them cannot be attributed to the change you tested, no matter how large the lift looks.

How do you check for SRM?

You compare the observed user counts in each variant against the counts the designed ratio predicts, using a chi-squared goodness-of-fit test, and read the p-value. A very small p-value means the split you got is implausible under fair random assignment, which flags a mismatch. Critically, this check uses only the assignment counts, not your conversion metric, so it can be run before you look at the result.

If my test showed a big, statistically significant win, can SRM still invalidate it?

Yes. That is the central point. SRM is a defect in how users were assigned, which sits underneath the result. A large, confident lift on top of a failed SRM check is not a strong result to note with a caveat; it is an uninterpretable one, because you cannot rule out that the two groups were simply different populations rather than the same population seeing different variants.

How common is Sample Ratio Mismatch?

Microsoft experimentation work found that roughly 6% of controlled experiments trip an SRM check. It is common enough that experienced experimentation teams run the check on every test by default and treat a failure as a reason to stop and diagnose rather than to interpret the outcome.

What causes SRM, and can it be fixed?

Common causes include one variant being served through an extra redirect that thins its traffic, tracking that fires unevenly across variants, bot filtering applied unequally, interference between users, or starting the count on an event affected by the change itself. Fabijan and colleagues published a taxonomy and rules of thumb precisely because these causes are diagnosable, so a triggered check is the start of a structured investigation, not a dead end.

Provenance

Sources

  1. Fabijan, A., Gupchup, J., Gupta, S., Omhover, J., Qin, W., Vermeer, L. & Dmitriev, P., "Diagnosing Sample Ratio Mismatch in Online Controlled Experiments: A Taxonomy and Rules of Thumb for Practitioners", KDD '19 (ACM SIGKDD, 2019), doi:10.1145/3292500.3330722 (established)doi.org
  2. Kohavi, R., Tang, D. & Xu, Y., "Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing", Cambridge University Press, 2020, ISBN 9781108724265 (established)cambridge.org
  3. Johari, R., Koomen, P., Pekelis, L. & Walsh, D., "Peeking at A/B Tests: Why It Matters, and What to Do About It", KDD '17 (ACM SIGKDD, 2017), doi:10.1145/3097983.3097992 (established)doi.org

Every figure above is attributed to a real, dated source and tagged with its evidence tier. Where a claim could not be verified to a primary source, it is not stated as fact.

What this means for your next test

The evidence points to one uncomfortable operational fact: a test is only worth acting on if the setup around it holds, and the setup is where most of the failures quietly live. If you are about to change a headline, a form, or a checkout step, the question is not just which version wins. It is whether the experiment is built so the answer can be trusted, with the split validated, the metric fixed in advance, and a stopping rule that stops you from peeking. That is exactly what a Single A/B Test Setup is: one clean, properly powered experiment, instrumented end to end by a specialist, so when it says ship, you can.

service Single A/B Test Setup One test done to a real standard: a written hypothesis, a single primary metric, sample size and run length set before launch, correct and symmetric tracking, an SRM and health check, and a fixed stopping rule, so the result holds up when you act on it. See how it works

Start free with a Machine-Readiness Score, a specialist-reviewed read of where you stand across search and AI answers. No guaranteed number, and no obligation.