Causal Inference in Python

Causal Inference in Python, or Causalinference in short, is a software package that implements various statistical and econometric methods used in the field variously known as Causal Inference, Program Evaluation, or Treatment Effect Analysis.

Through a series of blog posts on this page, I will illustrate the use of Causalinference, as well as provide high-level summaries of the underlying econometric theory with the non-specialist audience in mind. Source code for the package can be found at its GitHub page, and detailed documentation is available at


To better illustrate some of the methods to be introduced presently, in this post we consider a simulated data set that exhibits a certain level of nonlinearity and covariate imbalance. In particular, consider the data generating process described below...

Read More


Whether an econometric methodology can yield good estimates of treatment effects depends crucially on the setting of the problem. The tools provided by Causalinference do not automatically yield causal estimates that work under every possible setting, so it is important to spell out the assumptions that we are operating under...

Read More


In a nutshell, a causal effect is simply the difference between what happened and what would have happened. This notion is articulated more precisely by the so-called potential outcome framework, developed by Donald Rubin in the seventies. It goes as follows...

Read More


A central problem of interest to social scientists, businesses, and government agencies alike is the evaluation of the effects of a treatment or policy intervention. Causal Inference is the statistical field of study concerning this problem, and it boasts a mature literature that contains numerous sophisticated methodology and recommendations...

Read More