Hello,

We are running a model with a binary Y and two binary endonegous X variables X1 and X2 which we are instrumenting with Z1 and Z2. X1 and X2 are also dummy variables. We are using the following code for our analysis:

cmp (Y= X1 X2 `Other Xvars') (X1 = Z1 Z2 `Other Xvars') (X2 = Z1 Z2 `Other Xvars'), indicators($cmp_probit $cmp_probit $cmp_probit) vce(cluster Cluster)
margins, predict(pr eq(#1)) dydx(X1) force
margins, predict(pr eq(#1)) dydx(X2) force

Everything is working fine with the above code.

Next, we try to estimate the conditional marginal effect of X1 for X2=0 or 1 and vice versa. To do that we use the following code:

margins, predict(pr eq(#1)) dydx(X1) subpop (if X2==0) force post
margins, predict(pr eq(#1)) dydx(X1) subpop (if X2==1) force post

However, this gives us "margins not estimable". We cannot understand the issue here. We have also tried the following options, but keep getting the same problem:
1. margins, predict(pr eq(#1)) dydx(X1) at(X2=(0 1)) force post
2. We have tried changing to vce(robust) and also vce(cluster State) in the main cmp specification.

We are at a complete loss as to why we keep on getting this error. We would highly appreciate if someone could guide us on how we can get conditional marginal effects in our context, following the CMP command. Thanks a lot in advance!