A deep-dive companion to experimentation-refresher/module-08. Status:
built, modules 1-8 complete. This document was the spec; see the
README for the finished course.
Audience
You've completed the experimentation-refresher Module 8 tour and want the
formal treatment of each method — the kind of detail an applied
econometrician or research scientist needs to make tooling decisions, not
just recognize names.
Module 1 — TWFE Diagnosed
The Goodman-Bacon (2021) decomposition: full derivation, weights formula.
Bacon-decomposition diagnostic in practice (bacondecomp package).
The "forbidden comparison" (already-treated as control) — visualizing it.
When TWFE is unbiased: constant effects, no staggering.
Application: ride-sharing zone-notification staggered rollout (extends
the M8 example to 30 cities and 60 periods, with three different effect
heterogeneity scenarios).
Exercise: hand-code Bacon weights, replicate the package output.
Module 2 — Heterogeneity-Robust DiD
Callaway & Sant'Anna (2021) — group-time ATT, full estimator, not-yet-treated
vs never-treated controls, doubly-robust adjustment, influence-function SEs.
Sun & Abraham (2021) — saturated event-study, when it equals CS.
Borusyak, Jaravel & Spiess (2024) — imputation, efficiency under PT.
de Chaisemartin & D'Haultfœuille (2020) — multi-period switchers.
Aggregation choices: simple average vs cohort-weighted vs event-time
aggregation. What each answers.
Application: same staggered rollout, all four estimators side-by-side.
Exercise: implement CS from scratch using Mostly_Harmless-style data,
validate against did::att_gt().
Module 3 — Honest DiD
Rambachan & Roth (2023) — the formal sensitivity framework.