What’s Trending in Difference-in-Differences?

A synthesis of the recent econometrics literature

Roth · Sant’Anna · Bilinski · Poe — Journal of Econometrics (2023)

One-line thesis: start from one clean DiD model, then read the whole modern literature as relaxing one assumption at a time.


Why this paper exists

  • DiD is everywhere in the social sciences.
  • 2018–2022: a dizzying wave of new DiD methods papers.
  • Practitioners can’t keep up; even experts can’t see how it all fits.

This paper is the map — plus a practitioner checklist and a package guide.


The big idea

Write down ONE canonical 2×2 model, then relax it three ways:

Canonical pieceStrand that relaxes it
Same treatment time1. Staggered timing
Parallel trends holds2. PT violations
Many clean clusters3. Inference

Running example throughout: states expanding Medicaid → effect on insurance coverage.


The canonical 2×2 setup

  • Two periods; a treated group (expands Medicaid) and a comparison group (never does).
  • We want the ATT: effect on coverage for the states that expanded.
  • Problem: the treated group’s “no-expansion” outcome is never observed.


Two assumptions

Parallel Trends — absent treatment, both groups’ coverage would have changed by the same amount.

  • Allows treated states to differ in levels (richer, bluer)…
  • …but not in trends.

No Anticipation — treated states aren’t already reacting before expansion.


Identification = impute the counterfactual

Take the treated group’s pre-level, add the control group’s change as “what would’ve happened anyway,” and the leftover movement is the effect.

Run as TWFE; cluster SEs at the unit level. This is the room. Now remove furniture.


Strand 1: Staggered timing

Real policies roll out at different times (2014, 2015, never…).

Instinct: keep using TWFE (static or dynamic event-study).

It breaks — once treatment effects are heterogeneous.


Why TWFE breaks: forbidden comparisons

  • TWFE = a weighted average of all 2×2 DiDs (Goodman-Bacon 2021).
  • Some use already-treated units as “controls” → forbidden.

A 2014-expansion state used as a “control” for a 2016 state — but the 2014 state is already moving from its own effect.


The scary part: negative weights

  • Every state’s true effect can be positive
  • …yet the TWFE coefficient comes out negative — the wrong sign.
  • Pre-trend tests from staggered TWFE are also contaminated → unreliable.

Strand 1: The fix

Same recipe as 2×2 DiD, done carefully:

  1. Building block: group-time effect — cohort , time .
  2. Clean controls only: never- or not-yet-treated.
  3. Aggregate with weights you choose (cohort size, event-study profile).

✅ Valid under any heterogeneity ✅ Transparent comparison group


Strand 1: The estimator menu

EstimatorControl groupPre-periods
Callaway–Sant’Annanever / not-yetlast pre-period
Borusyak et al. (imputation)not-yet (impute)all pre-periods
Sun–Abrahamnever / last cohortevent-study
de Chaisemartin–D’Haultfœuillenot-yet; on/off OKadjacent
Stackingmatched clean controlsper-event

Tradeoff: more pre-periods → more efficient but needs PT over a longer horizon. In practice they usually agree.


Why worry?

  • Time-varying confounders (bluer states expand and face different shocks).
  • Functional form — PT in levels ≠ PT in logs, and which is right?

Three moves: condition, test honestly, bound the violation.


Make PT hold only within covariate cells (e.g. partisan lean).

⚠️ Naive time in TWFE is not consistent under heterogeneity. Use:

  • Regression adjustment (model control outcomes)
  • IPW (model the propensity score)
  • Doubly-robustrecommended default: right if either model is right

Flat pre-trends feel reassuring, but:


Problem 1 — parallel ≠ parallel

Boys’ and girls’ heights move in parallel until age 13, then diverge. Flat pre-trends don’t guarantee parallel post-trends. (No, bar mitzvahs don’t cause height.)


Problem 2 — low power

A pre-trend big enough to seriously bias you is often not significant.

Detected only ~50% of the time → still produces a spurious significant effect ~50% of the time (≈10× the nominal 5%).


Problem 3 — pre-test bias

Keeping only analyses that “pass” the pre-test selects your sample and can make bias worse.

➡️ At minimum, report the power against relevant violations.


Move 3: Honest sensitivity analysis

Don’t assume PT holds — ask how big a violation would overturn the result?

Report the breakdown :

“Significant unless post-trends were 2× larger than the biggest pre-trend.”

Wider intervals when pre-trends are noisy — imprecision honestly costs you. (Rambachan–Roth; also bracketing bounds, Ye et al.)


Strand 3: Inference

Few clusters (e.g. 3 treated states): CLT fails; cluster shocks don’t average out.

  • Donald–Lang, Conley–Taber, wild bootstrap, permutation/FRT — each needs extra assumptions. No free lunch.

Design-based view: units fixed, assignment is the randomness.

  • Sampling-valid methods are usually design-valid too.
  • ✅ Clear rule: cluster where treatment is assigned.

The practitioner checklist (Table 1)

  1. Same treatment time? No → heterogeneity-robust estimator.
  2. Sure about parallel trends? No → condition on covariates, plot event study, report pre-test power + sensitivity.
  3. Many clusters from a super-population? Few treated → small-cluster method; can’t define it → design-based, cluster at assignment level.

Five takeaways

  1. Canonical DiD = impute the counterfactual from the control’s change.
  2. Staggered TWFE → forbidden comparisons → wrong sign.
  3. Build from clean , aggregate with your weights.
  4. Flat pre-trends ≠ valid design — report power + breakdown.
  5. Cluster where treatment is assigned; go design-based when unsure.

Packages (Table 2): did/csdid, did2s, did_multiplegt, fixest, staggered · DRDID · bacondecomp, TwoWayFEWeights · honestDiD, pretrends

Vault notes: RothSantAnna2023-WhatsTrendingInDiD · RothSantAnna2023-WhatsTrendingInDiD-Explainer · GoodmanBacon2021-DiDVariationInTiming · SunAbraham2021-EventStudies · CallawaySantAnna2021-DiDMultiplePeriods · SantAnnaZhao2020-DoublyRobustDiD · RothPretrends2022-PretestWithCaution · RambachanRoth2023-MoreCredibleParallelTrends · BakerEtAl2025-DiDPractitionerGuide · DiD