You asked for a 50/50 split and got 50.4/49.6. On two million users that is not rounding — it means something is filtering your users, and the result is void.
You dealt two equal piles and one has 200 more cards. You don't argue about the cards — you find out what's eating them.
It's a direct signal that randomisation broke, which invalidates the causal claim the whole test rests on.
Sample ratio mismatch is a statistically significant deviation between the observed arm split and the intended one. It matters far beyond the split itself: randomisation is the assumption every causal claim rests on, so if the split is broken, something is systematically removing or misassigning users, and whatever that something is has almost certainly also biased the outcome. SRM is therefore the first check to run and a hard gate — a test with SRM should not be interpreted at all, no matter how good the headline number looks.
SRM is a significant difference between the actual and intended arm split, tested with a chi-square goodness-of-fit test. It signals broken randomisation — a redirect that drops users, an SDK that fails on one variant, bot filtering that hits arms unequally, or a logging gap. Any test showing SRM is invalid and must be debugged, not interpreted.
Understanding SRM (Sample Ratio Mismatch) in A/B Testing [CRO / Experimentation] — Lucia from The Initial, 6:45