Hi all,
I'm having trouble interpreting the output of a staggered diff in diff with xthdidregress twfe, especially when combined with estat aggregation.
The outcome is growth and I have a panel dataset with treatments that occur at different points in time (generating "year-of-treatment" cohorts).
First, I type: xthdidregress twfe (growth) (treated), group(identifier) controlgroup(notyet)
and the output gives different tables, one for each year-of-treatment cohort, and there is an ATET associated to each year. Here follows one example of such tables, for the cohort 2007 (the headers are not in line with the rest of the columns).
I interpret these as the "marginal" effects of the treatment in each year with respect to the previous (and not with respect to the base year, say 2007), is that correct?
Then, I type:
estat aggregation, cohort
estat aggregation, year
estat aggregation dynamic
estat aggregation, overall
and for each, I obtain a different set of ATETs. Specifically:
- "overall" just gives one ATET;
- "cohort" gives one ATET for each year-of-treatment cohort;
- "year" gives one ATET for each year;
- "dynamic" gives an ATET for one, two, three periods after the policy (here follows the table).
But what are these doing exactly? Take for example the overall ATET: is it supposed to be a sum of all the ATETs across all years and cohorts, or a weighted average?
And in the same way, are the cohort ATETs a sum of all year ATETs for each cohort, and the year ATETs a sum of ATETs for each year across cohorts? How are these aggregations made?
In fact, I couldn't replicate the results with a sum or an average weighted by the number of observations.
In addition, I was wondering if any of these are cumulative effects rather than marginal (but again, the maths don't seem to add up).
Thank you
I'm having trouble interpreting the output of a staggered diff in diff with xthdidregress twfe, especially when combined with estat aggregation.
The outcome is growth and I have a panel dataset with treatments that occur at different points in time (generating "year-of-treatment" cohorts).
First, I type: xthdidregress twfe (growth) (treated), group(identifier) controlgroup(notyet)
and the output gives different tables, one for each year-of-treatment cohort, and there is an ATET associated to each year. Here follows one example of such tables, for the cohort 2007 (the headers are not in line with the rest of the columns).
I interpret these as the "marginal" effects of the treatment in each year with respect to the previous (and not with respect to the base year, say 2007), is that correct?
year ATET std. err. t P>t [95% c.int.] |
2007 | .5557902 | .0277547 | 20.03 | 0.000 | .5013431 | .6102373 |
2008 | -.4775657 | .0253535 | -18.84 | 0.000 | -.5273024 | -.427829 |
2009 | .8025827 | .0299051 | 26.84 | 0.000 | .743917 | .8612483 |
2010 | .4922964 | .0344708 | 14.28 | 0.000 | .424674 | .5599187 |
2011 | .2083535 | .0288308 | 7.23 | 0.000 | .1517954 | .2649116 |
2012 | .1599384 | .0277551 | 5.76 | 0.000 | .1054904 | .2143863 |
2013 | .4817724 | .0267596 | 18.00 | 0.000 | .4292774 | .5342673 |
2014 | .1129694 | .0416552 | 2.71 | 0.007 | .0312533 | .1946855 |
2015 | .831966 | .0530166 | 15.69 | 0.000 | .727962 | .93597 |
2016 | .9050312 | .0514333 | 17.60 | 0.000 | .8041332 | 1.005.929 |
2017 | .8805533 | .0631843 | 13.94 | 0.000 | .756603 | 1.004.504 |
2018 | .5726322 | .0363871 | 15.74 | 0.000 | .5012506 | .6440139 |
2019 | .8349259 | .0423004 | 19.74 | 0.000 | .751944 | .9179078 |
2020 | .8571015 | .0416847 | 20.56 | 0.000 | .7753275 | .9388756 |
Then, I type:
estat aggregation, cohort
estat aggregation, year
estat aggregation dynamic
estat aggregation, overall
and for each, I obtain a different set of ATETs. Specifically:
- "overall" just gives one ATET;
- "cohort" gives one ATET for each year-of-treatment cohort;
- "year" gives one ATET for each year;
- "dynamic" gives an ATET for one, two, three periods after the policy (here follows the table).
Robust | ||||||
Exposure | ATET | std. err. | t | P>t | [95% conf. | interval] |
0 | .0249439 | .0290124 | 0.86 | 0.390 | -.0319706 | .0818583 |
1 | .0202612 | .0336268 | 0.60 | 0.547 | -.0457052 | .0862277 |
2 | .0063762 | .0410927 | 0.16 | 0.877 | -.0742364 | .0869888 |
3 | .12232 | .0408501 | 2.99 | 0.003 | .0421832 | .2024568 |
4 | .0311523 | .0316119 | 0.99 | 0.325 | -.0308616 | .0931662 |
5 | -.0559821 | .0354012 | -1.58 | 0.114 | -.1254296 | .0134655 |
6 | .0329058 | .0463246 | 0.71 | 0.478 | -.0579704 | .123782 |
7 | .0627743 | .0319588 | 1.96 | 0.050 | .0000799 | .1254687 |
8 | .0275247 | .0340151 | 0.81 | 0.419 | -.0392036 | .094253 |
9 | .0721291 | .0383492 | 1.88 | 0.060 | -.0031017 | .1473598 |
10 | .0528322 | .0319233 | 1.65 | 0.098 | -.0097927 | .1154571 |
11 | -.0021883 | .0348246 | -0.06 | 0.950 | -.0705045 | .066128 |
12 | .0762983 | .0335524 | 2.27 | 0.023 | .0104777 | .142119 |
13 | .1046477 | .0722928 | 1.45 | 0.148 | -.0371711 | .2464665 |
14 | .0713552 | .0583758 | 1.22 | 0.222 | -.0431621 | .1858725 |
15 | .0451814 | .0647466 | 0.70 | 0.485 | -.0818338 | .1721966 |
16 | .087311 | .06927 | 1.26 | 0.208 | -.0485779 | .2231998 |
17 | .0083017 | .0440286 | 0.19 | 0.850 | -.0780704 | .0946738 |
18 | .006209 | .0512369 | 0.12 | 0.904 | -.0943038 | .1067219 |
19 | -.0203663 | .0424173 | -0.48 | 0.631 | -.1035775 | .0628449 |
And in the same way, are the cohort ATETs a sum of all year ATETs for each cohort, and the year ATETs a sum of ATETs for each year across cohorts? How are these aggregations made?
In fact, I couldn't replicate the results with a sum or an average weighted by the number of observations.
In addition, I was wondering if any of these are cumulative effects rather than marginal (but again, the maths don't seem to add up).
Thank you