Bell Statistics

What is the multiple comparisons problem?

The multiple comparisons problem is that testing many hypotheses at once inflates the chance of a false positive. Each test carries its own error rate, so twenty tests at the five per cent level give roughly a sixty-four per cent chance that at least one reports a win by luck alone.

Also called
multiple testing, multiplicity, family-wise error
Allon Korem

Written by Allon Korem

Chief Executive Officer

Last updated

In plain English

Every significance test comes with a false-positive rate you agreed to — usually five per cent. Run one test and that is your exposure. Run twenty independent tests where nothing is happening and the chance that at least one clears the threshold is 1 − 0.95²⁰, about 64%. The individual rates were never violated; there were simply more chances. This is the multiple comparisons problem, and it is arithmetic rather than a subtlety.

It arrives in a product organisation through four doors, and only the first is obvious. Testing several metrics on one experiment. Testing several variants against one control, where a four-arm test makes three comparisons. Slicing a flat result by country, device and cohort until something appears. And looking at the same test repeatedly over time, which is the same problem across days rather than across metrics — a fortnight of daily checks turns a 5% rate into roughly 25%. The last two rarely feel like multiple testing, which is exactly why they do the most damage.

There are two different things you might want to control, and confusing them leads to the wrong correction. The family-wise error rate is the probability of even one false positive across the family; controlling it is appropriate when a single wrong conclusion is costly, as it is when you will ship on the result. The false discovery rate is the expected share of your positives that are false; controlling it is appropriate when you are screening many candidates and can tolerate some noise as long as most findings hold. Family-wise control is strict and costs power; FDR control is more forgiving and scales better past a handful of tests.

Bonferroni — divide alpha by the number of tests — is the correction everyone knows, and it is always valid and never the best available. Holm's step-down procedure controls exactly the same family-wise rate with strictly more power, so there is no situation in which Bonferroni is preferable other than mental arithmetic. For screening, Benjamini-Hochberg controls the false discovery rate and stays usable at twenty or fifty metrics where family-wise control would leave you unable to detect anything. We work through which to reach for in navigating multiple comparison corrections.

The best fix is not a correction at all. Nominate one primary metric before the experiment starts, power the test for it, and decide on it alone; everything else is a diagnostic that informs the conversation and never decides it. This costs no statistical power, which every correction does, and it forces the harder question — what is this experiment actually for — to be answered before the data can influence the answer.

The formula

The first line is the whole problem. The rest are the standard responses, in increasing order of how much power they leave you.

Family-wise error rate
FWER = 1 − (1 − α)^m

m independent tests at level α. 3 → 0.14, 5 → 0.23, 10 → 0.40, 20 → 0.64. Correlated metrics inflate it more slowly, but never back down to α.

Bonferroni
reject if pᵢ < α / m

Valid under any dependence structure, and conservative. Its only real advantage is that you can do it in your head.

Holm step-down
sort p₍₁₎ ≤ … ≤ p₍ₘ₎; reject while p₍ᵢ₎ < α / (m − i + 1)

Same family-wise guarantee as Bonferroni, uniformly more power. There is no reason to prefer Bonferroni once you have a script.

Benjamini-Hochberg
largest i with p₍ᵢ₎ ≤ (i/m)·q; reject all up to it

Controls the false discovery rate at q rather than the family-wise rate. The right tool for screening many metrics — see the chi-square test calculator for the count-data case.

Worked example

An experiment ships a new recommendation module and the team reports on twelve metrics: purchase rate, revenue per user, add-to-cart, session length, return visits, and seven engagement counters. One comes back significant — return visits, up 3.2%, p = 0.021. Everything else is flat.

Metrics tested
12
Nominal alpha
0.05
P(≥1 false positive)
1 − 0.95¹² = 0.46
Bonferroni threshold
0.05 / 12 = 0.0042
Holm threshold for the smallest p
0.05 / 12 = 0.0042
Benjamini-Hochberg at q = 0.10
0.10 × 1/12 = 0.0083

p = 0.021 survives none of the three corrections. With twelve metrics there was a 46% chance of at least one result this significant with nothing happening at all.

Note that the smallest p-value faces the same threshold under Holm as under Bonferroni — Holm's advantage appears on the second and subsequent tests, not the first — so the choice of correction does not rescue this finding. What matters more is what was not counted: the twelve metrics are the ones that made the report, and any that were computed and quietly dropped belong in the denominator too. Return visits is now a hypothesis rather than a result, and it is a reasonable one for a recommendation module. The way to bank it is a follow-up experiment with return visits nominated as the single primary metric and powered for a 3% effect.

Common misconceptions

Our metrics are correlated, so multiple comparisons do not apply.
Correlation slows the inflation down; it does not remove it. Perfectly correlated metrics would be one test, and real metric sets are nowhere near that. Add-to-cart and purchase rate move together but not identically, so the family-wise rate still sits well above alpha — just below the independent-case formula.
Bonferroni is the standard correction, so it is the right one.
It is the best known, not the best. Holm's step-down controls the same family-wise error rate with uniformly more power, so it dominates Bonferroni outright. When you are screening rather than deciding, Benjamini-Hochberg controls a more appropriate target and stays usable at metric counts where family-wise control detects nothing at all.
We only corrected for the metrics in the final report.
The denominator is the number of comparisons the data had a chance to win, not the number that survived to the slide. Segments explored and abandoned, metrics computed and dropped, and interim looks all count. This is why deciding the analysis before the data exist is worth more than any correction applied afterwards.

Frequently asked questions

Should I use Bonferroni, Holm or Benjamini-Hochberg?
Holm whenever you would have used Bonferroni — it guarantees the same family-wise error rate with more power, so the choice is free. Benjamini-Hochberg when you are screening a large set of metrics and can accept that some fraction of your findings will be false, which is the realistic posture past about ten metrics. Bonferroni only when you need a threshold you can compute without a script.
Do guardrail metrics need a multiple comparisons correction?
Usually not, and correcting them is often actively harmful. Guardrails exist to catch harm, so the error you care about is missing a real regression, not raising a false alarm. Making the threshold stricter makes the guardrail less sensitive to exactly the thing it is there to detect. Most teams run guardrails uncorrected and accept the occasional false alarm as the cost of the protection.
Does a test with four variants count as multiple comparisons?
Yes — three variants against one control is three comparisons, and the family-wise rate rises accordingly. Dunnett's procedure is designed for exactly this shape and is more powerful than a general-purpose correction because it accounts for all comparisons sharing the same control arm. An overall ANOVA first, followed by pairwise tests only if it is significant, is the other standard route.
How many metrics is too many to test?
For deciding, one. For monitoring, as many as you find useful, provided none of them can declare a win on its own. The distinction is not about the count but about authority: a metric that cannot change the ship decision costs you nothing statistically, while a second metric that can has already doubled your exposure.

Related terms

  • Guardrail metric

    A metric that can veto a launch but never justify one, and why that asymmetry is the whole point.

  • P-value

    How surprising your data would be if there were no effect — and the four things it is constantly mistaken for.

  • Sequential testing

    How to look at a running test without breaking it — and what peeking costs when you do not.

  • Significance level

    The false-positive rate you agree to in advance — a budget, and one most teams overspend.

  • Type I error

    The false positive — and the one whose cost lands months later, on a roadmap built around noise.

Calculate it

  • One-way ANOVA

    Three or more independent groups on one continuous outcome — size it, then run the F test.

  • Chi-square test

    Test a contingency table of counts for association — any number of rows and columns.

  • A/B test sample size

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

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