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'.