Benjamini–Hochberg FDR Calculator

The formula

BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R

What the false discovery rate tells you

When screening hundreds of hypotheses, BH caps the share of false findings among everything you call significant, instead of capping the chance of any single false positive.

Calculation: BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R. Enter your inputs and every substitution is shown below the result.

Reading the result

14 rejections at 10% FDR means you expect ~1.4 of them to be noise — a price most screens accept for 12 real hits.

Rules of thumb: Declare FDR (commonly 5–10%) and report expected false discovery counts

Limitations and best practice

Interpreting FDR as confidence in one specific finding; 10% FDR means 10% of the batch is fake, not that this hit has a 10% chance of being wrong.

This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.

Frequently asked questions

FWER or FDR — which to choose?
Discovery work (omics, ads screens) uses FDR; confirmatory regulatory claims use FWER. The question is the cost of a false alarm.
Does BH need independent tests?
The classic proof assumes independence or positive dependence; under arbitrary dependence use the Benjamini–Yekutieli variant.
Why not just use p < 0.05 on everything?
Screening 200 nulls at .05 expects 10 false positives with no cap on their share of your findings.

Source & methodology

Benjamini & Hochberg (1995), JRSS-B.

Benjamini–Hochberg FDR explained: formula, worked example and honest limits

This page was written for one job: turning your own inputs into a defensible figure, with the working shown. Benjamini–Hochberg FDR is the kind of number people argue about from memory. This page ends that argument with arithmetic you can watch happen: enter your figures, get BH critical p at rank 14 in real time, and see every substitution printed below.

The useful way to hold Benjamini–Hochberg FDR is as a ratio with a story attached: BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R says how the parts combine, and the 0.005 figure above is simply that sentence written in numbers. Everything that follows unpacks one clause of the sentence at a time.

What makes Benjamini–Hochberg FDR worth calculating is not precision but position: it tells you which side of a threshold you are on, and by how much. A rough figure that settles the direction beats an elaborate one that never commits.

What makes a calculation page trustworthy is that its copy is derived from its own arithmetic: here BH critical p at rank 14 = 0.005, recomputed every time a field changes, and the sensitivity section ranks the inputs that move the result — Total comparisons first, at ≈11.1 % of the headline for a ten-percent error either way in that input. Read the sections in order and you will be able to reproduce every figure by hand.

Inside the Benjamini–Hochberg FDR calculation: formula and every input

One formula, published in full: BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R. Anything you can read, you can reproduce in a spreadsheet, and that reproducibility is the whole point of printing it rather than hiding it behind a button.

Total comparisons (example value 285) is a plain measured quantity — the unit shown in the label is the unit the formula expects. Replace the example with the figure from your own records — the tool recomputes instantly and the printed steps follow your numbers.

Rejections at chosen threshold (example value 14) is a measured number in the unit named by the label; the formula does not convert for you. The example value is there to demonstrate the mechanics, not to describe your situation — overwrite it.

p-value at the boundary rank (example value 0) is a quantity rather than a category — precision here is cheap and worth having. If you are unsure what belongs in this field, look at the printed steps: the substitution shows exactly how the engine uses it.

Target FDR (example value 0) is a measured number in the unit named by the label; the formula does not convert for you. The example value is there to demonstrate the mechanics, not to describe your situation — overwrite it.

A fully worked Benjamini–Hochberg FDR example

Rather than describe the calculation, here it is end to end — every substitution in order, starting from the inputs above. Starting figures: Total comparisons, Rejections at chosen threshold, p-value at the boundary rank, Target FDR. The endpoint of that chain is 0.005 of BH critical p at rank 14, sitting in the “At this rank the boundary p qualifies — the cutoff line holds here” band.

  1. Quota at rank k: (k ÷ m) × Q = (14 ÷ 285) × 0.10 = 0.0049
  2. Compare sorted p(k) = 0.0035 against the quota
  3. Reject up to the largest rank where p ≤ quota, all lower ranks included

Expected false discoveries among rejections — 1.4. This is the number experienced users quote when the headline alone would mislead.

Expected true discoveries — 12.6. This is the number experienced users quote when the headline alone would mislead.

Per-rank quota spacing — 0.000. If your inputs change, this is usually the first companion figure to move.

Bonferroni comparison at this rank — 0.000. If your inputs change, this is usually the first companion figure to move.

Overwrite any input above and every line of this example updates with it — the substitution is live, not a screenshot of somebody else’s numbers.

Scenario table: Benjamini–Hochberg FDR at ±10 % and ±20 % of the key input

Single-point answers invite false confidence, so the same engine was run across a band around the input that matters most here. Each row is a full recalculation of Benjamini–Hochberg FDR, not an interpolation.

Total comparisons settingBH critical p at rank 14
80 % of the example value0.006
90 % of the example value0.005
example inputs0.005
110 % of the example value0.004
120 % of the example value0.004

The corridor runs from 0.004 to 0.006 across that band — which is the range worth planning inside rather than the single 0.005 point estimate. Reproduce it in the form above by editing Total comparisons alone; the substitution steps will follow your figures exactly.

Sensitivity: which inputs change Benjamini–Hochberg FDR the most

Nobody should have to guess which input matters. The engine was re-run once per field below — ten percent up, ten percent down, everything else frozen — and the results ranked by how far they moved the BH critical p at rank 14. For Benjamini–Hochberg FDR the ranking is measured rather than guessed, and it belongs to these defaults: shift the starting point and the order can shift with it.

  • Total comparisons: ten percent up gives 0.004, ten percent down gives 0.005 — ≈11.1 % of the BH critical p at rank 14 either way
  • Rejections at chosen threshold: ten percent up gives 0.005, ten percent down gives 0.004 — ≈10.0 % of the BH critical p at rank 14 either way
  • Target FDR: ten percent up gives 0.005, ten percent down gives 0.004 — ≈10.0 % of the BH critical p at rank 14 either way

Total comparisons is the dominant lever here: ten percent either way moves the result by about 11.1 %, from 0.004 to 0.005. Spend your verification effort there first, and treat Rejections at chosen threshold as the second priority (≈10.0 % per ten percent). The rest of the inputs earn only a rounding-error of attention, and that asymmetry is the practical payoff of measuring rather than asserting.

Is your Benjamini–Hochberg FDR good — reading the result bands

The value above only becomes useful the moment you know what it is being measured against. On the example inputs the band reads “At this rank the boundary p qualifies — the cutoff line holds here”; your own figures place you on a different rung of the same ladder. Before treating the band as fact, note its width: ten percent either way on Total comparisons already spans 0.004 to 0.005. The practical reading rules: compare against your own history before comparing against other people; treat band boundaries as zones, not walls — one point on the wrong side of a threshold rarely changes a real outcome; and when a companion output contradicts the headline, believe the pair.

The comparison worth making is not with somebody else’s Benjamini–Hochberg FDR but with the version of your own situation measured last quarter — same formula, same conventions, different inputs.

The errors that quietly break a Benjamini–Hochberg FDR figure

Interpreting FDR as confidence in one specific finding; 10% FDR means 10% of the batch is fake, not that this hit has a 10% chance of being wrong. This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.

Chasing precision in Rejections at chosen threshold while Total comparisons is still a guess. The sensitivity ranking above shows exactly where the accuracy budget should go.

This model has its own particular trap: Total comparisons carries ≈11.1 % of the response per ten percent of error, so effort spent elsewhere is largely decorative.

The subtlest error is answering the wrong question precisely. Confirm that BH critical p at rank 14 is actually the quantity your decision needs — the arithmetic is flawless either way, which is what makes the mistake invisible.

A quick check for any Benjamini–Hochberg FDR figure

  • Verify each input against its original source document, not memory.
  • Compare the output against one published benchmark or a colleague’s independent estimate.
  • Re-verify Total comparisons against a source document — ten percent of error there moves the headline by ≈11.1 %.
  • Re-run the calculation with a ±10 % stress on the two most sensitive inputs.
  • Recompute once with the dominant input deliberately set low, and see whether the decision changes.
  • Repeat the ±10 % test on the inputs that matter and see whether the decision — not just the number — still holds.

Step by step: getting a trustworthy Benjamini–Hochberg FDR out of this tool

The tool does the arithmetic; the routine below is what makes the arithmetic trustworthy. Five steps, a minute total — and afterwards you will know not just what the number is, but which assumption produced it.

Step 1 — start from evidence. The inputs behind Benjamini–Hochberg FDR are total comparisons, rejections at chosen threshold, p-value at the boundary rank, target fdr. Write them down with their source next to each one; if you cannot name where a figure came from, that is the input most likely to be wrong. Comparisons are cheap: run the identical calculation for the alternative and look at the gap.

Step 2 — baseline before exploration. Get one defensible BH critical p at rank 14 on screen before you start nudging numbers. Without a baseline, every variation looks interesting and none of them means anything. Estimates improve most when the worst case is written down in ink.

Step 3 — change one input at a time. Nudge a single field by ten percent, watch the headline and its companions move, then undo it. Two or three fields will dominate — the sensitivity table above already ranks them for this engine. A figure with a date beside it becomes evidence; without one it stays an anecdote.

Step 4 — run the scenario trio. Expected, pessimistic, optimistic. The gap between pessimistic and expected is the number to plan against; the optimistic result is useful only as a ceiling. Half of a good calculation is knowing which input you would hate to be wrong about.

Step 5 — save the story with the figure. A number without its inputs and its date is unusable within a quarter. Record 0.005, the assumptions behind it, and today’s date; your future self will be auditing a stranger’s arithmetic. The input you reach for first is usually the one you measured longest ago.

Who actually uses Benjamini–Hochberg FDR — and when

Most Statistics & Data Science disagreements are arithmetic disagreements in disguise. When BH critical p at rank 14 of 0.005 sits on the table with its working shown, the conversation stops being about who sounds more confident and starts being about which input is wrong. A figure nobody can reproduce is a figure nobody will act on twice.

Professionals in Statistics & Data Science use this style of calculation as a screening filter before spending real money or effort: a quick Benjamini–Hochberg FDR check eliminates weak options in minutes, and the survivors earn the deeper, slower analysis. Write the figure down before moving on; memory flatters whichever number you saw last.

There is a personal-administration use people overlook: periodic self-checking. Benjamini–Hochberg FDR quietly drifts as life changes — rates move, bodies change, costs compound — and re-running it a few times a year catches drift while correction is still cheap. One decimal place more than your data supports is one decimal place of fiction.

Benjamini–Hochberg FDR — frequently asked questions

What affects Benjamini–Hochberg FDR the most?

The short answer: Total comparisons. The longer answer is the sensitivity table on this page, where every numeric input was probed by ten percent and the BH critical p at rank 14 recalculated — Total comparisons moved it furthest, by roughly 11.1 % (0.004 to 0.005).

Which matters more: rejections at chosen threshold or total comparisons?

Total comparisons, by a factor of about 1.1. Concretely: ten percent on Total comparisons is worth ≈11.1 % of Benjamini–Hochberg FDR, the same nudge on Rejections at chosen threshold only ≈10.0 %. That ranking is re-computed for each page from that page’s own defaults.

What is a typical Benjamini–Hochberg FDR?

On the worked example above Benjamini–Hochberg FDR comes out at 0.005. Treat that as one point on a distribution rather than a norm: the bands, the companion outputs and the sensitivity ranking tell you how wide the plausible range really is.

How do I calculate Benjamini–Hochberg FDR by hand?

BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R is the entire method. Work the inputs in that order — Quota at rank k: (k ÷ m) × Q = (14 ÷ 285) × 0.10 = 0.0049 — and you will reach 0.005 on the default figures, the same number this tool prints.

What happens to Benjamini–Hochberg FDR if total comparisons changes by 10 %?

The engine was re-run with that field moved by ten percent while everything else stayed fixed: the BH critical p at rank 14 goes across 0.004 to 0.005, a swing of roughly 11.1 % around the 0.005 baseline. That ratio is the practical definition of how much this input matters.

Is the Benjamini–Hochberg FDR result of 0.005 good or bad?

Neither, on its own — the label “At this rank the boundary p qualifies — the cutoff line holds here” is the band this figure falls in for the example inputs, and your own inputs will place you elsewhere on the same ladder. Judge the number against your history and your alternatives, and remember that a ten-percent error in Total comparisons alone moves it by ≈11.1 %.

What affects Benjamini–Hochberg FDR the most?

Sensitivity depends on where you start, but the inputs Total comparisons and Rejections at chosen threshold typically move Benjamini–Hochberg FDR further than the rest because they enter the formula multiplicatively. If you can only measure two things well, measure those and hold the others at conservative defaults.

How many significant figures are reliable in Benjamini–Hochberg FDR?

About as many as your least precise input. The tool computes at full precision and displays rounded output; report 0.005 to a decimal place your inputs can actually support.

FWER or FDR — which to choose?

Discovery work (omics, ads screens) uses FDR; confirmatory regulatory claims use FWER. The question is the cost of a false alarm.

Does BH need independent tests?

The classic proof assumes independence or positive dependence; under arbitrary dependence use the Benjamini–Yekutieli variant.

Do I need an account to use this Benjamini–Hochberg FDR calculator?

No, and no data leaves the tab. The engine runs in the page itself, which is why the worked example, the bands and the sensitivity ranking all respond instantly to your keystrokes.

What the labels on this page mean

Expected false discoveries among rejections
1.4 in the default Benjamini–Hochberg FDR calculation — one of the secondary figures an experienced reader checks before trusting the primary number.
Expected true discoveries
12.6 on the example inputs — a companion figure printed beside the headline of Benjamini–Hochberg FDR so that no result is read in isolation.
Per-rank quota spacing
0.000 on the example inputs — a companion figure printed beside the headline of Benjamini–Hochberg FDR so that no result is read in isolation.
BH critical p at rank 14
The primary output of this tool: 0.005 for the default inputs, computed exactly from BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R.
Worked example
The step-by-step substitution printed above, so the arithmetic can be re-derived by hand or in a spreadsheet.
Verdict band
The interpretation attached to a result (“At this rank the boundary p qualifies — the cutoff line holds here” on these inputs), which turns a bare number into a position on a scale.
Sensitivity (±10 %)
How far the Benjamini–Hochberg FDR moves when a single input is nudged ten percent either way; the ranked list on this page is computed live from this engine.

Methodology, sources and limits

There is no black box on this page — the engine evaluates BH critical value at rank k = (k ∕ m) × Q; expected false discoveries ≈ Q × R. Source of record: Benjamini & Hochberg (1995), JRSS-B. Specialist software layers extra coefficients on top of the same algebra; none are hidden here, and that transparency is what makes a disagreement traceable to a specific input instead of a black box.

Treat the output as a precise answer to the question you typed: exact arithmetic, transparent formula, published source, no hidden rounding. The promise to the reader is narrow and testable: same inputs, same output, no silent rounding, and no figure presented without the formula that produced it.

Turning this Benjamini–Hochberg FDR into a decision

Save the number together with its inputs and today’s date; a Benjamini–Hochberg FDR figure without context is unusable the moment an input changes.

The audience here is people who need one trustworthy number before their next decision. Everything you need to defend the result — formula, substitution, sensitivity, source — is printed above, so the only remaining variable is the honesty of your inputs.