1 Motivation: Combining Two Approaches
Difference-in-differences (DiD) and synthetic control (SC) are two of the most widely used quasi-experimental methods in economics. DiD compares treated units to control units be- fore and after treatment, relying on parallel trends. SC constructs a weighted combination of control units to match the pre-treatment trajectory of the treated unit, without requiring parallel trends but requiring a good pre-treatment fit. Both methods have well-known limi- tations: DiD can fail when control units follow different trends; SC is designed for a single treated unit and can be sensitive to the choice of donor pool.
Arkhangelsky et al. [2021] proposed the synthetic difference-in-differences (SDiD) estima- tor, which combines the two approaches. SDiD re-weights control units as in SC (to achieve pre-treatment parallel trends) while also taking differences over time as in DiD (to remove time-invariant confounders). The result is an estimator that performs well in settings where neither pure DiD nor pure SC is ideal, and that has desirable efficiency properties under a factor model for the outcome.
2 Setup
Consider a balanced panel of N units observed over T periods, with $N_{tr}$ treated units that adopt treatment at period $T_{0}+1$ and $N_{co}=N-N_{tr}$ control units that never adopt. Denote $\hat{Y}_{it}(0)$ as the potential untreated outcome and $\hat{Y}_{it}(1)$ as the potential treated outcome. We observe:
$Y_{it}=Y_{it}(0)+D_{it}\cdot\tau_{it}$, (1)
where $D_{it}=1$ if unit i is treated in period t. The estimand is the average treatment effect on the treated (ATT):
$\tau^{ATT}=\frac{1}{N_{tr}(T-T_{0})}\sum_{i\in T}\sum_{t>T_{0}}\tau_{it},$ (2)
where T is the set of treated units.
3 The SDiD Estimator
The SDiD estimator solves a weighted DiD regression. Define:
- $\hat{\omega}^{sdid}=(\hat{\omega}_{1}^{co},...,\hat{\omega}_{N_{co}}^{co})$: unit weights for control units (as in SC)
- $\hat{\lambda}^{sdid}=(\hat{\lambda}_{1},...,\hat{\lambda}_{T_{0}})$: time weights for pre-treatment periods
The estimator is:
$\hat{\tau}^{sdid}=arg~min_{\tau,\alpha_{i},\beta_{t}}\sum_{i=1}^{N}\sum_{t=1}^{T}\hat{\omega}_{i}^{co}\hat{\lambda}_{t}(Y_{it}-\alpha_{i}-\beta_{t}-\tau D_{it})^{2}$ ,
where the unit weights $\hat{\omega}_{i}^{co}$ and time weights $\hat{\lambda}_{t}$ are estimated in a preliminary step.
3.1 Step 1: Unit Weights
(3)
Unit weights are chosen to make the pre-treatment trends of the weighted control units match the trends of the treated units. Formally:
$\hat{\omega}^{sc}=arg_{\omega\ge0,\sum\omega=1}\sum_{t=1}^{T_{0}}(\overline{Y}_{t}^{tr}-\sum_{i\in c_{0}}\omega_{i}Y_{it})^{2}+\zeta^{2}T_{0}||\omega||^{2},$
(4)
where $\overline{Y}_{t}^{tr}$ is the mean outcome of treated units in period t, and ( is a regularisation param- eter. The $L_{2}$ penalty discourages extreme weights and prevents overfitting.
3.2 Step 2: Time Weights
Time weights up-weight pre-treatment periods that best predict the post-treatment period:
$\hat{\lambda}^{sdid}=arg~min_{\lambda\ge0,\sum\lambda=1}\sum_{i\in co}(\overline{Y}_{i,post}-\sum_{t=1}^{T_{0}}\lambda_{t}Y_{it})^{2}+\zeta^{\prime2}T_{0}^{-1}||\lambda||^{2},$
(5)
where $\overline{Y}_{i,post}$ is the mean post-treatment outcome for control unit i. This step has no analogue in pure SC or pure DiD; it allows SDiD to down-weight pre-treatment periods that are distant in structure from the post-treatment period.
3.3 Step 3: Weighted DiD Regression
Given the weights, sdid is obtained by weighted least squares of $Y_{it}$ on unit and time fixed effects and the treatment indicator $D_{it}$, using weights $\hat{\omega}_{i}^{co}\hat{\lambda}_{t}$
4 Comparison to DiD and SC
Table 1 summarises how SDiD relates to its predecessors.
Removes unit FEYesNoYesRemoves time FEYesNoYesPre-trend requirementParallel trendsExact pre-fitApproximate pre-fitNumber of treated unitsManyOneOne or manyVariance estimationStandardBootstrapBootstrap/jackknife
The key insight is that SDiD achieves the best of both worlds: unit weights match pre- treatment trends (as in SC), and the double-differencing removes common time and unit confounders (as in DiD). Arkhangelsky et al. [2021] show that under a two-way factor model
$Y_{it}(0)=\alpha_{i}+\beta_{t}+u_{i}^{\prime}v_{t}+\epsilon_{it},$
(6)
SDiD consistently estimates the ATT under conditions where both DiD and SC may be biased.
5 Statistical Inference
Arkhangelsky et al. [2021] propose three variance estimators for sdid.
(a) Bootstrap over units. Resample units with replacement; recompute sdid on each bootstrap sample.
(b) Jackknife over units. Leave one unit out at a time; estimate variance from the leave-one-out distribution of .
(c) Placebo (permutation) inference. Randomly assign treatment to control units; compare the distribution of placebo to the actual estimate. This is especially useful when $N_{co}$ is small.
The placebo approach mirrors inference in SC [Abadie et al., 2010] and is the most robust when the number of control units is small relative to the number of time periods.
6 Application: California's Tobacco Tax
Arkhangelsky et al. [2021] replicate and extend Abadie et al. [2010]'s canonical application: the effect of California's 1989 Proposition 99 tobacco tax on per-capita cigarette sales. In the original SC analysis, California's per-capita sales dropped from roughly 100 packs per year before 1989 to around 60 packs by 2000, while the synthetic control (a weighted average of other states) remained near 90-95 packs.
SDiD produces similar point estimates to SC but with substantially smaller confidence intervals, reflecting its efficiency advantage from using time weights that down-weight early pre-treatment periods and from the double-differencing that removes unit-level heterogeneity.
7 Staggered Adoption
The original SDiD paper focused on a single adoption cohort. Extending to staggered treat- ment where different units adopt at different times requires care. Arkhangelsky et al. [2021] propose estimating cohort-specific treatment effects and aggregating them, analogous to the approach of Callaway and Sant'Anna [2021] in DiD. Software for staggered SDiD is available in the synthdid package in R.
8 Available Software
The synthdid package in R (available on CRAN and GitHub) implements:
synthdid_estimate(): compute sdid along with DiD and SC as special cases
vcov.synthdid_estimate(): variance estimation via bootstrap, jackknife, or placebo
synthdid_plot(): visualise treated and synthetic control trajectories with unit and time weights
Installation and a minimal example:
install.packages("synthdid")
library (synthdid)
#California tobacco data (panel: state x year)
data (california_prop99)
setup <- panel. matrices (california_prop99)
Estimate SDiD, SC, DiD
tau_sdid <- synthdid_estimate (setup$Y, setup$NO, setup$TO)tau\_sc \<- sc\_estimate (setup$Y, setup$NO,setup$TO)
tau_did <- did_estimate (setup$Y, setup$NO, setup$TO)
Standard errors via bootstrap
se_sdid <- sqrt(vcov (tau_sdid, method = "bootstrap"))
cat("SDiD:", round (tau_sdid, 2), "(SE:", round (se_sdid, 2), ")\n")
9 Conclusion
Synthetic DiD represents a meaningful methodological advance: it inherits SC's ability to construct data-driven comparison groups that match pre-treatment trends, while adding DiD's robustness to time-invariant confounders. Under a factor model, it is asymptotically efficient. The method is particularly valuable in settings with moderate numbers of control units and pre-treatment periods, where pure SC may overfit and pure DiD may rest on implausible parallel trends assumptions.
References
- Abadie, A., Diamond, A., and Hainmueller, J. (2010). Synthetic control methods for compar- ative case studies: Estimating the effect of California's tobacco control program. Journal of the American Statistical Association, 105(490):493-505.
- Arkhangelsky, D., Athey, S., Hirshberg, D. A., Imbens, G. W., and Wager, S. (2021). Syn- thetic difference-in-differences. American Economic Review, 111(12):4088-4118.
- Callaway, B. and Sant'Anna, P. Н. С. (2021). Difference-in-differences with multiple time periods. Journal of Econometrics, 225(2):200-230.