Hi,

I am working with unbalanced panel data at the individual-month level. I would like to match individuals in my data using CEM and then run a logistic regression using cem weights, with strata fixed effects, to estimate the effect of my treatment variable (treat_yn) on my dependent variable. Unfortunately, I do not have the rights to share the data even anonymized. However, below is the basic format of the data (collapsed to the individual level):
sl_no district village individual_id household_id gender age hh_char1 hh_char2 treat_yn
1 d1 v1 ID_1 HH_1 M 25 0.5 0.33 0
2 d1 v1 ID_2 HH_1 M 25 0.5 0.33 1
3 d1 v1 ID_3 HH_1 F 45 1 0 1
4 d1 v2 ID_4 HH_2 M 68 0.45 0.66 0
5 d1 v2 ID_5 HH_2 M 23 0.33 0.33 1
6 d1 v2 ID_6 HH_2 F 34 0.66 0.5 0
7 d2 v3 ID_7 HH_3 F 45 0.25 0.20 1
8 d2 v3 ID_8 HH_3 M 35 0.5 0.5 0
9 d3 v4 ID_9 HH_4 F 22 0 1 0
While specifying the cem options, I cannot find a way to ensure that individuals not be matched on a variable. For context - each individual in my data is assigned a household number. I do not want individuals within the same household to be matched. In the example above, I want to make sure that sl_no = '1' and sl_no = '2' are NOT matched.

The cem command I am currently using is as follows:

cem district village age(25 32 40) gender hh_char1(1 1.5 2 3 4) hh_char2(0.01 0.25 0.3333333 0.5 0.75), treatment(treat_yn)

However, this does not ensure that individuals with the same household_id are NOT matched. Is there a way to achieve this in the cem options?

While there appear to be ways to force an exact match on a variable, I cannot find a way to force an exact 'no match'. Any leads on how to achieve this would be helpful.