ppsynth: Partial-Pooling Synthetic Control with Multiple Outcomes
Synthetic control for studies with several outcomes. Each
outcome receives its own donor weights, their dispersion around a common
centroid is penalized, no single penalty is ever selected (the estimator
aggregates over a penalty grid by leave-one-out exponential weighting),
and the resulting mass profile reports how much pooling the data support.
One call returns the per-outcome effects, the weights, the realized
pooling, and whole-pipeline placebo p-values. Implements the estimator of
Grier (2026) "Correlated Weights: Partial Pooling for Synthetic Control
with Multiple Outcomes" <https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7149398>,
the common-weights corner of which is the estimator of Sun, Ben-Michael
and Feller (2025) <doi:10.1162/rest_a_01592>. The compiled engine and a
pure-R reference engine are certified against the Python engine behind
the 'Stata' command 'ppsynth'.
Documentation:
Downloads:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=ppsynth
to link to this page.