|
1 | 1 | Heterogeneous Adoption Difference-in-Differences |
2 | 2 | ================================================ |
3 | 3 |
|
4 | | -Estimator for designs where **no unit remains untreated** at the post period |
5 | | -- every unit `g` receives a strictly positive heterogeneous dose `D_{g,2} > 0`, |
6 | | -and there is no genuinely untreated control group to anchor a standard DiD |
7 | | -contrast. |
| 4 | +Estimator for designs where **no unit remains untreated** at the post period. |
| 5 | +Every unit `g` is exposed to treatment at the same single date but adoption |
| 6 | +intensity (dose) varies across units; there is no genuinely untreated control |
| 7 | +group to anchor a standard DiD contrast. |
8 | 8 |
|
9 | 9 | This module implements the methodology from de Chaisemartin, Ciccia, |
10 | 10 | D'Haultfœuille & Knau (2026), "Difference-in-Differences Estimators When No |
11 | 11 | Unit Remains Untreated" (arXiv:2405.04465v6), which: |
12 | 12 |
|
13 | 13 | 1. **Targets the Weighted Average Slope (WAS)** as the identified parameter |
14 | 14 | when no untreated comparison group exists (paper Equation 2). |
15 | | -2. **Uses local-linear regression at the support boundary** to estimate the |
16 | | - slope of the dose-outcome relationship at the lowest observed dose. |
17 | | -3. **Provides bias-corrected confidence intervals** (Calonico, Cattaneo & Titiunik |
18 | | - 2014 / `nprobust`-style) and HC2 / Bell-McCaffrey small-sample SEs. |
| 15 | +2. **Estimates WAS via local-linear regression at the dose support boundary** |
| 16 | + for both Design 1' (the QUG / Quasi-Untreated-Group case where the support |
| 17 | + infimum ``d̲ = 0``) and Design 1 (no QUG, ``d̲ > 0``). |
| 18 | +3. **Provides bias-corrected confidence intervals** ported from the |
| 19 | + ``nprobust`` machinery for the continuous-dose paths, and a |
| 20 | + structural-residual 2SLS sandwich for the mass-point path. |
19 | 21 | 4. **Extends to multi-period event-study settings** (paper Appendix B.2), |
20 | | - producing per-horizon WAS effects with correlated standard errors and |
21 | | - sup-t bands. |
| 22 | + restricting staggered-timing panels to the last-treatment cohort (which |
| 23 | + retains never-treated units as comparisons) with pointwise per-horizon CIs. |
22 | 24 |
|
23 | 25 | .. note:: |
24 | 26 |
|
25 | 27 | **When to use HAD.** Use ``HeterogeneousAdoptionDiD`` when your panel has |
26 | | - no untreated unit at any treatment period (e.g. universal-rollout policies, |
27 | | - industry-wide tariff changes) but treatment intensity varies across units. |
28 | | - For panels with a never-treated control group and continuous treatment, |
29 | | - use :class:`~diff_diff.ContinuousDiD` instead. For binary reversible |
30 | | - treatments, use :class:`~diff_diff.ChaisemartinDHaultfoeuille`. |
| 28 | + no untreated unit at the post period (e.g. universal-rollout policies, |
| 29 | + industry-wide tariff changes) but treatment intensity varies across |
| 30 | + units. For panels with a never-treated control group and continuous |
| 31 | + treatment, use :class:`~diff_diff.ContinuousDiD` instead. For binary |
| 32 | + reversible treatments, use :class:`~diff_diff.ChaisemartinDHaultfoeuille`. |
| 33 | + |
| 34 | +.. note:: |
| 35 | + |
| 36 | + **Inference contract.** Per-horizon CIs are always pointwise. There are |
| 37 | + three SE regimes selected by call site: |
| 38 | + |
| 39 | + - **Unweighted** - continuous paths use the CCT-2014 weighted-robust SE |
| 40 | + from the in-house ``lprobust`` port; the mass-point path uses a |
| 41 | + structural-residual 2SLS sandwich. No cross-horizon covariance. |
| 42 | + - **``weights=`` shortcut** - continuous paths reuse the CCT-2014 SE; |
| 43 | + the mass-point path uses an analytical weighted 2SLS sandwich |
| 44 | + (``classical`` / ``hc1`` only - ``hc2`` / ``hc2_bm`` raise |
| 45 | + ``NotImplementedError`` pending a 2SLS-specific leverage derivation). |
| 46 | + - **``survey=``** - both paths compose Binder (1983) Taylor-series |
| 47 | + linearization with ``df_survey`` threaded into ``safe_inference``. |
| 48 | + |
| 49 | + A simultaneous confidence band (sup-t) is available only on the |
| 50 | + **weighted event-study path** via ``cband=True``. Joint cross-horizon |
| 51 | + analytical covariance is not computed in this release; tracked in |
| 52 | + ``TODO.md``. |
31 | 53 |
|
32 | 54 | HeterogeneousAdoptionDiD |
33 | 55 | ------------------------ |
|
0 commit comments