0) Assumptions
Implementation / observed-data requirements
- Exactly one treated unit in the analysis sample.
- At least 2 donor units in the donor pool.
- Donors are never treated during the analysis horizon.
- The treated unit is untreated in all pre-periods and treated in all post-periods.
- There is at least one pre-treatment period and at least one post-treatment period.
- Pre and post periods are disjoint, ordered, and satisfy
- The treated+donor analysis block is balanced over all analysis periods.
- There are no duplicate ((unit,time)) rows.
- There are no missing outcomes in the treated+donor analysis block used for estimation.
Identification / modeling assumptions
- No interference / spillovers: donor outcomes are unaffected by the treated unit’s treatment.
- No anticipation: treatment does not affect the treated unit in pre-periods.
- The treated unit’s untreated outcome path is well approximated by the donor pool, at least in the pre-treatment period.
- Good pre-treatment fit is informative about the treated unit’s untreated post-treatment path.
- In ASCM, residual imbalance left by SCM is adequately captured by the augmentation model, allowing controlled extrapolation beyond the donor convex hull.
- The untreated outcome relationship is stable from pre- to post-period absent treatment.
Inference assumptions
- For CWZ-style pointwise conformal inference, the residual process under the null is sufficiently stable / approximately shift-invariant for circular time shifts to generate a valid or approximately valid reference distribution.
ASCM pseudocode with math
1) Build balanced panel matrices
2) Fit simplex SCM anchor ( w_{sc} )
We first estimate simplex-constrained SCM weights.
Optimization problem
subject to
Define
Then the objective becomes
where
Pseudocode
3) Fit augmented weights ( w_{aug} )
Now fit ridge-augmented weights centered around the simplex anchor.
Optimization problem
First-order condition:
Define
Unconstrained solution:
Optional sum-to-one correction
If enforcing
then
Otherwise
Pseudocode
4) Build synthetic path and dynamic treatment effects
Synthetic untreated outcome:
Gap path:
Dynamic treatment effects:
5) Default inference: average ATT t-test
This layer targets an aggregate post-treatment effect using fold-based bias correction.
5.1 Build holdout blocks
Let requested number of folds be (K_{req}). Define:
Construct contiguous pre-treatment holdout blocks
Each block has length (r).
5.2 Fold-specific refits
For each fold (k):
- training pre-periods:
- fit fold-specific weights:
with the same anchor-then-augment procedure applied on the training subset.
- compute post mean gap:
- compute holdout pre mean gap:
- fold ATT estimate:
Aggregate across folds:
5.3 Self-normalized t-statistic
Compute fold sample standard deviation:
Scale adjustment:
Estimated standard error:
Test statistic:
Two-sided p-value:
Confidence interval:
Pseudocode
6) Optional pointwise conformal inference for each post period
For each post period , perform grid inversion of null hypotheses
6.1 Reduced sample for one target post period
For a fixed post period , keep only:
- all pre periods,
- the single target post period .
So the reduced sample size is
For candidate null effect (\theta), modify the treated outcome at the target period:
Let
Refit the augmented weights on the reduced sample:
Residual vector under the null:
6.2 CWZ statistic
Let the last coordinate correspond to the single reduced-sample post period.
Define the CWZ statistic:
Since here ,
6.3 Circular-shift randomization p-value
Let denote the -th circular shift of the residual vector, for
Compute
This is the randomization p-value for the null effect .
6.4 Invert the test over a grid
Choose a grid
For each (\theta_g\in\Theta), compute (\hat p(\theta_g)).
Accepted set:
Convert accepted grid points into contiguous accepted segments:
If there is exactly one accepted segment, define the pointwise CI as
Otherwise keep the full accepted-set representation.
Pointwise p-value for no effect:
Pointwise significance indicator:
Minimum attainable p-value:
Pseudocode
7) Return PanelEstimate
Very compact math summary
If you want a shorter “formula-only” version for docs, this is the essence:
References
-
[AG2003] Abadie, A., and Gardeazabal, J. (2003). The Economic Costs of Conflict: A Case Study of the Basque Country. American Economic Review, 93(1), 113–132. (American Economic Association)
-
[ADH2010] Abadie, A., Diamond, A., and Hainmueller, J. (2010). Synthetic Control Methods for Comparative Case Studies: Estimating the Effect of California’s Tobacco Control Program. Journal of the American Statistical Association, 105(490), 493–505. (JSTOR)
-
[ADH2015] Abadie, A., Diamond, A., and Hainmueller, J. (2015). Comparative Politics and the Synthetic Control Method. American Journal of Political Science, 59(2), 495–510. (MIT Economics)
-
[Abadie2021] Abadie, A. (2021). Using Synthetic Controls: Feasibility, Data Requirements, and Methodological Aspects. Journal of Economic Literature, 59(2), 391–425. (NBER)
-
[DI2016] Doudchenko, N., and Imbens, G. W. (2016). Balancing, Regression, Difference-in-Differences and Synthetic Control Methods: A Synthesis. NBER Working Paper 22791 / arXiv:1610.07748. (NBER)
-
[BFR2021] Ben-Michael, E., Feller, A., and Rothstein, J. (2021). The Augmented Synthetic Control Method. Journal of the American Statistical Association, 116(536), 1789–1803. (NBER)
-
[CWZ2021] Chernozhukov, V., Wüthrich, K., and Zhu, Y. (2021). An Exact and Robust Conformal Inference Method for Counterfactual and Synthetic Controls. Journal of the American Statistical Association, 116(536), 1849–1864. (OUP Academic)
-
[CWZ-T] Chernozhukov, V., Wüthrich, K., and Zhu, Y. A t-test for synthetic controls / Debiasing and t-tests for synthetic control inference on average causal effects. arXiv:1812.10820. (arXiv)