I am using the MatchIt package in R for Coarsened Exact Matching. I only understand the basic idea of Coarsened Exact Matching. I have difficulties understanding what the estimand should be.

In the manual, it says for method_cem:

estimand: a string containing the desired estimand. Allowable options include "ATT", "ATC", and "ATE". The estimand controls how the weights are computed

And about how matching weights are computed:

Weights are then computed using the standard formulas for inverse probability weights with the stratum propensity score inserted: for the ATT, weights are 1 for the treated units and sp/(1-sp) for the control units; for the ATC, weights are (1-sp)/sp for the treated units and 1 for the control units; for the ATE, weights are 1/sp for the treated units and 1/(1-sp) for the control units. For cardinality matching, all matched units receive a weight of 1.

where sp is the stratum propensity score.

I am using CEM as a preprocessing for my further DiD analysis.

What should my estimand be?

Thank you a lot!


1 Answer 1


I assume you are using CEM to create comparable groups that you can use in DiD in order to help satisfy the parallel trends assumption. The usual parallel trends assumption allows your DiD estimate to target the ATT. It would therefore make sense to target the same estimand with your matching. Note that if the matching discards any treated units, the estimand no longer corresponds to the ATT but rather to an undefined estimand (the ATT in the matched sample), which depends heavily on the specific matching formulation you use.

I would recommend against using CEM and instead using a method that you are more familiar with. CEM is highly sensitive to the coarsening strategy used and can change the estimand dramatically by limiting the sample. Using k:1 matching without a caliper will make it easier to perform inference after the matching, is more intuitive to audiences, and doesn't have the problem of changing the estimand.

  • $\begingroup$ Thank you. Can you give me an intuition why the estimand should be specified here? $\endgroup$
    – xxx
    Commented Sep 11, 2023 at 20:06
  • $\begingroup$ To be consistent with the DiD estimand. If you are trying to estimate the ATT (which you are if you're using DiD) then you need to request the ATT. $\endgroup$
    – Noah
    Commented Sep 11, 2023 at 21:00
  • $\begingroup$ I mean, as a general principle, why do we need to specify the estimand in CEM? $\endgroup$
    – xxx
    Commented Sep 11, 2023 at 21:48
  • $\begingroup$ Because the estimand is needed to compute the matching weights, which determine the population the effect generalizes to. ATT weights make the control units resemble the treated units and leave the treated units alone (well, the treated units that remain in the sample). ATE weights make both groups resemble the full sample (of the remaining units). This is true of propensity score weights, of which matching weights are a type as I describe in this post: ngreifer.github.io/blog/matching-weights $\endgroup$
    – Noah
    Commented Sep 11, 2023 at 21:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.