Treatment-specific trends in a difference-in-differences regression

I have a dataset in the following form:

 <id> <city> <treated> <time> <after>


where id identifies the individuals in my panel, city is the location where the individual live (non-time varying), treated is a dummy indicating those individual that are eventually treated (0: non-treated, 1: treated), time is a year-month variable, and after is a dummy (0: before, 1: after) indicating the period in which the treated unit are under treatment.

Withi this data I am running a DD specification:

  y = i.treated##i.after + i.time


Now, as is common practice I want to add treatment specific time trends (this should relax the parallel trend assumption), so I run:

  y = i.treated##i.after + i.time + c.treated#c.time


To make the model even more flexible I want to introduce city-treatment specific linear trends:

  y = i.treated##i.after + i.time + i.city#c.treated#c.time


My question is, does it make sense to include city-treatment trends? Results are quite different using treatment specific or city-treatment specific trends.

Moreover, can someone explain to me what's the statistical difference between adding trends using:

 i.city#c.treated#c.time


or:

  i.city#i.treated#c.time


My understanding is that the second approach creates two trends for every city , one for treated and one for untreated units (which I think it is what I want), while the first approach creates a trend for every city-treated group.

If someone can help me understand the statistical difference between the two approaches, or suggest some papers to read, it would be really useful.

Thanks a lot!

EDIT: sorry but I was wrong, I didn't figure out the statistical difference between adding i.city#c.treated#c.time or i.city#i.treated#c.time, so if anyone knows what is the correct way to add city-treatment specific linear trends, this would be very helpful -- thanks

• First, the ### notation does not make sense, even in Stata. Second, it would be useful to define # as the binary operator to specify interactions, and ## as the binary operator to specify factorial interactions (both levels and their interaction). – Dimitriy V. Masterov Jul 25 '16 at 6:00
• i.city#i.treated#c.time creates a trend for all treated observation in each city, not a city-specific trend. That would be i.city#c.t. – Dimitriy V. Masterov Jul 25 '16 at 6:02
• Fixed the typos. I think I figured our the answer. – Davide Jul 25 '16 at 16:13
• You can answer your own question on this site. I would not mind knowing the answer. – Dimitriy V. Masterov Jul 25 '16 at 16:14