causal inference

Difference-in-Differences for Regional Data: Did Medicaid Expansion Reduce Mortality?

A case study on the Affordable Care Act's Medicaid expansion --- working through 2x2 cell-means, TWFE, covariate-adjusted DRDID, 2xT and Callaway-Sant'Anna staggered event studies, and HonestDiD sensitivity --- to show how population weighting changes the target parameter when the units are regions of very different sizes.

Six Ways to Evaluate a Policy using R: Comparative Case Studies of Proposition 99

Six estimators in one tutorial --- naive pre-post, DiD, two flavours of ITS, RDD on time, Synthetic Control, and CausalImpact --- all applied to California's 1988 Proposition 99 cigarette tax to see how much (and where) they disagree.

Do Institutions Cause Prosperity? An IV Tutorial in Python

Replicate Acemoglu, Johnson and Robinson (2001) in Python with pyfixest and linearmodels: instrument modern institutions with settler mortality across 64 ex-colonies and learn how IV recovers a causal effect that OLS understates by 80 percent.

Do Institutions Cause Prosperity? An IV Tutorial in Stata

Replicate Acemoglu, Johnson and Robinson (2001) in Stata: instrument modern institutions with settler mortality across 64 ex-colonies and learn how IV recovers a causal effect that OLS understates by 80 percent.

Causal Machine Learning and the Resource Curse with Python EconML

Estimate heterogeneous causal effects of mining and mineral prices on economic development using EconML's CausalForestDML with Double Machine Learning, applied to simulated resource curse data

Causal Machine Learning and the Resource Curse with Stata 19

Estimate heterogeneous causal effects of mining and mineral prices on economic development using Stata 19's cate command with multi-valued treatment via pairwise binary comparisons, applied to a simulated resource curse panel dataset

A Beginner's Guide to Causal Inference with DoWhy in Python

A beginner-friendly introduction to causal inference using DoWhy's four-step framework with simulated observational data on working from home and productivity

Double Machine Learning with 401(k) Data: From Eligibility Effects to Complier Analysis

Estimating the causal effect of 401(k) eligibility and participation on net financial assets using three DoubleML models (PLR, IRM, IIVM) with the 1991 SIPP pension dataset

Conditional Average Treatment Effects (CATE) with Stata 19

Estimate how the effect of 401(k) eligibility on household assets varies across households using Stata 19's new cate command, with PO, AIPW, GATE, GATES, and nonparametric series estimators applied to the canonical assets3 dataset

Treatment Effects in Stata: A Beginner's Tour of Six Estimators with the Maternal Smoking and Birth Weight Case Study

A beginner-friendly walk-through of six treatment-effects estimators in Stata --- regression adjustment, IPW, IPWRA, AIPW, nearest-neighbor matching, and propensity-score matching --- applied to the classic maternal-smoking and birth-weight case study.