Conditional vs. Marginal Odds Ratios: Why Your Logistic Regression May Be Lying to You
- Mayta
- Jun 27
- 2 min read
👩⚕️ The Situation
You’re analyzing your study: Did Drug A reduce the risk of infection compared to Drug B?
You run a logistic regression, adjust for age, sex, and comorbidities, and find an odds ratio (OR) of 2.5.
You interpret this as:
“Patients on Drug A are 2.5 times more likely to get infected.”
But here’s the twist:
❗ That OR isn’t the effect in your population. It’s the effect after adjusting for everything. And it doesn’t equal the overall population effect.
🔄 Meet the Two ORs
Type | What it really means | How you get it |
Conditional OR | Odds of outcome within covariate strata (e.g., same age, same sex) | Logistic regression (standard output) |
Marginal OR | Odds of outcome averaged across the population | Requires special methods (like G-computation or IPTW) |
🧠 Why They’re Not the Same
Logistic regression is “non-collapsible.”Even if there’s no confounding, the adjusted OR (conditional) is still different from the marginal one.
That’s like saying:
“Even if no one's cheating, your class average will still change when you adjust for who sat in the front row.”
📉 In simpler terms:
Conditional ORs are great for individual-level prediction.
Marginal ORs are needed for policy, public health, or "what if we changed the treatment for everyone?" questions.
🔬 Example
Suppose:
Risk of outcome in group A = 20%
Risk in group B = 10%
Risk Ratio (RR) = 2.0
Odds Ratio (OR) = 2.25
If you run logistic regression adjusting for a covariate, you might get:
Conditional OR = 3.0
But the Marginal OR (true population effect) is still 2.25
➡️ Your model overstates the effect.
✅ What Should You Do?
If you need population-level impact:
Use methods that recover marginal effects:
G-computation (simulate outcomes for all with and without exposure)
IPTW (reweight the sample like a pseudo-RCT)
Log-binomial or Poisson (with robust SEs) if estimating risk ratios instead
If you just want risk prediction for individuals:
Standard logistic regression is fine. But don’t interpret the OR as a population effect.
💡 TL;DR
Conditional OR ≠ Marginal OR — even without confounding!
Logistic regression gives conditional results.
If you're interested in what would happen to the population, you need extra steps.
📎 Bonus: Cheat Sheet
Model | Target Effect | Collapsible? | OK for Marginal? |
Logistic | Conditional OR | ❌ No | ❌ Needs correction |
Log-binomial | Risk Ratio | ✅ Yes | ✅ Yes |
Poisson (robust) | Risk Ratio (approx) | ✅ Yes | ✅ Yes |
Linear Probability | Risk Difference | ✅ Yes | ✅ Yes |
👋 Got data and want to try this out? I can walk you through how to code G-computation or compare OR vs RR on your own dataset.
Just say the word.
Would you like this exported as a Markdown or formatted Word doc for your blog CMS?
Comments