Hello!

I have a panel of workers (X years X firms).

From this panel, I created a sample of workers who were laid off - the treatment group.
In this treatment sample, each treated worker has 1 observation with the year of treatment.

In the same manner, I construct my control group.
Alas, in the pool of workers that were not laid-off, each worker has more than one observation (for every year that the worker was not laid-off but adheres to some restrictions).

I would like to match 1 worker from the control pool to the treatment group, without replacement, based on their propensity score which I have already constructed.

If I try to use e.g. -psmatch2- or -teffects psmatch- on the entire pool, I will have the same workers from the control group (in different years) matched to different workers from the treatment group. My control sample will have fewer individuals than the treatment.

I would like to end up with only one observation per worker from the control pool in my matched sample.

I could take one row per worker in the control pool at random before I do the matching, but if I want to match on the propensity score within the treatment year, I might not have enough observations in the control sample.

I was wondering whether there was a clever way to do this kind of matching.

Would appreciate any input!