Causal Inference

11 articles

Matching in Python: Balance Does Not Prove Validity

Propensity-score matching returns 2.21 for a planted effect of 2.0 with a balance table that passes the 0.10 rule. The overlap diagnostic shows 6% of treated units have no comparable control; trimming recovers 2.04.

Jul 2026 · Methodology

Difference-in-Differences in Python: When TWFE Misleads

With staggered adoption and heterogeneous effects, two-way fixed effects returns 1.01 where the planted average is 1.60, and a group-time estimator with clean controls recovers 1.60.

Jul 2026 · Methodology

Synthetic control in Python: read the pre-fit before the gap

A hands-on synthetic-control workflow: inspect constraints and rank, validate on held-out pre-treatment periods, and treat fit as necessary rather than sufficient.

Jul 2026 · Methodology

Regression discontinuity in Python: effects at the cutoff

An overconstrained global shortcut returns a clean, plausible 1.8 where the effect planted at the cutoff is 0.75. A local fit recovers about 0.75 and makes the identifying assumptions visible.

Jul 2026 · Methodology

Using difference-in-differences in practice

When difference-in-differences fits, which assumptions matter, and how it breaks, shown in worked cases with study-level material status.

Jul 2026 · Methodology

Instrumental Variables in Python: Strength Is Not Validity

2SLS recovers a planted effect of 2.0 where OLS reads 2.79, but only if the exclusion restriction holds. A small direct path biases 2SLS to 2.62 while the first-stage F stays 2051, uncatchable in-sample.

Jun 2026 · Methodology

Rolling DiD with Few Units: Article-Reported Simulation

A guide to rolling difference-in-differences with few units. Simulation estimates and the Python rebuild are article-reported, not reproduced.

Jun 2026 · Methodology

Prediction-powered inference for AI-assisted survey estimation

A method guide with an article-reported HINTS imputation example and a separate regression-adjustment simulation. The local results are not publicly reproduced.

Jun 2026 · Methodology

A field map for causal-inference methods

A Claude Code skill that builds a navigable citation network around a single method family, surfacing the seminal references, the current authors, the recent…

May 2026 · Methodology

A reference library for empirical methods

A Claude Code skill that turns a DOI or PDF into a structured papers.md block documenting the estimator, identification strategy, and named assumptions, with…

May 2026 · Methodology

Parallel-Trends Sensitivity: An Article-Reported Case

A sensitivity-analysis tutorial built around article-reported bank-closure estimates and bounds that have not been publicly reproduced.

Dec 2025 · Methodology