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
Address PR #97 review round 5: not-yet-treated control group overlap
Fix critical bug where control_group="not_yet_treated" incorrectly included
treated cohort g in controls for pre-treatment periods (t < g).
When computing ATT(g,t), cohort g should never be in the control group,
regardless of whether t < g or t >= g. The fix adds explicit exclusion
of cohort g from the not-yet-treated control mask.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/methodology/REGISTRY.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -227,6 +227,11 @@ Aggregations:
227
227
- "universal": All comparisons use g-anticipation-1 as base
228
228
- Both produce identical post-treatment ATT(g,t); differ only pre-treatment
229
229
- Matches R `did::att_gt()` base_period parameter
230
+
- Control group with `control_group="not_yet_treated"`:
231
+
- Always excludes cohort g from controls when computing ATT(g,t)
232
+
- This applies to both pre-treatment (t < g) and post-treatment (t >= g) periods
233
+
- For pre-treatment periods: even though cohort g hasn't been treated yet at time t, they are the treated group for this ATT(g,t) and cannot serve as their own controls
234
+
- Control mask: `never_treated OR (first_treat > t AND first_treat != g)`
230
235
231
236
**Reference implementation(s):**
232
237
- R: `did::att_gt()` (Callaway & Sant'Anna's official package)
0 commit comments