You run a regression. You list your exposure of interest, you list your covariates, you fit the model, and out comes a tidy table with a coefficient for every variable. The exposure has its row. Age has a row. Sex, smoking status, comorbidities — each gets a row, each gets a number, each gets a confidence interval and a star or two.
The temptation, almost universal, is to read the whole column as if every row were the causal effect of that variable on the outcome. The exposure was adjusted for the covariates, so why would the covariates not be adjusted for the exposure? Why would they be different in kind?
This is the Table 2 fallacy, named by Westreich and Greenland in 2013 for the place it most often hides1: in the second numbered table of a paper, where the “fully adjusted” model lives. The argument is short, and once you have seen it you will see it everywhere.
The setup
Suppose we want to estimate the effect of HIV infection on the risk of stroke, using observational cohort data. We know — or assume — that smoking is associated with both (it makes HIV-positive people more likely to be smokers, and it raises stroke risk independently). We adjust for smoking. We also adjust for age, because older participants are both more likely to have been HIV-positive long enough for sequelae and more likely to stroke.
The DAG below is the canonical Westreich–Greenland example. HIV is the exposure. Stroke is the outcome. Smoking sits between HIV (which, plausibly, raises smoking via the social patterning of HIV in the cohort) and stroke. Age is a confounder of the HIV → stroke effect, and also of smoking → stroke.
Two coefficients, two estimands
Now look at the smoking row of the same regression. The smoking coefficient is the effect of smoking on stroke, conditional on HIV and age. But the right adjustment set for the smoking → stroke effect is not the same as the right adjustment set for the HIV → stroke effect. For smoking, HIV is a cause of the exposure (smoking), not a confounder; conditioning on HIV is unnecessary at best, and — if HIV affects stroke through unmeasured pathways shared with smoking — actively introduces collider bias2.
So the same model, in the same column of the same table, is producing one number that is (let’s say) a reasonable estimate of one effect, and another number that is an estimate of nothing in particular. The reader has no way to tell them apart.
| Variable | β̂ | 95% CI | Reads as… |
|---|
What the textbook gets right, and what it can’t
Most epidemiology textbooks teach you to draw a DAG, identify confounders for the exposure–outcome relationship, and adjust for them. We do this in Epidemiology Matters. What is harder to convey on a page — and what the Table 2 fallacy turns on — is that the right adjustment set is a property of an exposure–outcome pair, not of the data. A regression conditions on every covariate at once. Each coefficient inherits an adjustment set whether or not that set was chosen for it.
The standard fix, when authors think about it at all, is a footnote: “Coefficients for covariates should not be interpreted causally.” Westreich and Greenland call this the table’s fig leaf. Readers ignore it. Reviewers ignore it. The number is on the page, and the number gets cited.
Walk through the bias
The scrollytelling figure below builds the bias one step at a time. Scroll the panel on the right; the DAG on the left updates to show the path being created or blocked at each step.
Step 1 · The question
We want the total effect of HIV on stroke. That is one well-defined quantity: how much would population stroke risk change if HIV prevalence changed?
Step 2 · Identify confounders
Age confounds the HIV → stroke relationship. We adjust. Good.
Step 3 · Add a mediator by mistake
Smoking lies on a path from HIV to stroke. Adjusting for it removes part of the HIV effect we wanted to estimate. The HIV coefficient is no longer the total effect — it is a controlled direct effect.
Step 4 · Read the smoking row
The smoking coefficient is the effect of smoking on stroke, conditional on HIV and age. But HIV is upstream of smoking. Adjusting for it doesn’t help; it can hurt.
Step 5 · The fallacy
Reporting both rows as if they were causal effects is the Table 2 fallacy. They are answers to different questions, fit by the same model, presented as if they were equivalent.
Step 6 · The fix
State your estimand. Pick the adjustment set for that estimand. If you want effects for several exposures, run several models — or fit one model and report only the row you can defend.
What to do instead
The remedy is unglamorous and well known: be explicit about the estimand, draw the DAG, and pick the minimum sufficient adjustment set for the specific exposure–outcome pair you care about. If you want effects for multiple exposures, fit multiple models — one per estimand — each with its own adjustment set. Or fit one model and report only the row whose interpretation you can actually defend, with the rest as nuisance parameters explicitly labeled as such3.
This is more work than printing one fully-adjusted table. It also turns out, in practice, to clarify what the analysis is for. Many studies that present six causal-looking coefficients are really designed for one. The fallacy hides that fact from the reader and, often, from the author.