Skip to main content
edited title
Link
Nick Cox
  • 59.4k
  • 8
  • 136
  • 212

In difference-in-difference setting, why do I have coefficient for (treatment==0)*(post==1) when running regression in STATA

Source Link
JoZ
  • 709
  • 1
  • 4
  • 14

In difference-in-difference setting, why do I have coefficient for (treatment==0)*(post==1) when running regression in STATA

Background information:

The investigation is under event study framework. The topic is on how the conversion to academies affects students' KS4 performance. The dataset is at school-level. Conversion before 2009 would be in the treatment group while schools converted after 2009 would be in the control group. I have school-level students' performance from year 2002 to year 2009. From year 2006 to year 2009 every year there were conversion taking place.

Therefore, in my dataset, there are two groups: the control group contains schools didn't convert to academies up to the year 2009; the treatment group is those converted to academies before (including year 2009) , but the conversion took place in different years.

Variable explanation:

year is the year when the data is observed

schstdks4_cappedpts is the average KT4 performance of a school

earlyconverters =1 for those converted to academies up to 2009; =0 otherwise

Suppose year=c is the year when the conversion took place;

afterconversion =1 if the $year\geqslant c$

Problem:

I was hoping to get DID coefficient by

regress schstdks4_cappedpts i.year earlyconverters#afterconversion, r

What I found puzzling is:

Linear regression                               Number of obs     =        816
                                                F(9, 806)         =       7.81
                                                Prob > F          =     0.0000
                                                R-squared         =     0.0679
                                                Root MSE          =     .39251

-------------------------------------------------------------------------------------------------
                                |               Robust
            schstdks4_cappedpts |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
--------------------------------+----------------------------------------------------------------
                           year |
                          2003  |  -.2799424   .2312072    -1.21   0.226    -.7337818    .1738969
                          2004  |  -.2039077   .2140511    -0.95   0.341     -.624071    .2162556
                          2005  |   -.200673    .208598    -0.96   0.336    -.6101324    .2087864
                          2006  |  -.1890817    .206715    -0.91   0.361    -.5948449    .2166816
                          2007  |  -.1416356   .2069297    -0.68   0.494    -.5478203    .2645492
                          2008  |  -.0700349   .2070475    -0.34   0.735    -.4764509     .336381
                          2009  |   -.017034   .2091049    -0.08   0.935    -.4274884    .3934205
                                |
earlyconverters#afterconversion |
                           0 1  |          0  (empty)
                           1 0  |   .1236718   .0343675     3.60   0.000     .0562113    .1911322
                           1 1  |   .1886763   .0400589     4.71   0.000     .1100443    .2673084
                                |
                          _cons |  -.3158101   .2065066    -1.53   0.127    -.7211644    .0895441

I don't understand why would I have coefficient for (earlyconverter==1)*(afterconversion=0), shouldn't this combination in theory==0?

If the model set up is correct, (earlyconverters==1#afterconversion==0) is supposed to measure?