Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 37 additions & 68 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ For past changes and release history, see [CHANGELOG.md](CHANGELOG.md).

## Current Status

diff-diff v2.4.1 is a **production-ready** DiD library with feature parity with R's `did` + `HonestDiD` + `synthdid` ecosystem for core DiD analysis:
diff-diff v2.6.0 is a **production-ready** DiD library with feature parity with R's `did` + `HonestDiD` + `synthdid` ecosystem for core DiD analysis:

- **Core estimators**: Basic DiD, TWFE, MultiPeriod, Callaway-Sant'Anna, Sun-Abraham, Borusyak-Jaravel-Spiess Imputation, Synthetic DiD, Triple Difference (DDD), TROP, Two-Stage DiD (Gardner 2022), Stacked DiD (Wing et al. 2024)
- **Core estimators**: Basic DiD, TWFE, MultiPeriod, Callaway-Sant'Anna, Sun-Abraham, Borusyak-Jaravel-Spiess Imputation, Synthetic DiD, Triple Difference (DDD), TROP, Two-Stage DiD (Gardner 2022), Stacked DiD (Wing et al. 2024), Continuous DiD (Callaway, Goodman-Bacon & Sant'Anna 2024)
- **Valid inference**: Robust SEs, cluster SEs, wild bootstrap, multiplier bootstrap, placebo-based variance
- **Assumption diagnostics**: Parallel trends tests, placebo tests, Goodman-Bacon decomposition
- **Sensitivity analysis**: Honest DiD (Rambachan-Roth), Pre-trends power analysis (Roth 2022)
Expand All @@ -20,35 +20,15 @@ diff-diff v2.4.1 is a **production-ready** DiD library with feature parity with

---

## Near-Term Enhancements (v2.5)

High-value additions building on our existing foundation.

### ~~Stacked Difference-in-Differences~~ (Implemented in v2.5)

Implemented as `StackedDiD`. See `diff_diff/stacked_did.py`.
## Near-Term Enhancements (v2.7)

### Staggered Triple Difference (DDD)

Extend the existing `TripleDifference` estimator to handle staggered adoption settings. The current implementation handles 2-period DDD; this extends to multi-period designs.
Extend the existing `TripleDifference` estimator to handle staggered adoption settings.

**Multi-period/Staggered Support:**
- Group-time ATT(g,t) for DDD designs with variation in treatment timing
- Handle settings where groups adopt at different times
- Multiple comparison groups (never-treated, not-yet-treated in either dimension)
- `StaggeredTripleDifference` class or extended `TripleDifference` with `first_treat` parameter

**Event Study Aggregation:**
- Dynamic treatment effects over time (event study coefficients)
- Pre-treatment placebo effects for parallel trends assessment
- `aggregate='event_study'` parameter like `CallawaySantAnna`
- Integration with `plot_event_study()` visualization

**Multiplier Bootstrap Inference:**
- Event study aggregation and pre-treatment placebo effects
- Multiplier bootstrap for valid inference in staggered settings
- Rademacher, Mammen, and Webb weight options (matching existing estimators)
- `n_bootstrap` parameter and `DDDBootstrapResults` class
- Clustered bootstrap for panel data

**Reference**: [Ortiz-Villavicencio & Sant'Anna (2025)](https://arxiv.org/abs/2505.09942). *Working Paper*. R package: `triplediff`.

Expand All @@ -60,22 +40,13 @@ Extend the existing `TripleDifference` estimator to handle staggered adoption se

---

## Medium-Term Enhancements (v2.5+)

Extending diff-diff to handle more complex settings.
## Medium-Term Enhancements

### Continuous Treatment DiD
### Efficient DiD Estimators

Many treatments have dose/intensity rather than binary on/off. Active research area with recent breakthroughs.
Semiparametrically efficient versions of existing DiD/event-study estimators with 40%+ precision gains over current methods.

- Treatment effect on treated (ATT) parameters under generalized parallel trends
- Dose-response curves and marginal effects
- Handle settings where "dose" varies across units and time
- Event studies with continuous treatments

**References**:
- [Callaway, Goodman-Bacon & Sant'Anna (2024)](https://arxiv.org/abs/2107.02637). *NBER Working Paper*.
- [de Chaisemartin, D'Haultfœuille & Vazquez-Bare (2024)](https://arxiv.org/abs/2402.05432). *AEA Papers and Proceedings*.
**Reference**: [Chen, Sant'Anna & Xie (2025)](https://arxiv.org/abs/2506.17729). *Working Paper*.

### de Chaisemartin-D'Haultfœuille Estimator

Expand All @@ -84,7 +55,6 @@ Handles treatment that switches on and off (reversible treatments), unlike most
- Allows units to move into and out of treatment
- Time-varying, heterogeneous treatment effects
- Comparison with never-switchers or flexible control groups
- Different assumptions than CS/SA—useful for different settings

**Reference**: [de Chaisemartin & D'Haultfœuille (2020, 2024)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3980758). *American Economic Review*.

Expand All @@ -95,7 +65,6 @@ Implements local projections for dynamic treatment effects. Doesn't require spec
- Flexible impulse response estimation
- Robust to misspecification of dynamics
- Natural handling of anticipation effects
- Growing use in macroeconomics and policy evaluation

**Reference**: Dube, Girardi, Jordà, and Taylor (2023).

Expand All @@ -105,30 +74,16 @@ For outcomes where linear models are inappropriate (binary, count, bounded).

- Logit/probit DiD for binary outcomes
- Poisson DiD for count outcomes
- Flexible strategies for staggered designs with nonlinear models
- Proper handling of incidence rate ratios and odds ratios

**Reference**: [Wooldridge (2023)](https://academic.oup.com/ectj/article/26/3/C31/7250479). *The Econometrics Journal*.

### Doubly Robust DiD + Synthetic Control

Unified framework combining DiD and synthetic control with doubly robust identification—valid under *either* parallel trends or synthetic control assumptions.

- ATT identified under parallel trends OR group-level SC condition
- Semiparametric estimation framework
- Multiplier bootstrap for valid inference under either assumption
- Strengthens credibility by avoiding the DiD vs. SC trade-off

**Reference**: [Sun, Xie & Zhang (2025)](https://arxiv.org/abs/2503.11375). *Working Paper*.

### Causal Duration Analysis with DiD

Extends DiD to duration/survival outcomes where standard methods fail (hazard rates, time-to-event).

- Duration analogue of parallel trends on hazard rates
- Avoids distributional assumptions and hazard function specification
- Visual and formal pre-trends assessment for duration data
- Handles absorbing states approaching probability bounds

**Reference**: [Deaner & Ku (2025)](https://www.aeaweb.org/conference/2025/program/paper/k77Kh8iS). *AEA Conference Paper*.

Expand All @@ -138,38 +93,56 @@ Extends DiD to duration/survival outcomes where standard methods fail (hazard ra

Frontier methods requiring more research investment.

### Matrix Completion Methods
### DiD with Interference / Spillovers

Unified framework encompassing synthetic control and regression approaches. Moves seamlessly between cross-sectional and time-series patterns.
Standard DiD assumes SUTVA; spatial/network spillovers violate this. Two-stage imputation approach estimates treatment AND spillover effects under staggered timing.

- Nuclear norm regularization for low-rank structure
- Handles missing data patterns common in panel settings
- Bridges synthetic control (few units, many periods) and regression (many units, few periods)
- Confidence intervals via debiasing
**Reference**: [Butts (2024)](https://arxiv.org/abs/2105.03737). *Working Paper*.

**Reference**: [Athey et al. (2021)](https://arxiv.org/abs/1710.10251). *Journal of the American Statistical Association*.
### Quantile/Distributional DiD

Recover the full counterfactual distribution and quantile treatment effects (QTT), not just mean ATT. Goes beyond "what's the average effect" to "who gains, who loses."

- Changes-in-Changes (CiC) identification strategy
- QTT(τ) at user-specified quantiles
- Full counterfactual distribution function
- Two-period foundation, then staggered extension

**Reference**: [Athey & Imbens (2006)](https://onlinelibrary.wiley.com/doi/10.1111/j.1468-0262.2006.00668.x). *Econometrica*.

### CATT Meta-Learner for Heterogeneous Effects

ML-powered conditional ATT — discover who benefits most from treatment using doubly robust meta-learner.

**Reference**: [Lan, Chang, Dillon & Syrgkanis (2025)](https://arxiv.org/abs/2502.04699). *Working Paper*.

### Causal Forests for DiD

Machine learning methods for discovering heterogeneous treatment effects in DiD settings.

- Estimate treatment effect heterogeneity across covariates
- Data-driven subgroup discovery
- Combine with DiD identification for observational data
- Honest confidence intervals for discovered heterogeneity

**References**:
- [Kattenberg, Scheer & Thiel (2023)](https://ideas.repec.org/p/cpb/discus/452.html). *CPB Discussion Paper*.
- Athey & Wager (2019). *Annals of Statistics*.

### Matrix Completion Methods

Unified framework encompassing synthetic control and regression approaches.

- Nuclear norm regularization for low-rank structure
- Bridges synthetic control (few units, many periods) and regression (many units, few periods)

**Reference**: [Athey et al. (2021)](https://arxiv.org/abs/1710.10251). *Journal of the American Statistical Association*.

### Double/Debiased ML for DiD

For high-dimensional settings with many potential confounders.

- ML for nuisance parameter estimation (propensity, outcome models)
- Cross-fitting for valid inference
- Handles many covariates without overfitting concerns
- Doubly-robust estimation with ML flexibility

**Reference**: Chernozhukov et al. (2018). *The Econometrics Journal*.

Expand All @@ -183,10 +156,6 @@ For high-dimensional settings with many potential confounders.

## Infrastructure Improvements

Ongoing maintenance and developer experience.

### Documentation

- Video tutorials and worked examples

---
Expand Down