Update 8/11/2017: I’ve been working on turning this code into a package people can download and contribute to. Please use the package, linked here, instead of the code I shared in a Jupyter notebook previously.
I can’t believe how many people from all around the world visit my previous blog post on propensity score matching in Python every day. It feels great to know that my code is out there and people are actually using it. However, I realized that the notebook I link to previously doesn’t contain much and that I wrote heaps more code after posting it. Hence, I’m sharing a more complete notebook with code for different variations on propensity score matching, functions to compute average treatment effects and get standard errors, and check for balance between matched groups.