Staggered Difference in Differences
Staggered difference-in-differences is a quasi-experimental method that estimates treatment effects when units adopt a treatment at different times, comparing each adoption cohort with not-yet-treated or never-treated units.
시차 이중차분법(staggered DiD)은 단위들이 서로 다른 시점에 처치를 받을 때 각 도입 집단을 아직 처치받지 않았거나 전혀 처치받지 않은 단위와 비교하여 처치효과를 추정하는 준실험 방법이다.
How do I estimate a policy effect when different units adopted the policy in different years?
단위마다 다른 해에 정책을 도입했을 때 정책 효과를 어떻게 추정하나요?
Staggered difference-in-differences estimates group-time average treatment effects for each adoption cohort and aggregates them into overall and event-time effects. It fits panel data with staggered rollout, where conventional two-way fixed effects regression can be biased when effects vary across cohorts or over time.
When to use Staggered Difference in Differences
- Panel data where units start treatment at different time periods
- Policies rolled out across regions, schools or firms in waves
- Event-study plots of effects by time since adoption
When to use something else
- All treated units start at the same time: use standard two-group difference-in-differences
- Only one treated unit is available: use the synthetic control method
Assumptions and requirements
- Parallel trends between treated cohorts and comparison units in the absence of treatment
- No anticipation of treatment before adoption
- Treatment is irreversible once adopted (in the standard setup)
- Stable unit treatment values without spillovers
What the analysis reports
- Group-time average treatment effects
- Aggregated overall ATT
- Event-study estimates with confidence intervals
- Pre-treatment estimates to assess parallel trends
How to report it
Using the Callaway–Sant'Anna estimator with not-yet-treated controls, the overall average treatment effect on the treated was [value] (95% CI [[lower], [upper]]).
Related methods
- Difference in Differences (DiD)
- Event Study
- Synthetic Control Method
Run Staggered Difference in Differences on Quorant
- Data you need
- a table (CSV or Excel) with an outcome variable, a treatment indicator, a time variable and a unit (entity) ID
- Price
- 400 credits for one analysis up to 10,000 rows (complexity level 3); larger or wider data costs more. Optional methodologist review: 1800 credits.
- Checking
- Python results are cross-checked against R reference outputs in every deployment
- Before you pay
- A free pre-analysis diagnosis checks your data and gives an exact quote; nothing is deducted until you approve it.