Dear Statalist-users,

I want to conduct a mediation analysis in a difference-in-difference setting. I want to determine which element of the policy was effective. My dif-in-dif is based on a matched sample using national register data.

The dependent variable (y) is the number of months in employment in the post-intervention period which I transformed to a 0 to 1 ratio for easier interpretation. First, in the first model, I want to observe the treatment effect by a standard dif-in-dif model. Second, I would add a mediator (m) to see how it affects the treat##post interaction. Usually, I would conduct such an analysis using fixed-effects linear regression (xtreg, fe); also based on the answer Julian Schuessler gave on another forum (StackExchange).

Please see
HTML Code:
https://stats.stackexchange.com/questions/261218/difference-in-difference-model-with-mediators-estimating-the-effect-of-differen
Thus, I need to control for fixed effects to net out the indirect effect of the treatment through M:

Code:
xtreg y treat##post, fe
xtreg y treat##post m, fe

However, I observe in the data that many control units have a value of 0 on the dependent variable in the post-intervention period, implying that many control units are unemployed in the post-intervention period. Therefore, I thought about a Tobit approach. Otherwise, I might underestimate the treatment effect given that the 'grand mean' would be heavily influenced by the positive outcomes of the treatment group (in relation to the low scores in the control group) and us affecting the within-variance; am I right?

However, there is no option in either tobit and xttobit to control for fixed effects. The module 'pantob' is heavily criticized because of producing biased standard errors so I skipped that option. Thus, I included - in this exploratory stage - personal identifiers as factor variables in a tobit regression to control for unobserved heterogeneity:

Code:
tobit y i.personalidentifier treat##post, ll(0) ul(1) vce(cluster personalidentifier)
tobit y i.personalidentifier treat##post m, ll(0) ul(1) vce(cluster personalidentifier)
My question is what would be wrong with such an approach? I have serious doubt about my approach because there is no such module in Stata but I am very interested in the opinion over here. Should I better stick to the xtreg, fe approach or does someone have another brilliant idea?

Thanks for your time in advance.

Roy