A deep-dive companion to the experimentation refresher, specifically expanding the three methods covered as a tour in that course's Module 8: modern difference-in-differences, synthetic control, and causal forests for heterogeneous treatment effects.
Live site: fhoces.github.io/causal-inference-beyond-ab (rendered slides and notes).
Modules 1-8 built (concepts + slides + exercises, rendered decks committed). Course complete.
The experimentation-refresher covers each of these methods in a single slide
deck: enough to spot the failure modes of TWFE, recognize when synthetic
control applies, and read a grf output in an interview. That's a tour, not
a treatment.
This course is the treatment. Each method gets a multi-module sequence with the formal estimator definitions, the simulation studies that motivate the modern alternatives, and the practitioner choices that don't fit on a slide.
See learning-plan.md for the full breakdown.
Module 8 closes with the course capstone: a method-selection decision tree mapping problem shape to estimator, the single most interview-useful artifact in the course.
Following the convention of the sibling course collection, applications use ride-sharing (Uber / Lyft style) data. Where formal methods need a specific empirical setting (e.g., the original Card-Krueger DiD or the Abadie-Diamond California Prop 99 SC), the canonical paper's data is used. The methods transfer directly to the standard platform settings: staggered feature rollouts, geo-level policy changes, fee or pricing changes in a single market, and targeted incentives. Every module also carries a parallel online-retail example. The panel-methods modules (1-5, 8) use a staggered next-day-delivery rollout across metro areas; the HTE and policy modules (6-7) use a randomized paid-membership signup discount.
Each module follows the standard concept → show → drill pattern from the
sibling courses: concepts.md for the written reference, slides.Rmd for
the xaringan deck, and exercise.R for runnable drills.
Each module's exercise.R is self-contained: run it directly with
Rscript module-0N/exercise.R. The R packages needed across the course are
fixest, did, didimputation, HonestDiD, Synth, gsynth, synthdid,
augsynth, grf, quadprog, bacondecomp, policytree, plus tidyverse.
Every script ends with a block of assertions, exiting 0 when all checks
pass.
R, with did, fixest, synthdid, Synth, gsynth, grf, HonestDiD,
and the standard tidyverse.