SCSPILLConfig
utils.scspill_helpers.config.SCSPILLConfig()Configuration for a spillover synthetic-control fit (today, model sar).
Implements:
Sakaguchi, S., & Tagawa, H. (2026). "Identification and Bayesian
Inference for Synthetic Control Methods with Spillover Effects." The
Econometrics Journal. https://doi.org/10.1093/ectj/utag006
The panel is a long DataFrame (one row per unit-period). The treated unit and the treatment date are inferred from the 0/1 treat indicator column (1 for the treated unit in post-treatment periods), following the mlsynth convention. The spatial structure is supplied through spatial_w (treated-to-control exposure) and spatial_W (control-to-control weights), aligned to donor units by label.
Mapping from the R package’s sc_spillover() arguments:
============== ======================= ==================================== R argument SCSPILLConfig field Notes ============== ======================= ==================================== data df long panel y outcome column name unit_col unitid column name time_col time column name treatment_dummy treat column name; also identifies the treated unit and T0 treated_unit/T0 – inferred from treat w spatial_w label-aligned Series/dict/array W spatial_W label-aligned DataFrame/array X covariates column names in df p_factors p_factors M m_iter burn burn step_rho step_rho initial value when adapt_rho seed seed ============== ======================= ====================================
Differences from the R code (paper-correct defaults, each with an R-compatibility escape hatch):
beta_prior="horseshoe"implements the paper’s Section 4.2 horseshoe prior on the covariate coefficients;"ridge"reproduces the R code’s flat-plus-ridge conditional.propagate_alpha=Truepairs(alpha^(m), rho^(m))posterior draws in the effect formulas (the paper’s stated procedure);Falsereproduces the R package’s intervals, which holdalphafixed at its posterior mean and vary onlyrho.adapt_rho=Truetunes therhorandom-walk step during burn-in towardtarget_accept_rho(Robbins-Monro), then freezes it; the R sampler uses a fixed step.- Covariates are carried as a proper
(T, N, K)array throughout, fixing the R package’s covariate memory-layout mismatch.