Enter the visitors assigned to each variant and the split you expected. This SRM checker runs a chi-square goodness-of-fit test and tells you instantly whether your randomization is trustworthy.
A sample ratio mismatch (SRM) happens when the share of users actually routed to each variant differs from the split you configured. Even a tiny deviation — say 51.5% vs 48.5% on a 50/50 test — can be statistically impossible by chance once your sample is large, and it usually signals a real bug: a redirect that drops one arm, bot filtering applied unevenly, a logging gap, or a leaky cookie. When that happens, the conversion numbers are no longer comparable and the whole experiment should be paused, not shipped.
This tool uses Pearson's chi-square goodness-of-fit test. For each variant it computes the expected count E = N × w, where N is total visitors and w is that variant's configured weight. It then sums the squared, normalized errors across all k variants:
χ² = Σ (O−E)² / E
where O is the observed visitor count. The statistic follows a chi-square distribution with k−1 degrees of freedom. The tool converts χ² to a p-value using the regularized upper incomplete gamma function, evaluated in pure JavaScript with a Lanczos gamma approximation and a series/continued-fraction expansion — no server call. If the p-value falls below your alpha (0.01 is the industry-standard SRM threshold, far stricter than the 0.05 used for the metric of interest), the split is flagged as mismatched.
The information you gain here that a plain percentage view hides: a 0.3-point imbalance is meaningless at 2,000 users but a five-alarm fire at 2,000,000. Chi-square scales the alarm to your sample size automatically, so you only act when the deviation genuinely exceeds randomization noise.