Reproducibility

9 articles

Matching in Python: a balanced covariate table doesn't make the estimate valid

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: why the TWFE coefficient can mislead

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 walk through synthetic control in Python: why a zero-error pre-treatment fit is the weakest evidence for the gap, and the pre-fit that is allowed to be large is the diagnostic to trust.

Jul 2026 · Methodology

Regression discontinuity in Python: getting the effect at the cutoff right

A global polynomial fit returns a clean, plausible 1.8 where the effect planted at the cutoff is 0.75. A local fit recovers about 0.75. How to estimate a regression discontinuity in Python, and the confounder the local fit still cannot see.

Jul 2026 · Methodology

How to tell whether a double machine learning estimate is right

Double machine learning in Python: why a naive plug-in reads a true effect of 1.0 as 0.55, how cross-fitting recovers 0.97, and the confounder it still cannot detect.

Jul 2026 · Methodology

Instrumental variables in Python: a strong first stage doesn't make the estimate valid

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

How do we know an AI's estimator does what we meant?

AI-generated econometric code can run without error and still be wrong. A routine to verify it: spec the low-visibility choices, plant a known truth, and read the code against its source.

Jun 2026 · Methodology

Claude Code Skills Get Stale. Audit Them Quarterly.

Skills, memory entries, and hooks decay as models improve. In research, the decay can reach published findings and policy. A quarterly audit protocol.

May 2026 · Methodology

47 Scripts to 15: Cleaning a Research Codebase

Research projects accumulate code debt. An AI agent can map dependencies, identify dead code, and reorganize months of accumulated scripts, with…

Nov 2025 · Methodology