Skip to content

A python module for the synthetic control method

License

Notifications You must be signed in to change notification settings

sdfordham/pysyncon

Repository files navigation

pysyncon codecov

A python module for the synthetic control method that provides implementations of:

  • Synthetic Control Method (Abadie & Gardeazabal 2003)
  • Robust Synthetic Control Method (Amjad, Shah & Shen 2018)
  • Augmented Synthetic Control Method (Ben-Michael, Feller & Rothstein 2021)
  • Penalized Synthetic Control Method (Abadie & L'Hour 2021)

The package also provides methods for performing placebo tests and generating confidence intervals.

The implementation of the synthetic control method aims to be reconcilable with the R package Synth and similarly the implementation of the Augmented synthetic control method and the R package augsynth.

Installation

Install it from PyPI using pip:

python -m pip install pysyncon

Usage

Documentation is available on github-pages. In the examples folder are notebooks reproducing the weights from:

  • The Economic Costs of Conflict: A Case Study of the Basque Country, Alberto Abadie and Javier Gardeazabal; The American Economic Review Vol. 93, No. 1 (Mar., 2003), pp. 113-132. (notebook here)
  • The worked example 'Prison construction and Black male incarceration' from the last chapter of 'Causal Inference: The Mixtape' by Scott Cunningham. (notebook here)
  • Comparative Politics and the Synthetic Control Method, Alberto Abadie, Alexis Diamond and Jens Hainmueller; American Journal of Political Science Vol. 59, No. 2 (April 2015), pp. 495-510. (notebook here)

Citation

If you use this package in your research, you can cite it as below.

@software{pysyncon,
  author = {Fordham, Stiofán},
  month = dec,
  title = {{pysyncon: a Python package for the Synthetic Control Method}},
  url = {https://github.com/sdfordham/pysyncon},
  year = {2022}
}