panel data

Dynamic Panel Data Models in Python: From Nickell Bias to System GMM

When a firm gains or loses workers this year, how much of that change is still there next year? This Python tutorial uses data on 140 British firms to show why simple estimates of this persistence mislead and how more careful methods and checks reach a reliable answer. It comes with an interactive app that runs in your web browser.

Bouncing Back Better? Evaluating the Economic Impact of the Aceh Tsunami

How did the 2004 tsunami affect the economy of Aceh, Indonesia, over the long run? This beginner-friendly Python tutorial uses simulated data, nighttime lights, and several causal methods to compare damaged and undamaged areas before and after the disaster.

The Augmented Synthetic Control Method: A Beginner's Tutorial with the Kansas Tax Cuts

Did the large 2012 Kansas tax cut boost the state economy, or shrink it? This beginner R tutorial builds a look-alike Kansas from other states, then corrects the remaining mismatch, and finds output per person roughly 3 to 4 percent lower, although chance cannot be fully ruled out. It comes with an interactive app that runs in your web browser.

Augmented Synthetic Control for Multiple Countries: A Tutorial with augsynth

Did joining the euro make countries more productive? We build look-alike comparison countries from economies that did not join, first with simulated data and then with a published study of the euro area, and check whether the effect is real or just noise. This R tutorial comes with an interactive app that runs in your web browser.

Double LASSO in Python: Does Abortion Reduce Crime?

Python companion to the R and Stata Double LASSO tutorials — same data, same five estimators, plus a hands-on introduction to the DoubleML library (DoubleMLPLR, DoubleMLIRM, and learner-robustness across LASSO, RandomForest, XGBoost).

Double LASSO in Stata: Does Abortion Reduce Crime?

Stata companion to the R Double LASSO tutorial — same data, same five estimators, replicating the Belloni-Chernozhukov-Hansen 284-control extension of Donohue and Levitt's abortion-and-crime panel with pdslasso, rlasso, and cvlasso.

Double LASSO for Causal Inference: Does Abortion Reduce Crime?

Did legal abortion lower crime in the United States, as a famous 2001 study claimed? Instead of hand-picking a few control variables, we let a data-driven method choose among 284 candidates and check whether the original finding holds up. This R tutorial comes with an interactive app that runs in your web browser.

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

Did expanding Medicaid health coverage to low-income adults reduce deaths? We compare counties in states that expanded coverage with counties in states that did not, and show how counting each county equally or each person equally can change the answer. This R tutorial includes an interactive app that runs in your web browser.

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

Did the 1988 California cigarette tax reduce cigarette sales, and do different methods agree on how much? This R tutorial applies six ways of evaluating a policy to the same data and finds that most point to a drop of roughly 13 to 20 packs per person each year. It comes with an interactive app that runs in your web browser.

MGWFER: Causal Spatially Varying Coefficients via Panel Fixed Effects

When we measure how a relationship changes from place to place, hidden features of each place can distort the answer. This Python tutorial follows a 2026 study by Li and Fotheringham and uses simulated data on 225 places over three periods to show how following the same places over time removes that distortion. It comes with an interactive app that runs in your web browser.