Bonferroni Correction Calculator
Calculate Bonferroni, Šidák, Holm, and Benjamini-Hochberg corrections for multiple comparisons. Adjust p-values and control familywise error rate.
About
Running multiple statistical tests on the same dataset inflates Type I error rate exponentially. With 20 independent tests at α = 0.05, the probability of at least one false positive reaches 1 − (1 − 0.05)20 ≈ 0.64. The Bonferroni correction divides the significance threshold α by the number of comparisons m, controlling the familywise error rate (FWER) at the cost of statistical power. This tool implements four correction methods: classical Bonferroni, the less conservative Šidák correction, the step-down Holm-Bonferroni procedure, and the Benjamini-Hochberg procedure for false discovery rate control. Each method trades off between Type I and Type II error differently.
Misapplying corrections leads to two costly outcomes: no correction inflates false discoveries in genomics, neuroimaging, or A/B testing; over-correction with Bonferroni on correlated tests masks true effects. This calculator flags which hypotheses survive each method, letting you compare power loss across approaches. Note: all methods assume independent or positively dependent tests. For strongly correlated test statistics, consider permutation-based methods not covered here.
Formulas
The Bonferroni correction adjusts the significance level to maintain the familywise error rate (FWER) at or below a desired α. The adjusted threshold is:
A hypothesis Hi is rejected if pi ≤ αadj. The Šidák correction provides a tighter bound for independent tests:
The Holm-Bonferroni step-down procedure sorts p-values in ascending order p(1) ≤ p(2) ≤ … ≤ p(m) and rejects H(i) while:
The Benjamini-Hochberg procedure controls the false discovery rate (FDR). It sorts p-values ascending and finds the largest k such that:
All hypotheses H(1), …, H(k) are then rejected.
Where: α = nominal significance level (typically 0.05), m = total number of comparisons (hypotheses tested), pi = observed p-value for test i, i = rank of sorted p-value.
Reference Data
| Method | Controls | Adjusted Threshold | Power | Assumption | Best For |
|---|---|---|---|---|---|
| Bonferroni | FWER | α ÷ m | Lowest | Any dependence | Small m, strict control |
| Šidák | FWER | 1 − (1 − α)1m | Slightly higher | Independent tests | Independent tests, moderate m |
| Holm-Bonferroni | FWER | α ÷ (m − i + 1) | Higher than Bonferroni | Any dependence | General use, uniformly more powerful |
| Benjamini-Hochberg | FDR | im × α | Highest | Independent or PRDS | Large m, exploratory research |
| Bonferroni (m=5, α=0.05) | FWER | 0.01 | - | - | Example threshold |
| Bonferroni (m=10, α=0.05) | FWER | 0.005 | - | - | Example threshold |
| Bonferroni (m=20, α=0.05) | FWER | 0.0025 | - | - | Example threshold |
| Bonferroni (m=50, α=0.05) | FWER | 0.001 | - | - | Example threshold |
| Bonferroni (m=100, α=0.05) | FWER | 0.0005 | - | - | Example threshold |
| Bonferroni (m=1000, α=0.05) | FWER | 0.00005 | - | - | Genomics scale |
| Bonferroni (m=20000, α=0.05) | FWER | 2.5 × 10−6 | - | - | GWAS standard |
| Uncorrected | Per-comparison | α | Maximum | Single test | Single hypothesis only |
| FWER at m tests | - | 1 − (1 − α)m | - | Independent | Calculating inflation |
| Genome-wide significance | FWER | 5 × 10−8 | - | ~106 independent SNPs | GWAS convention |
| Suggestive significance | FWER | 1 × 10−5 | - | - | GWAS follow-up |