Estimators

synthdid_estimate()

Computes the synthetic diff-in-diff estimate for an average treatment effect on a treated block.

sc_estimate()

synthdid_estimate for synthetic control estimates. Takes all the same parameters, but by default, passes options to use the synthetic control estimator By default, this uses only 'infinitesimal' ridge regularization when estimating the weights.

did_estimate()

synthdid_estimate for diff-in-diff estimates. Takes all the same parameters, but by default, passes options to use the diff-in-diff estimator

vcov(<synthdid_estimate>)

Calculate Variance-Covariance Matrix for a Fitted Model Object

synthdid_effect_curve()

Outputs the effect curve that was averaged to produce our estimate

Summary methods

synthdid_controls()

Outputs a table of important synthetic controls and their corresponding weights, sorted by weight. The table is truncated to exclude synthetic controls that do not matter for any estimate --- for each estimate, the truncated controls may have total weight no larger that 1-mass.

summary(<synthdid_estimate>)

Summarize a synthdid object

print(<synthdid_estimate>)

Print a synthdid object

Utilities

panel.matrices()

Convert a long (balanced) panel to a wide matrix

Plots (requires ggplot2)

plot(<synthdid_estimate>)

Plot a synthdid object

synthdid_plot()

Plots treated and synthetic control trajectories and overlays a 2x2 diff-in-diff diagram of our estimator. In this overlay, the treatment effect is indicated by an arrow. The weights lambda defining our synthetic pre-treatment time period are plotted below. If a list of estimates is passed, plots all of them. By default, does this in different facets. To overlay estimates in the same facet, indicate a facet for each estimator in the argument 'facet'.

synthdid_units_plot()

Plots unit by unit difference-in-differences. Dot size indicates the weights omega_i used in the average that yields our treatment effect estimate. This estimate and endpoints of a 95% CI are plotted as horizontal lines. Requires ggplot2

synthdid_placebo_plot()

For our estimator and a placebo, plots treated and synthetic control trajectories and overlays a 2x2 diff-in-diff diagram. Requires ggplot2

synthdid_rmse_plot()

A diagnostic plot for sc.weight.fw.covariates. Plots the objective function, regularized RMSE, as a function of the number of Frank-Wolfe / Gradient steps taken. Requires ggplot2

Data sets

california_prop99

California proposition 99