Coarsened Exact Matching (CEM)
Coarsened Exact Matching Estimator · Also known as: CEM, coarsened matching, monotonic imbalance bounding matching
Coarsened Exact Matching is a preprocessing method that achieves covariate balance by temporarily coarsening continuous variables into bins, exactly matching treated and control units within those bins, and then discarding all unmatched units. Introduced by Iacus, King, and Porro (2011, 2012), it bounds imbalance on each covariate independently, yielding a matched sample on which any estimator can be applied without relying on a propensity score model.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
+17 more
When to use it
Use CEM when you need a transparent, assumption-light method to balance treated and control groups on a moderate number of pre-treatment covariates (roughly 2-10) before estimating a causal effect. It suits cross-sectional and panel data with a binary treatment and continuous, categorical, or mixed covariates. Prefer CEM over propensity-score matching when you want explicit control over balance rather than relying on a score model. Avoid it when the covariate space is very high-dimensional (many variables or many levels), as the stratum grid explodes and too many units are pruned, leaving insufficient matched data. It is also unsuitable when treatment is continuous rather than binary.
Strengths & limitations
- Bounds imbalance on each covariate independently (monotonic imbalance bounding property), so researchers can directly inspect and control residual imbalance.
- Does not require a propensity-score model, eliminating a potential source of specification error.
- The coarsening choices are fully transparent and easy to report and reproduce.
- Matched sample is easy to examine and validate: any unit not matched is simply excluded.
- Works with mixed data types (continuous, binary, ordinal, nominal) without special preprocessing.
- Curse of dimensionality: with many covariates or many covariate levels, most strata are empty and a large fraction of units is pruned, reducing sample size and statistical power.
- Coarsening choices are researcher-determined and results can be sensitive to the bin boundaries chosen.
- Discarding unmatched units can induce sample selection and may limit generalisability of the ATT estimate.
- Like all matching methods, it only controls for observed confounders; unmeasured confounding remains a threat.
Frequently asked
How does CEM differ from nearest-neighbour propensity-score matching?
Nearest-neighbour PSM matches on a single scalar (the propensity score) and can mask imbalance on individual covariates. CEM matches directly on the covariates themselves within coarsened bins, giving explicit control over and transparency about residual imbalance on each variable. CEM also does not require a score model, removing one layer of model dependence.
How should I choose the coarsening bins?
Common strategies include using standard summary statistics (e.g., quartiles, median), substantively meaningful cut-points (e.g., age groups), or the default automatic coarsening in the cem R package, which uses Sturges' rule. The key is to check the resulting imbalance statistic (L1) and the fraction of matched units, and to try several alternatives to verify robustness.
What happens to units that are not matched?
They are discarded from the analysis. This is by design: CEM trades sample size for balance. If too large a fraction is pruned, consider a coarser matching resolution, or switch to a weighting method (such as entropy balancing or IPW) that retains all units.
Can I use CEM with panel data or difference-in-differences?
Yes. CEM is commonly used as a preprocessing step before DiD or panel regression. You match on pre-treatment characteristics to form a balanced sample and then apply the DiD estimator within the matched sample to control for both observed confounders (through matching) and time trends (through differencing).
What software implements CEM?
The cem package in R (by Iacus, King, and Porro) provides the canonical implementation with automatic and manual coarsening, L1 imbalance diagnostics, and CEM weights. Stata users can use the cem command, and a Python interface is also available.
Sources
- Iacus, S. M., King, G., & Porro, G. (2012). Causal Inference without Balance Checking: Coarsened Exact Matching. Political Analysis, 20(1), 1-24. DOI: 10.1093/pan/mpr013 ↗
- Iacus, S. M., King, G., & Porro, G. (2011). Multivariate matching methods that are monotonic imbalance bounding. Journal of the American Statistical Association, 106(493), 345-361. DOI: 10.1198/jasa.2011.tm09599 ↗
How to cite this page
ScholarGate. (2026, June 3). Coarsened Exact Matching Estimator. ScholarGate. https://scholargate.app/en/causal-inference/coarsened-exact-matching
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Difference-in-DifferencesEconometrics↔ compare
- Entropy BalancingCausal inference↔ compare
- Inverse Probability WeightingCausal inference↔ compare
- Matching EstimatorCausal inference↔ compare
- Propensity Score MatchingResearch Statistics↔ compare
- Propensity Score WeightingCausal inference↔ compare