APPENDIX_C_honestdid.md
Downloadmanuscripts/APPENDIX_C_honestdid.md·7.8 KB·markdownAppendix C — HonestDiD mathematical details
Formal statements of the two Rambachan-Roth-style bound families reported in §4.6, plus implementation notes.
C.1 Setting
Let denote the event-study coefficient at relative time , with by convention (the reference period). Under no bias from pre-treatment trends, for all and for , where is the dynamic ATT at lag . The pooled post-period ATT is
In practice, for is not identically zero; the pre-period event-study coefficients carry the empirical signature of the parallel-trends violation. The Rambachan & Roth (2023) framework expresses the bias in the pooled post-period ATT as a function of the (unobservable) counterfactual trend at post-period lags, and bounds the bias under a restriction on how much can deviate from the extrapolated pre- trend.
The identified set for under restriction is
where is the bias under and is the observed pooled post-period coefficient.
C.2 Relative-magnitudes (RM-)
Restriction. Define . The RM- restriction asserts
— the counterfactual post-period deviation is bounded by a multiple of the largest observed pre-period deviation. At , the restriction is "parallel trends hold" (vanilla DiD); at , "post-period deviations are no larger than the biggest pre-period deviation"; as , the restriction imposes nothing and the identified set is the real line.
Bound. Under RM-, the bias is
so the identified set is
This is a symmetric interval centered on the observed pooled ATT with half-width .
Breakdown point. The smallest such that includes zero:
In our panel (per-unit event-study spec), , , so . Reported as "breakdown at " in the paper because we only sweep the grid .
C.3 Linear-trend extrapolation (LT-)
The RM family is coarse: it bounds deviation in levels, not deviation from a clear trend signal. When the pre-period coefficients visibly trend (as ours do, with a fitted slope of complaints per month), the relevant "counterfactual trend" is the continuation of that linear trend, not the absolute level.
Setup. Fit an OLS line to the pre-period coefficients:
The extrapolated counterfactual trend at post-period lag is . Define the maximum absolute pre- period residual as
Restriction. The LT- restriction asserts
— the counterfactual deviation from the extrapolated linear trend is bounded by a multiple of the largest pre-period residual. At , we assume the linear extrapolation holds exactly; at , we allow deviations up to the largest residual.
Bound. Under LT-, the trend-adjusted ATT is
where the second term is the mean of the extrapolated linear trend over the post-period. The identified set is
— a symmetric interval centered on the trend-adjusted ATT with half-width .
Breakdown point.
In our panel, , , so . Reported as "breakdown beyond " because the sweep grid tops out at .
C.4 Why we report LT alongside RM
When the pre-period is stationary around zero with bounded jitter, RM is the natural restriction family — there is no trend to extrapolate, just noise. When the pre-period visibly trends, RM is overly conservative because it bounds deviation in levels (which grow with time under a linear trend) rather than deviation from the trend's extrapolation. Our pre-period is the second case, so LT is the more informative restriction family.
The LT family is not the original Rambachan-Roth smoothness (SD) restriction — SD bounds the second difference of the counterfactual trend, which grows the identified-set half-width quadratically in the post-period horizon and quickly becomes uninformative for long post-windows. LT is a simpler cousin that keeps the half-width constant by construction and is more interpretable for a 19-month post-window.
C.5 Interpretation for a non-econometrician
The LT- restriction says: "imagine the pre-period trend kept going — what post-period deviation from that smooth extrapolation can you tolerate before the estimate becomes zero?" At we're asking "can we tolerate a deviation twice as large as the biggest pre-period jitter?" The answer is yes — the identified set is still entirely negative.
This is the concrete operational content of "the HonestDiD bounds say the parallel-trends rejection is not fatal." The pre-period trend was doing something — but whatever the counterfactual post- period trend was, within a reasonable bound on deviation from its linear extrapolation, the treatment effect is robustly negative.
C.6 Caveats and limitations of this implementation
- Single-number summary of the pooled post-period ATT. We report bounds on the pooled ATT rather than on individual post-period event-study coefficients. The original Rambachan- Roth construction is lag-by-lag; pooled bounds are a summary.
- Linear extrapolation assumption. LT assumes the pre-period trend is well-approximated by OLS. In our panel the fit is good (R² ≈ 0.6 for the linear OLS on 23 pre-period points), but a non-linear pre-trend would require a more flexible fit.
- No confidence-interval coverage. The bounds are
identified sets, not confidence intervals. Combining
statistical uncertainty (the event-study SEs) with
identification uncertainty (the sensitivity) requires
the Rambachan-Roth conditional-coverage construction, which
we have not implemented in the Python port. A follow-up
revision will either add this or swap in the R
HonestDiD
package through an
rpy2bridge. - Bounds on pooled ATT, not on per-cohort ATT. The per-cohort decomposition in §4.4 is NOT subjected to the HonestDiD analysis directly; it uses the standard TWFE confidence intervals. An extension would apply HonestDiD to each cohort's own event study separately.
The implementation lives in
notebooks/11_honestdid_sensitivity.py
and consumes the event-study CSV from notebooks/04_diagnostics.py.
Regeneration is deterministic (same CSV → same bounds) and takes
under a second on the cached artifacts.