causal inference

IV Estimation with Panel Data: Economic Shocks and Civil Conflict

Replicate Hodler and Raschky (2014) to estimate the causal effect of economic shocks on civil conflict using 2SLS instrumental variables with panel data from 5,689 African regions

The Synthetic Control Method in Stata: Did California's Tobacco Tax Cut Smoking?

Estimate the causal effect of California's Proposition 99 tobacco control program on cigarette sales using the synthetic control method in Stata, with in-space placebo, in-time placebo, and leave-one-out robustness tests

Regression Discontinuity Design (RDD) in Stata: Evaluating a Tutoring Program

Evaluate the causal effect of a school tutoring program on student exit exam scores using sharp regression discontinuity design with parametric OLS and nonparametric rdrobust estimation in Stata

Visualizing Regression with the FWL Theorem in R

A hands-on guide to the fwlplot package in R --- from understanding the Frisch-Waugh-Lovell theorem through simulated confounding to visualizing fixed effects in real panel data --- showing what "controlling for" looks like as a scatter plot.

Visualizing Regression with the FWL Theorem in Stata

A hands-on guide to the scatterfit package in Stata --- from understanding the Frisch-Waugh-Lovell theorem through simulated confounding to visualizing fixed effects in real panel data --- showing what "controlling for" looks like as a scatter plot.

Difference-in-Differences for Policy Evaluation: A Tutorial using R

A guide to Difference-in-Differences with staggered treatment --- from TWFE pitfalls through Callaway-Sant'Anna group-time ATTs, doubly robust estimation, and HonestDiD sensitivity analysis --- applied to minimum wage effects on teen employment.

Sensitivity Analysis for Parallel Trends in Difference-in-Differences Using honestdid in Stata

Assess how robust difference-in-differences results are to violations of parallel trends using the honestdid package in Stata, progressing from a simple 2x2 DiD to multi-period event studies with relative magnitudes and smoothness restrictions

Evaluating a Cash Transfer Program (RCT) with Panel Data in Stata

Evaluate the causal effect of a cash transfer program on household consumption using regression adjustment, inverse probability weighting, doubly robust, and difference-in-differences methods in Stata

Introduction to Difference-in-Differences in Python

Estimating causal treatment effects using Difference-in-Differences with the diff-diff package, from the classic 2x2 design through staggered adoption with Callaway-Sant'Anna and HonestDiD sensitivity analysis

The FWL Theorem: Making Multivariate Regressions Intuitive

Understanding the Frisch-Waugh-Lovell theorem to isolate causal relationships by partialling-out confounders in a simulated retail store dataset