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=True pairs (alpha^(m), rho^(m)) posterior draws in the effect formulas (the paper’s stated procedure); False reproduces the R package’s intervals, which hold alpha fixed at its posterior mean and vary only rho.
  • adapt_rho=True tunes the rho random-walk step during burn-in toward target_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.