Commit 3b7408a
Address PR #356 CI review round 11 (1 P1 guide + 1 P2 test)
HeterogeneousAdoptionDiD staggered support is `partial` (per §3
matrix), but the restriction was never unpacked. Per REGISTRY.md L2281
and had.py:1100-1288, Appendix B.2 limits staggered HAD to the **last
treatment cohort plus never-treated units**. With `first_treat_col`
supplied, `fit(aggregate="event_study")` auto-filters to F_last and
emits a UserWarning naming kept/dropped counts; earlier-cohort units
are dropped. Without `first_treat_col` on a multi-cohort panel, fit()
raises a front-door ValueError pointing at ChaisemartinDHaultfoeuille
for full staggered support.
Guide updates:
- New §3 footnote on the HAD `partial` cell spelling out the last-
cohort-only restriction, the `first_treat_col` requirement for the
auto-filter, and the ChaisemartinDHaultfoeuille fallback.
- §4.9 HAD bullet appended with a "Staggered-timing scope is last-
cohort-only" paragraph carrying the same contract plus the
"last-cohort-only WAS" estimand clarification.
Tests:
- Semantic guide test asserts "last-cohort-only" (or "last cohort")
wording, "first_treat_col" token, and ChaisemartinDHaultfoeuille as
the fallback are all present so future guide edits cannot silently
drop the Appendix B.2 disclosure.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 44a552f commit 3b7408a
2 files changed
Lines changed: 41 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
262 | 271 | | |
263 | 272 | | |
264 | 273 | | |
| |||
459 | 468 | | |
460 | 469 | | |
461 | 470 | | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
462 | 484 | | |
463 | 485 | | |
464 | 486 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
659 | 678 | | |
660 | 679 | | |
661 | 680 | | |
| |||
0 commit comments