You are correct that the ANCOVA estimator and the DID do not estimate the same parameter. ANCOVA estimates $$(\bar Y^T_{POST}−\bar Y^C_{POST}) − \hat \theta \cdot (\bar Y^T_{PRE} - \bar Y^C_{PRE}),$$
where $\hat \theta$ is the coefficient on the lagged outcome,
while DID is
$$(\bar Y^T_{POST}−\bar Y^T_{PRE}) − (\bar Y^C_{POST} - \bar Y^C_{PRE})$$
These formulas are given in McKenzie (2012).
You can verify this with yourself with a regression:
. use http://fmwww.bc.edu/repec/bocode/c/CardKrueger1994.dta, clear
(Dataset from Card&Krueger (1994))
. /* fix sample */
. drop if id == 407 // duplicate restaurant
(4 observations deleted)
. xtset id t
panel variable: id (strongly balanced)
time variable: t, 0 to 1
delta: 1 unit
. drop if missing(fte)
(19 observations deleted)
. bysort id: keep if _N==2
(19 observations deleted)
. reg fte i.treated##i.t, cluster(id) // DID
Linear regression Number of obs = 778
F(3, 388) = 1.88
Prob > F = 0.1318
R-squared = 0.0091
Root MSE = 9.0696
(Std. Err. adjusted for 389 clusters in id)
------------------------------------------------------------------------------
| Robust
fte | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
treated |
NJ | -3.104066 1.448499 -2.14 0.033 -5.951955 -.2561769
1.t | -2.523333 1.250619 -2.02 0.044 -4.982171 -.0644953
|
treated#t |
NJ#1 | 2.972378 1.334611 2.23 0.027 .3484041 5.596352
|
_cons | 20.17333 1.360045 14.83 0.000 17.49935 22.84731
------------------------------------------------------------------------------
. reg fte i.treated L.fte if t==1, cluster(id) // ANCOVA
Linear regression Number of obs = 389
F(2, 388) = 50.02
Prob > F = 0.0000
R-squared = 0.2817
Root MSE = 7.3454
(Std. Err. adjusted for 389 clusters in id)
------------------------------------------------------------------------------
| Robust
fte | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
treated |
NJ | 1.374712 .9578786 1.44 0.152 -.5085701 3.257994
|
fte |
L1. | .485299 .0485207 10.00 0.000 .3899025 .5806954
|
_cons | 7.859902 1.224966 6.42 0.000 5.4515 10.2683
------------------------------------------------------------------------------
. table t treated , c(mean fte) // means
------------------------------
Feb. 1992 | New Jersey = 1;
= 0; Nov. | Pennsylvania = 0
1992 = 1 | PA NJ
----------+-------------------
0 | 20.17333 17.06927
1 | 17.65 17.51831
------------------------------
. di (17.518 - 17.069 ) - ( 17.650-20.173 )
2.972
. di (17.518 - 17.650) - .485299*(17.069 -20.173 )
1.3743681