FernandoRios
Hi All,
I am using csdid to examine the impact of healthcare facility acquisitions by large investment firms (the “event”) on nurse salary spending (the outcome). For simplicity, assume my panel is balanced with no missingness.
My core specification is:
1. How is ATT(g,t) constructed?
My current understanding is that ATT(g,t) is built from within-unit changes over time. In very simplified terms, I have been thinking of it as:
More specifically, can I confirm that csdid is relying on within-unit changes (i.e., differences over time within each facility), rather than something like the below?
In the second specification I include state dummies:
My current intuition is:
Many thanks in advance for any clarification this forum might provide!
Jeff Wooldridge
Hi All,
I am using csdid to examine the impact of healthcare facility acquisitions by large investment firms (the “event”) on nurse salary spending (the outcome). For simplicity, assume my panel is balanced with no missingness.
My core specification is:
csdid outcome, ivar(facility_id) time(year) gvar(acquisitionyear)and a second version that adds state indicators:
csdid outcome i.state, ivar(facility_id) time(year) gvar(acquisitionyear)where state is a set of U.S. state dummies. My unit of time is years, so rows in my dataset represent facility-year observations. I have two conceptual questions about what csdid is doing under the hood.
1. How is ATT(g,t) constructed?
My current understanding is that ATT(g,t) is built from within-unit changes over time. In very simplified terms, I have been thinking of it as:
- (average within-treated facility change from t−1 to t) − (average within-control facility change from t−1 to t).
More specifically, can I confirm that csdid is relying on within-unit changes (i.e., differences over time within each facility), rather than something like the below?
- (mean of treated cohort at t − mean of treated cohort at t−1) − (mean of controls at t − mean of controls at t−1)
In the second specification I include state dummies:
csdid outcome i.state, ivar(facility_id) time(year) gvar(acquisitionyear)What is csdid doing behind the scenes to calculate treatment effects when I add a categorical variable like i.state?
My current intuition is:
- If inverse probability weighting (IPW) is used, it reweights control observations: Controls from states that are underrepresented relative to the treated group receive more weight, and controls from overrepresented states receive less weight, so that the weighted control group better reflects where treated hospices are located.
- The regression adjustment (including i.state) accounts for persistent differences across states by estimating and subtracting each state’s average outcome level in a given year (for example, average nurse salary spending in that state-year). After removing those state-year differences, the treatment effect is calculated using the remaining within-state changes between t and t-1. In practice, this means the estimate is driven mainly by how outcomes change for treated hospices relative to untreated hospices operating in the same states, rather than by comparisons across very different states
Many thanks in advance for any clarification this forum might provide!
Jeff Wooldridge

Comment