Plümper & Troeger · Political Analysis 27(1): 21–45 (2019)
2026-07-27
The fixed-effects (FE) estimator is widely regarded as a safe default for panel data analysis. This paper argues it is not.
Under conditions routinely found in political science data, FE:
The FE estimator controls for time-invariant unobserved heterogeneity by removing between-unit variation (the “within” transformation):
\tilde{y}_{it} = \beta\,\tilde{x}_{it} + \tilde{\varepsilon}_{it}
where \tilde{z}_{it} = z_{it} - \bar{z}_i.
Key virtue: if unit effects u_i are correlated with regressors, OLS is biased but FE is unbiased — provided the model is otherwise correctly specified.
“Under a strict exogeneity assumption on the explanatory variables, the fixed-effects estimator is unbiased.” — Wooldridge (2002)
Strict exogeneity requires that no time-varying covariate is omitted and that dynamics are correctly modelled.
In political science panels this assumption is frequently violated because:
P&T’s claim: violating strict exogeneity hurts FE more than it hurts OLS.
| Source | Harms OLS? | Harms FE? |
|---|---|---|
| Omitted time-invariant variable correlated with x | ✔ Yes | ✗ No (removed by within transform) |
| Omitted time-varying variable / dynamic misspecification correlated with within variation of x | ✔ Yes | ✔ Yes — and more severely |
The problem: FE solves the first issue at the cost of concentrating all identification in within variation, making it maximally exposed to the second issue.
True DGP: y_{it} = \alpha_1 x_{it} + \alpha_2 w_{it} + u_i + \varepsilon_{it}
Omit w_{it}, where w_{it} = \gamma_1 \ddot{x}_{it} + \gamma_2 \bar{x}_i + \omega_{it}
(\gamma_1 = correlation with within variation; \gamma_2 = correlation with between variation)
\text{Bias}(\hat{\alpha}_{1,\text{OLS}}) = \frac{\gamma_1 \sum\ddot{x}^2 + T\gamma_2\sum\bar{x}^2 + \delta_1 T\sum\bar{x}^2}{\sum\ddot{x}^2 + T\sum\bar{x}^2}
\text{Bias}(\hat{\alpha}_{1,\text{FE}}) = \gamma_1
FE bias equals \gamma_1 regardless of \delta_1 (correlation with unit effects). FE is more biased than OLS whenever the within correlation \gamma_1 dominates.
True DGP: y_{it} = \beta x_{it-1} + u_i + \varepsilon_{it}
Estimated (incorrectly) as: y_{it} = \beta x_{it} + \varepsilon_{it}
The probability limit of the FE estimator is:
\text{plim}(\hat{\beta}_{\text{FE}}) = \beta\frac{\text{Cov}(x_{it-1}, x_{it})}{\text{Var}(x_{it})} - \beta\frac{\text{Var}(\bar{x}_i)}{\text{Var}(x_{it})}
The second term is unique to FE: discarding between variation subtracts additional bias. When x is positively autocorrelated (the typical case), FE bias exceeds OLS bias.
Biases from different misspecifications are not additive.
FE solves the time-invariant omitted-variable problem by discarding between variation. But this concentrates estimation entirely in within variation — making dynamic misspecification more, not less, damaging.
Data-generating process: y_{it} = x^1_{it} + (x^2_{it}) + u_i + \varepsilon_{it}; \quad N=20 \text{ units}, \quad T \in \{10, 30, 50\}
Three types of dynamic misspecification tested:
Correlation levels between x^1 and u_i: \{0.0,\, 0.2,\, 0.5\}
Dynamic “fixes” compared: none · LDV · Arellano–Bond · Prais–Winsten · period FE · LDV + period FE · ADL(1,1)
500 replications per cell.
When both x^1 and an omitted variable share a common trend:
When trends are unit-specific (heterogeneous), the problem intensifies for FE: each unit’s trend component remains in the within variation but now also pollutes FE in ways that partial fixes cannot address.
When the true effect operates with a one-period lag (or heterogeneous lags across units):
The Hausman test is commonly used to choose between FE and RE/OLS:
If FE and OLS estimates differ significantly → use FE (it is “consistent”)
P&T show this logic fails under multiple misspecifications:
Conclusion: the Hausman test is not a reliable guide to model selection when the world contains both time-varying and time-invariant problems simultaneously.
| Condition | Is FE safer than OLS? |
|---|---|
| Only omitted time-invariant variables | ✔ Yes (standard result) |
| Only dynamic misspecification | ✗ No — OLS is strictly less biased |
| Both omitted TI and time-varying/dynamic | Depends on \gamma_1 vs \delta_1: FE can be worse |
| Common/unit-specific trends, misspecified lags | ✗ FE often worse |
| After Hausman test | ✗ Test is unreliable — cannot be trusted |
What P&T are not saying: Pooled-OLS is not a recommended alternative — it has its own well-known biases.
What they are saying:
Econometric solutions designed to fix a single misspecification can exacerbate bias from a different misspecification.
This challenges the standard practitioner heuristic of applying modular fixes sequentially (add FE → add LDV → done). Multiple simultaneous misspecifications interact in non-additive ways.
P&T call on methodologists to study estimator properties under combined misspecifications — not one at a time.
Plümper, Thomas and Vera E. Troeger. 2019.
“Not So Harmless After All: The Fixed-Effects Model.”
Political Analysis 27(1): 21–45.
DOI: 10.1017/pan.2018.17
Keywords: consistency · efficiency · misspecification · omitted variable bias · panel data · Monte Carlo simulation
For unit i at time t, observe (Y_{it},\, X_{it}).
| Dimension | Question answered |
|---|---|
| Within-unit (over time) | How does Y change for a given unit as X changes? |
| Cross-sectional (across units) | How do units with higher X compare to units with lower X at the same time? |
Tip
Key insight (Kropko & Kubinec 2020): These are different questions.
A good model should answer one clearly.
Case (unit) FE: Y_{it} = \alpha_i + \beta X_{it} + \varepsilon_{it}
Time FE: Y_{it} = \alpha_t + \beta X_{it} + \varepsilon_{it}
Tip
Each one-way FE model cleanly isolates one dimension.
Two groups (treated s, never-treated n) × two periods (pre/post):
\widehat{\text{DiD}} = \bigl(\bar Y_{s,2} - \bar Y_{s,1}\bigr) - \bigl(\bar Y_{n,2} - \bar Y_{n,1}\bigr)
Identifying assumption — Parallel Trends: \mathbb{E}[Y_{s,2}(0) - Y_{s,1}(0)] = \mathbb{E}[Y_{n,2}(0) - Y_{n,1}(0)]
Under parallel trends, DiD identifies the Average Treatment Effect on the Treated (ATT).
Tip
In the 2 × 2 case, TWFE is DiD. The trouble starts when we generalise.
Y_{it} = \alpha_i + \lambda_t + \beta D_{it} + \varepsilon_{it}
Standard interpretation: \beta is “the causal effect of treatment, controlling for unit- and time-level confounders.”
This interpretation is often wrong — for subtle but important reasons.
PLoS ONE 15(4): e0231349
Mathematical decomposition shows:
\hat\beta_{\text{TWFE}} = \text{weighted average of } \hat\beta_t(\tilde X)
where \tilde X_{it} = X_{it} - \bar X_i (unit-mean centred),
and \hat\beta_t is estimated on the cross-section at time t.
Equivalently (swapping roles):
\hat\beta_{\text{TWFE}} = \text{weighted average of } \hat\beta_i(\tilde X)
where \tilde X_{it} = X_{it} - \bar X_t (time-mean centred).
Plain English:
“How does a unit whose X is above its own mean compare to another unit
whose X is above its own mean, at the same point in time?”
This mixes within-unit and cross-sectional variation — precisely what one-way FE models avoid.
Kropko & Kubinec simulate TSCS data with known within-case slope \gamma and within-time slope \beta:
| Model | Recovers |
|---|---|
| Case (unit) FE | \gamma — pure over-time effect |
| Time FE | \beta — pure cross-sectional effect |
| TWFE | Something between \gamma and \beta — pooled, hard to interpret |
Including time dummies on top of unit dummies fundamentally changes the estimand — TWFE is no longer a cleaned-up version of unit FE.
Theorem (Kropko & Kubinec 2020):
If the within-unit slopes are constant across units and the within-time slopes are constant across periods, the TWFE estimator is statistically unidentified.
Why has this gone unnoticed?
Automatic multicollinearity handling in lm() and xtreg suppresses the error; results look plausible but are essentially arbitrary.
| Setting | TWFE = DiD? |
|---|---|
| 2 groups, 2 periods, binary treatment | ✅ Yes |
| 2 groups, many periods | ⚠️ Only under strong homogeneity assumptions |
| Many groups, staggered adoption | ❌ Generally no |
| Heterogeneous treatment effects | ❌ No — TWFE can be negatively weighted |
Kropko & Kubinec (2020): TWFE should be thought of as a generalised DiD only in the canonical 2 × 2 design.
Recent literature (de Chaisemartin & D’Haultfœuille 2020, 2022; Callaway & Sant’Anna 2021; Goodman-Bacon 2021) shows:
\hat\beta_{\text{TWFE}} = \sum_{g,t} w_{g,t} \cdot \text{ATT}(g,t)
where some weights w_{g,t} can be negative — earlier treated units act as “controls” for later treated units.
With heterogeneous or dynamic treatment effects, \hat\beta_{\text{TWFE}} can be the wrong sign even when all true ATTs are positive.
Time → t=1 t=2 t=3 t=4
Group A 0 1 1 1 ← treated early
Group B 0 0 1 1 ← treated mid
Group C 0 0 0 0 ← never treated
TWFE uses Group A (post-treatment) as a control for Group B in periods 3–4.
If Group A’s treatment effect grows over time, this biases \hat\beta_{\text{TWFE}} downward.
Contaminated comparisons are the rule, not the exception, in staggered designs.
Tip
Kropko & Kubinec (2020) advice: - Use unit FE if your question is about over-time change within units. - Use time FE if your question is about cross-sectional differences. - Use TWFE only in a genuine 2 × 2 DiD where assumptions are explicit.
For staggered DiD, use robust estimators: This is Friday
| Package (R) | Estimator |
|---|---|
did |
Callaway & Sant’Anna (2021) — group-time ATTs |
didimputation |
Borusyak, Jaravel & Spiess (2024) |
fixest::sunab() |
Sun & Abraham (2021) |
DIDmultiplegt |
de Chaisemartin & D’Haultfœuille (2020) |
Panel data question
│
├─ Over-time (within-unit) → Unit FE
│
├─ Cross-sectional → Time FE
│
└─ Causal treatment effect?
│
├─ 2 × 2, parallel trends → TWFE = DiD ✅
│
└─ Staggered / long panel → Use modern DiD estimators ✅
Avoid plain TWFE ❌
TWFE is not a universally robust generalisation of DiD.
It mixes dimensions, can be unidentified, and can produce negatively-weighted aggregates.
ESSSSDA26-2J: TWFE Models