Number Needed To Treat Calculator
The decision translation: how many patients at this risk difference before one event is prevented? NNT = 1/ARR, rounded UP because a fraction of a patient is not a patient — with NNH framing when the treatment harms and the reciprocal-pair interval.
Number Needed To Treat Calculator
Results recalculate instantly on every keystroke. Nothing you type is transmitted.
What this result does not account for
- Two risks and two sizes — no time-to-event or meta-analysis weighting
- ARR interval crossing zero sends the NNT interval through unbounded width (stated, not clipped)
In short: Treated risk 20%, control risk 35% (n = 100 per arm): the absolute risk reduction is 0.35 − 0.20 = 0.15, so NNT = 1/0.15 = 6.666667 → 7 patients treated before one extra event is prevented — rounded up, because a fraction of a patient is not a patient. The 95% interval: ARR CI (0.027993, 0.272007), so the NNT interval is its reciprocal pair reversed — (3.676379, 35.722928). Flip the risks and the same machinery prints NNH: 7 treated per harm caused. The refusals carry the doctrine: ARR = 0 has nothing to count, and an ARR interval crossing zero means the NNT interval reaches unbounded width — the page says so instead of hiding it.
Formula
ARR = p₂ − p₁ · NNT = 1/ARR · SE(ARR) = √(p₁q₁/n₁ + p₂q₂/n₂)
The NNT interval is the ARR interval’s reciprocal pair, reversed — the tighter ARR edge becomes the larger NNT edge. When the ARR interval crosses zero, the NNT interval reaches through unbounded width, and the page prints exactly that.
Worked Example
- Give both event rates (percent) and the two arm sizes.
- Read the ARR, then NNT rounded up — the ceiling is doctrine, not fussiness.
- Check the direction card: ARR above 0 benefits, below 0 harms (NNH).
- Read the interval on BOTH scales; a span crossing ARR = 0 changes the sentence you may say.
Defaults: ARR 0.15, NNT 6.666667 → 7 (rounded up), ARR CI (0.027993, 0.272007), NNT CI (3.676379, 35.722928). Reversed risks → NNH 7. ARR = 0 refused; equal risks are refused as “nothing to count”.
Strengths & Limits Of This Model
Where this engine is strong
- Rounded-up NNT with the raw reciprocal printed beside
- NNH framing and the unbounded-span boundary named rather than hidden
Where it stops
- No adjustment for baseline-risk variation across populations
- No censored-data (survival) NNT
Practical Use Cases
Clinical
treat-how-many-before-it-matters
Formulary
comparing NNTs across options
Teaching
why the reciprocal interval inverts
Methodology & Editorial Standards
Computation runs in IEEE-754 double precision at full internal precision; rounding to two decimal places occurs strictly at the display layer, so no cumulative drift enters the result. All monetary outputs use accounting presentation — grouped thousands, two decimals, negatives in parentheses — so figures can be transcribed directly into a model or working paper. Division-by-zero and out-of-domain inputs return an em-dash rather than a misleading number.
This engine was reconciled against an independent reference implementation and hand-verified for the worked example above before release. Our full five-stage review process is published on the About Us page.
Disclaimer. This calculator is provided for informational and modelling purposes only and does not constitute financial, tax, legal, medical, or engineering advice. Verify all figures with a qualified professional before acting on them.
Number Needed To Treat Calculator — 8 Expert FAQs
8 analyst-written answers to the questions practitioners actually ask — optimised for voice and answer-engine retrieval.
Why round NNT up?
Because the unit is PATIENTS. An NNT of 6.666667 means six patients are not enough and seven are needed — the ceiling is the only honest reading. Rounding to 6 would promise an event prevented that the arithmetic does not buy; the page prints the raw 6.666667 beside the ceiling so both are visible.
What does NNT = 7 actually promise?
That at THESE two risks, treating 7 patients yields one fewer event than not treating them, on average. It compresses the risk difference into a count — which is why it moves when either arm’s baseline risk moves, and why an NNT from one population must be re-derived before it is quoted in another.
When does NNT become NNH?
When the treatment raises the event rate: ARR below zero flips the card to Number Needed To Harm — reverse the default risks and 7 patients are treated per harm caused. Same arithmetic, opposite duty: the page names the direction rather than letting the sign do silent work.
Why is the NNT interval reversed from the ARR’s?
Reciprocity flips order: the ARR interval’s LOW edge gives the LARGEST NNT and vice versa. On the defaults, ARR CI (0.027993, 0.272007) becomes NNT CI (3.676379, 35.722928) — the upper NNT edge is huge because the lower ARR edge is tiny, which is the honest shape of uncertainty around a ratio.
What if the ARR interval crosses zero?
Then the NNT interval contains a stretch through unbounded width: the data cannot even settle the direction. The page prints that sentence instead of two tidy numbers — an interval through unbounded span is a real result, and hiding it is how weak trials get quoted as strong ones.
Why is ARR = 0 refused?
Because NNT = 1/0 asks how many patients per prevented event when no event is prevented — the question has no answer. Equal risks mean the treatment did nothing measurable here; the page says so and refuses to dress the nothing as a count.
Can I compare NNTs across studies?
Only with care: NNT inherits both arms’ baseline risks, so the same drug yields different NNTs in high-risk and low-risk populations. Within one trial, comparisons are fair; across trials, re-derive from the risks you actually have — this page is the re-derivation machine.
Why percentages in, but ARR out as a decimal?
The fields are what you read off a paper (event rates in percent); the ARR prints as a decimal because it is about to be inverted, and 1/0.15 must not first wobble through a percent sign. Both scales of every card stay visible so the conversion chain — percent, difference, reciprocal — can be audited line by line.