Install the app

Install this application on your home screen for quick and easy access when you’re on the go.

Just tap Share then “Add to Home Screen”

Political Science in Europe

WA115 - Synthetic Control Methods for Policy Impact Evaluation

Instructor Details

Instructor Photo

Bruno Castanho Silva

University of Cologne

Instructor Bio

Bruno Castanho is a postdoctoral researcher at the Cologne Center for Comparative Politics, University of Cologne.

He holds a PhD in political science from Central European University and has experience teaching various topics in research design and methodology, including causal inference, machine learning, and structural equation modelling. 

Bruno has written a textbook on Multilevel Structural Equation Modelling in collaboration with fellow Winter School instructors Constantin Manuel Bosancianu and Levi Littvay.


Course Dates and Times

Friday 14 February 13:00–15:00 and 15:30–18:00

Saturday 15 February 09:00–12:30 and 14:00–17:30

Prerequisite Knowledge

You should be familiar with concepts and practices of traditional multivariate regression analysis.

Examples will be given in R or Stata, so you should also have a working knowledge of one of these two softwares. 

Short Outline

Synthetic control methods appeared as a way of conducting causal inference for single case studies. They allow us to identify causal effects of an intervention or policy change in one unit (city, region, country, etc) on an outcome of interest over time. Given their multiple possible applications, these methods have become very popular in economics, political science, and public policy.

This course starts from the basics of the potential outcomes framework underlying the workings of synthetic controls, and works through the various ways to implement them.

We begin with single-case studies, cover inference with placebo tests in space and time, and move to more advanced implementations where there are multiple treated cases, as well as generalisations of synthetic controls.

Tasks for ECTS Credits

1 credit (pass/fail grade). Attend at least 90% of course hours, participate fully in in-class activities, and carry out the necessary reading and/or other work prior to, and after, class.

Long Course Outline

Synthetic control methods are used for conducting causal inference with longitudinal data. Their popularity comes from the intuitive interpretation of their results, as well as their ability to estimate causal effects on a single treated unit.

These methods work by creating a synthetic unit (city/region/country/etc) that is as similar as possible to the one that has received some sort of intervention (the so-called 'treated' unit), or where a policy has been adopted, except for the intervention/policy itself. Any difference between the real unit and the synthetic one on the outcome of interest is deemed to have been caused by the policy or intervention.

In recent years, there has been an explosion of expansions to synthetic control methods, allowing not only single-case studies but also small, medium, and large-N analysis and inference.

Day 1
The first session starts with the potential outcomes framework (or Rubin Causal Model), which underlies the synthetic controls framework. We discuss the foundations of how and when the estimates of synthetic controls can be causally identified, and introduce the notation used in the course.

We follow with a conceptual discussion on assumptions, applicability, estimation, and inference. We discuss how the weights are assigned, data requirements for estimation, and how to interpret results.

We end this first day with a practical session on implementing synthetic controls. Examples will be given in R, but Stata code will be provided for those who prefer it.

Day 2
We start with robustness and sensitivity tests, namely placebo tests which are used for inference and testing assumptions. We cover placebo-in-time tests, as well as the construction of placebos for significance testing. We also look at sensitivity tests, such as the jackknife, to assess how robust the results are in relation to the untreated units in the sample.

We then move to applications of synthetic controls to multiple treated units, an emerging area in this topic. This session covers how to build synthetic controls for several units, how to assess the fit of controls, calculate an average treatment effect, and bootstrapping methods for testing the significance of results.

After a lab practice, we go to recent advanced applications of synthetic controls, and look at generalised synthetic control models.

By the end of this course you will be able to identify the proper specifications of synthetic controls for your data, how to implement these models and rigorously test their assumptions to make inferences.

Day-to-Day Schedule

Day-to-Day Reading List

Software Requirements

You are encouraged to use only open-source software throughout the course. All examples and tutorials will be provided in R, but Stata scripts will also be available.

Please download the most recent versions of R and RStudio or Stata, and ensure they are working properly on your machine.

Hardware Requirements

Please bring your laptop with the above software installed.

The following other ECPR Methods School courses could be useful in combination with this one in a ‘training track .
Recommended Courses Before

Introduction to R
Introduction to Stata
Linear Regression
General Linear Models
Causal Inference I

Recommended Courses After

Advanced Topics in Regression
Causal Inference II

Additional Information


This course description may be subject to subsequent adaptations (e.g. taking into account new developments in the field, participant demands, group size, etc). Registered participants will be informed in due time.

Note from the Academic Convenors

By registering for this course, you confirm that you possess the knowledge required to follow it. The instructor will not teach these prerequisite items. If in doubt, contact the instructor before registering.

Share this page