You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make guidance estimator-specific for PT tests and placebo
P1: ContinuousDiD and TripleDifference handlers now emit honest
"no built-in formal test" guidance instead of the invalid generic
check_parallel_trends() which assumes a single binary treatment.
P1: Staggered handlers now use _placebo_step(staggered=True) which
recommends specification-based falsification (control group/anticipation/
subsample comparisons) instead of run_all_placebo_tests() (which refits
a basic 2x2 DiD and is invalid for staggered designs).
P2: _check_nan_att() now coerces to float() before testing, handling
numpy scalars (np.float64(nan)) in addition to Python float("nan").
Docs updated: llms.txt Step 6 and llms-practitioner.txt placebo section
now note that run_all_placebo_tests is for simple 2x2 only.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3. **Test parallel trends** — simple 2x2: `check_parallel_trends()`, `equivalence_test_trends()`; staggered: inspect CS event-study pre-period coefficients (generic PT tests are invalid for staggered designs). Insignificant pre-trends do NOT prove PT holds.
21
21
4. **Choose estimator** — staggered adoption → CS/SA/BJS (NOT plain TWFE); few treated units → SDiD/TROP; simple 2x2 → DiD. Run `BaconDecomposition` to diagnose TWFE bias.
22
22
5. **Estimate** — `estimator.fit(data, ...)`. Always print the cluster count first and choose inference method based on the result (cluster-robust if >= 50 clusters, wild bootstrap if fewer).
23
-
6. **Sensitivity analysis** — `compute_honest_did(results)` for bounds under PT violations, `run_all_placebo_tests()` for falsification, Bacon decomposition for TWFE.
23
+
6. **Sensitivity analysis** — `compute_honest_did(results)` for bounds under PT violations (MultiPeriodDiD/CS only), `run_all_placebo_tests()` for 2x2 falsification, specification comparisons for staggered designs.
24
24
7. **Heterogeneity** — `aggregate='group'` for cohort effects, `aggregate='event_study'` for dynamic effects, subgroup re-estimation.
25
25
8. **Robustness** — compare 2-3 estimators (CS vs SA vs BJS), MUST report with and without covariates (shows whether conditioning drives identification), present pre-trends and sensitivity bounds.
0 commit comments