The scpi
package provides Python, R and Stata implementations of estimation and inference procedures for synthetic control methods.
This work was supported by the National Science Foundation through grants SES-1947805, SES-2019432, and SES-2241575, and by the National Institutes of Health through grant R01 GM072611-16.
Please email: scpi_pkg@googlegroups.com
To install/update in Python type:
pip install scpi_pkg
Help: PyPI repository.
Replication: py-script, plot illustration, data.
Illustration Staggered Adoption: py-script, plot illustration.
To install/update in R from CRAN type:
install.packages('scpi')
Help: R Manual, CRAN repository.
Replication: R-script, plot illustration, data.
Illustration Staggered Adoption: R-script, plot illustration.
The Stata implementation relies on Python, which needs to be available in the system.
There are at least two ways to install Python:
After Python is installed, please run the following two commands via the Python command line:
pip install luddite
pip install scpi_pkg
Stata (16.0 or newer) and Python (>=3.12) can be linked following the official tutorial on the Stata blog.
net install grc1leg, from("http://www.stata.com/users/vwiggins/") replace force
net install scpi, from(https://raw.githubusercontent.com/nppackages/scpi/master/stata) replace force
Replication files: do-file, plot illustration, data.
Illustration Staggered Adoption: do-file, plot illustration.
For source code and related files, visit scpi
repository.
Cattaneo, Feng, Palomba and Titiunik (2024): Uncertainty Quantification in Synthetic Controls with Staggered Treatment Adoption.
Working paper.
Supplemental
Cattaneo, Feng and Titiunik (2021): Prediction Intervals for Synthetic Control Methods.
Journal of the American Statistical Association 116(536): 1865-1880.
Supplemental