# Matching Strategies ## Standard vs Exhaustive Matching - **Standard (`exhaustive_matching=False`)**: uses nearest-neighbor style control selection with configurable method/replacement behavior. - **Exhaustive (`exhaustive_matching=True`)**: prioritizes wider control utilization while still respecting threshold constraints. ## Key Parameters - `threshold`: max allowed score distance - `nmatches`: controls per treated unit - `replacement`: whether a control can be reused - `method`: `"min"` (closest) or `"random"` (random within threshold) ## Practical Guidance - Start with `nmatches=1`, `replacement=False`, and a moderate threshold. - If retention is too low, loosen `threshold` gradually. - If balance is weak after matching, tighten threshold or change model/balance strategy. - For severe class imbalance, test `balance_strategy="under"` as sensitivity analysis.