Risk Ratio, Odds Ratio, Risk Difference and NNT: One 2×2 Table, Four Answers

On this page
อ่านฉบับภาษาไทย (Thai version)
Abstract
Risk ratio, odds ratio, risk difference and number needed to treat (NNT) answer different questions from the same event table. Start with a defined outcome and a shared follow-up period. Our illustrative randomized comparison then separates relative effects from absolute changes in risk. The odds ratio moves further from no effect when events become common. A confidence interval keeps the uncertainty visible, including results compatible with harm. When the risk difference crosses no effect, the NNT interval separates into benefit and harm branches. A second example shows why pooling balanced risk groups changes the odds ratio without confounding. This is a property of the measure, not evidence that randomization failed. For economic evaluation, combine a defensible relative effect with the target population's baseline risk. That step produces event probabilities and expected events prevented. Keep the outcome, comparator and horizon aligned throughout. Carry uncertainty into the decision instead of treating a point estimate as a guaranteed benefit.
Start with people and follow-up
Risk is the proportion of people who experience an event within a stated period. Odds divide that probability by the probability of no event. Both need a defined outcome. Let $p_t$ and $p_c$ denote treated and control risks.
Our illustrative randomized comparison follows everyone for one year. The treated group has 8 events among 66 people; the control group has 13 among 60. Assume complete follow-up and an undesirable event.
Population risks cannot usually be read from the row totals of a case-control sample. The investigator chose how many controls to include. See [[study-design-estimand-and-effect-measures]] for how sampling changes what we can estimate.
Our illustrative event table
| Group | Event | No event | Total | Risk |
|---|---|---|---|---|
| Treated | 8 | 58 | 66 | 12.12% |
| Control | 13 | 47 | 60 | 21.67% |
Ask what each measure answers
The risk ratio compares event probabilities: $RR=p_t/p_c$. The odds ratio compares event odds: $OR=[p_t/(1-p_t)]/[p_c/(1-p_c)]$. Both are relative effects with a null value of 1. Neither tells a clinic how many events it should expect without baseline risk, the control event probability.
Risk difference subtracts probabilities: $RD=p_t-p_c$. A negative RD favours treatment when the event is undesirable. Absolute risk reduction is $ARR=-RD$ under that convention. NNTB, the number needed to treat for benefit, is $1/ARR$ when ARR is positive.
NNT is an expected average across comparable people, not a promise about the next patient. Its interpretation also requires a causal effect and a stated horizon. Longer follow-up can change event risks even when the treatment is unchanged. Carry the outcome, comparator, population and horizon whenever you report NNT.
Four answers from the same people
Use full precision in the calculation, then round for reporting. The confidence intervals below use independent binomial groups and normal approximations.
-
Compare risks
\[ RR=\frac{8/66}{13/60} \]
RR 0.559; 95% CI 0.249 to 1.256; Wald p = 0.159.
-
Compare odds
\[ OR=\frac{8/58}{13/47} \]
OR 0.499; 95% CI 0.191 to 1.304.
-
Subtract risks
\[ RD=8/66-13/60 \]
RD -9.55 percentage points; 95% CI -22.61 to 3.52.
-
Invert the absolute benefit
\[ NNTB=\left\lceil\frac{1}{13/60-8/66}\right\rceil \]
NNTB is 11 people over one year, rounded upward.
Result: The point estimates suggest benefit, but the intervals also permit harm.
These illustrative estimates are not evidence for a particular treatment.
Keep uncertainty beside the estimate
A confidence interval describes sampling uncertainty under an assumed model. Here RR and OR intervals use a normal approximation on the logarithmic scale. The RD interval uses the unpooled binomial standard error, which measures repeated-sample variation.
The Wald p-value compares the log RR with its standard error under no effect. It is not the probability that treatment works. These approximate methods need care with small or empty cells.
The RD interval crosses zero, so its reciprocal splits into two branches. The 95% NNT interval is NNTB 4.42 to infinity and NNTH 28.42 to infinity. NNTH means the number treated per additional harmful event; a negative NNT would hide the change in direction [1].
# Illustrative independent binomial groups, one-year follow-up. Writes: stdout only.
show <- function(label,x,d=3) for (key in names(x)) cat(label,key,formatC(x[key],d,format="f"),"\n")
risk <- c(treated=8/66, control=13/60)
z <- qnorm(c(estimate=0.5, lower=0.025, upper=0.975))
rr <- risk[[1]]/risk[[2]]; rr_se <- sqrt(1/8-1/66+1/13-1/60)
rd <- risk[1]-risk[2] + z*sqrt(sum(risk*(1-risk)/c(66,60)))
show("Risk (%)", 100*risk, 2)
show("RR", exp(log(rr)+z*rr_se))
show("OR", exp(log(8*47/(58*13))+z*sqrt(1/8+1/58+1/13+1/47)))
show("RD (percentage points)", 100*rd, 2)
show("NNT", c(benefit=ceiling(-1/rd[[1]]), benefit_lower=-1/rd[[2]], harm_lower=1/rd[[3]]), 2)
show("Wald p", c(RR=2*pnorm(-abs(log(rr)/rr_se))))
Risk (%) treated 12.12
Risk (%) control 21.67
RR estimate 0.559
RR lower 0.249
RR upper 1.256
OR estimate 0.499
OR lower 0.191
OR upper 1.304
RD (percentage points) estimate -9.55
RD (percentage points) lower -22.61
RD (percentage points) upper 3.52
NNT benefit 11.00
NNT benefit_lower 4.42
NNT harm_lower 28.42
Wald p RR 0.159
Why odds and risks separate
For a protective effect, the odds ratio lies further below no effect than the risk ratio. Holding RR fixed makes that gap grow as baseline risk rises. Rare events make odds resemble risks, but rarity must hold within relevant strata.
The exact crude-table conversion is $RR=OR/(1-p_c+p_c OR)$. It uses the same population and horizon. Combining an adjusted OR with an overall baseline risk need not recover the marginal RR [3].
For adjusted estimates, use a suitable risk model or standardization. Standardization averages predicted risks under each treatment across the same target population. Modified Poisson regression with robust standard errors can estimate RR directly [2,4].
A different pooled OR need not mean confounding
Non-collapsibility means a pooled effect can differ from the within-stratum effect even without confounding. A stratum is a group sharing a characteristic, such as baseline risk. A conditional effect compares within strata; a marginal effect compares average risks across the population [3].
Our illustrative randomized groups contain equal shares of low-risk and high-risk people. Control risks are 20.00% and 80.00%. Set the within-stratum OR to 0.500 in both strata.
The treated risks are 11.11% and 66.67%. Their stratum RRs are 0.556 and 0.833. Averaging risks first gives a pooled OR of 0.636 and RR of 0.778.
Randomization balances the risk mix, yet the conditional and marginal ORs differ. A change after adjustment therefore does not measure confounding by itself. Align the estimand, meaning the effect you want to estimate, before pooling studies.
# Illustrative baseline risks and equally weighted randomized strata. Writes: stdout only.
show <- function(label,x,d=3) for (key in names(x)) cat(label,key,formatC(x[key],d,format="f"),"\n")
rr <- (8/66)/(13/60); baseline <- c(low=0.01, example=13/60, high=0.60)
show("Baseline risk (%)", 100*baseline, 2)
show("Curve OR", rr*(1-baseline)/(1-rr*baseline))
control <- c(low=0.20, high=0.80); treated <- 0.5*control/(1-control+0.5*control)
show("Control risk (%)", 100*control, 2); show("Treated risk (%)", 100*treated, 2)
show("Within-stratum RR", treated/control)
pooled <- c(control=mean(control), treated=mean(treated))
show("Pooled risk (%)", 100*pooled, 2)
show("OR", c(within=0.5, pooled=(pooled[[2]]/(1-pooled[[2]]))/(pooled[[1]]/(1-pooled[[1]]))))
show("Pooled RR", c(estimate=pooled[[2]]/pooled[[1]]))
Baseline risk (%) low 1.00
Baseline risk (%) example 21.67
Baseline risk (%) high 60.00
Curve OR low 0.557
Curve OR example 0.499
Curve OR high 0.337
Control risk (%) low 20.00
Control risk (%) high 80.00
Treated risk (%) low 11.11
Treated risk (%) high 66.67
Within-stratum RR low 0.556
Within-stratum RR high 0.833
Pooled risk (%) control 50.00
Pooled risk (%) treated 38.89
OR within 0.500
OR pooled 0.636
Pooled RR estimate 0.778
Figure values as tables
| Control risk | RR | OR |
|---|---|---|
| 1.00% | 0.559 | 0.557 |
| 21.67% | 0.559 | 0.499 |
| 60.00% | 0.559 | 0.337 |
| Group | Control risk | Treated risk | OR | RR |
|---|---|---|---|---|
| Low risk | 20.00% | 11.11% | 0.500 | 0.556 |
| High risk | 80.00% | 66.67% | 0.500 | 0.833 |
| Pooled | 50.00% | 38.89% | 0.636 | 0.778 |
Turn relative effects into model inputs
An economic model needs absolute event probabilities. If a causal RR applies to the target population, use $p_t=p_c RR$ and $ARR=p_c(1-RR)$. A lower baseline risk gives a smaller absolute benefit and a larger NNT for the same RR [5].
Expected events prevented equal the eligible population multiplied by ARR. Check the population, treatment delivery, outcome and horizon before transferring an effect. Costs and health outcomes then determine the economic consequences.
Probabilistic sensitivity analysis (PSA) propagates uncertain model inputs into uncertain results. A lognormal RR represents uncertainty with a normal distribution for its logarithm. Carry baseline-risk uncertainty too, and avoid combinations that produce impossible probabilities. PSA does not remove bias [5].
Practise with econclinicalepidem, checking the outcome horizon and interval method. Continue with [[evidence-pyramid-versus-grade-certainty]] and [[icer-dominance-ce-plane-and-thresholds]].
Errors that change the decision
-
Treating OR as a risk multiplier
This exaggerates protection when events are common.
Fix: Convert compatible crude odds with the baseline risk, or standardize adjusted predictions.
-
Removing uncertainty because the test is inconclusive
Setting an uncertain effect to no effect discards plausible benefit and harm.
Fix: Carry the estimated sampling distribution and examine its decision consequences.
-
Copying an NNT to another population
Different baseline risks produce different absolute gains.
Fix: Recalculate absolute risks for the target population and the same horizon.
Glossary
- Baseline risk (ความเสี่ยงพื้นฐาน)
- The comparator event probability in the target population over the stated horizon.
- Percentage point (จุดร้อยละ)
- The unit obtained by subtracting risks expressed as percentages; it is an absolute difference.
- NNTB / NNTH (จำนวนที่ต้องรักษาเพื่อประโยชน์ / โทษ)
- Reciprocals of beneficial or harmful absolute risk changes, tied to an outcome and horizon.
- Non-collapsibility (การที่ค่ารวมต่างจากค่ารายชั้น)
- A conditional and marginal effect measure can differ despite the absence of confounding.
- Standardization (การปรับมาตรฐาน)
- Average predicted risks under each treatment over the same target population.
- PSA (การวิเคราะห์ความไวเชิงความน่าจะเป็น)
- Propagate distributions for uncertain parameters through the economic model.
References
- Altman DG. Confidence intervals for the number needed to treat. BMJ. 1998;317(7168):1309-1312. doi:10.1136/bmj.317.7168.1309
- Zou G. A modified Poisson regression approach to prospective studies with binary data. Am J Epidemiol. 2004;159(7):702-706. doi:10.1093/aje/kwh090
- Greenland S. Model-based estimation of relative risks and other epidemiologic measures in studies of common outcomes and in case-control studies. Am J Epidemiol. 2004;160(4):301-305. doi:10.1093/aje/kwh221
- Muller CJ, MacLehose RF. Estimating predicted probabilities from logistic regression: different methods correspond to different target populations. Int J Epidemiol. 2014;43(3):962-970. doi:10.1093/ije/dyu029
- Briggs A, Claxton K, Sculpher M. Decision Modelling for Health Economic Evaluation. Oxford: Oxford University Press; 2006. ISBN 9780198526629
The series, in learning order
- Health Economics Series Guide: Read the Evidence Before the Costs
- Incidence, Prevalence and the Right Denominator: The Epidemiology Beneath Cost-of-Illness and Markov Models [[incidence-prevalence-and-the-right-denominator]]
- Design, Model and Estimand: What Each Study Design Can Actually Estimate [[study-design-estimand-and-effect-measures]]
- Risk Ratio, Odds Ratio, Risk Difference and NNT: One 2×2 Table, Four Answers (this article)
- The Hazard Ratio Is Not a Risk Ratio: Proportional Hazards, Restricted Mean Survival Time and Model Inputs
- Chance, Bias and Confounding: Why an Association Is Not Yet a Treatment Effect
- Beyond the Evidence Pyramid: GRADE Certainty and Choosing Effectiveness Inputs for Economic Models
- From Sensitivity to Cost per Case Detected: Predictive Values, Prevalence and the Economics of Screening
- Whose Cost, in Which Year? Perspective, Opportunity Cost, Inflation and Discounting
- QALY, DALY and the Utilities Behind Them: What Is Actually Being Measured
- ICER, Dominance and the Cost-Effectiveness Plane: Reading the Thai Threshold of 160,000 Baht per QALY
- Decision Trees, Markov Cohorts and Probabilistic Sensitivity Analysis: How a Model Turns Evidence into a Decision
- Cost-Effective Is Not Affordable, and Efficient Is Not Fair: Budget Impact and Equity
Key takeaways
- Report relative effects alongside absolute risks and a stated horizon.
- An NNT interval spanning no effect has separate benefit and harm branches.
- A conditional OR can differ from a marginal OR without confounding.
- Combine a defensible relative effect with local baseline risk, then carry uncertainty into the model.
Related in the wiki: Getting a Risk Ratio for a Common Outcome: The Step-Down When Log-Binomial Hits the Wall · Pooling 95% Confidence Intervals and Effect Sizes: Fixed-effect, Random-effects, Bootstrap, or Rubin's Rules?