-
⌥ 4 steps ⑂ 1 branch Index: 195 52 peers Draw the DAG, find the adjustment set (ggdag & dagitty)
Before any estimation: encode your assumptions as a causal graph, enumerate the backdoor paths from treatment to outcome, and let the graph hand you the minimal set of covariates to adjust for.
Data prep Encode your assumptions as a DAG Diagnostic / pre-tests Enumerate paths; spot backdoors & collide… Estimation Minimal sufficient adjustment set Robustness check Test the DAG's implications -
⌥ 4 steps ⑂ 1 branch Index: 207 86 peers Mendelian randomization: genes as instruments for a causal effect (TwoSampleMR)
Use genetic variants as instruments to estimate the causal effect of an exposure on an outcome from GWAS summary data — with IVW plus pleiotropy-robust MR-Egger and weighted-median checks.
Data prep Harmonise SNP–exposure & SNP–outcome effe… Diagnostic / pre-tests Check instrument strength Estimation Inverse-variance weighted estimate Robustness check Pleiotropy-robust: MR-Egger, weighted med… -
⌥ 4 steps ⑂ 1 branch Index: 207 93 peers Bayesian regression discontinuity with credible intervals (CausalPy)
Fit a model on each side of the cutoff, put a posterior on the jump, and report a credible interval for the discontinuity — plus an honest look at how it moves with the bandwidth.
Data prep Running variable, threshold, outcome Estimation A Bayesian model each side of the cutoff Inference Posterior & 94% credible interval for the… Robustness check Bandwidth & functional-form sensitivity -
⌥ 4 steps ⑂ 1 branch Index: 170 65 peers Goodman-Bacon decomposition: what your TWFE estimate is averaging (bacondecomp)
A two-way fixed-effects DiD is a weighted average of all possible 2×2 comparisons — including 'forbidden' ones that use already-treated units as controls. This shows you the weights.
Data prep A staggered-adoption panel Diagnostic / pre-tests Decompose into 2×2 comparisons Robustness check Spot the forbidden comparisons Reporting Read β as a weighted average -
⌥ 4 steps ⑂ 1 branch Index: 207 12 peers Honest sensitivity bounds for parallel-trends violations (HonestDiD)
Stop betting everything on a pre-trends test. Allow the post-treatment trend to deviate within a transparent class, and report the confidence set — and the breakdown value where the effect would vanish.
Data prep Start from event-study coefficients Diagnostic / pre-tests Read the pre-trends, don't just test them Robustness check Bound the deviation: relative magnitudes … Inference Robust confidence set & breakdown value -
⌥ 4 steps ⑂ 1 branch Index: 219 104 peers Model, identify, estimate, refute — the DoWhy four-step recipe (DoWhy)
Make your assumptions explicit: draw a causal graph, identify the estimand by the backdoor criterion, estimate it, then actively try to refute it with placebo and confounding tests.
Data prep Model — encode the causal graph Diagnostic / pre-tests Identify — apply the backdoor criterion Estimation Estimate — adjust for the backdoor set Robustness check Refute — placebo & unobserved-confounder … -
⌥ 4 steps ⑂ 1 branch Index: 108 22 peers Causal mediation: natural direct & indirect effects (CMAverse)
Split a total effect into what flows through a mediator (indirect) and what doesn't (direct) — with a sensitivity analysis for mediator–outcome confounding.
Data prep Treatment, mediator, outcome, confounders Estimation Fit mediator & outcome models Inference Decompose the total effect Robustness check Sensitivity to mediator–outcome confoundi… -
⌥ 4 steps ⑂ 1 branch Index: 108 33 peers Sharp regression discontinuity with robust bias correction (rdrobust)
Identify the effect at a cutoff: a local-polynomial RD with an MSE-optimal bandwidth and robust, bias-corrected confidence intervals.
Data prep Running variable, cutoff, outcome Diagnostic / pre-tests rdplot — see the jump Estimation Local-linear RD with bias correction Robustness check Bandwidth & donut sensitivity -
⌥ 4 steps Index: 183 62 peers Two-stage difference-in-differences (did2s)
Gardner's 2-stage estimator for staggered DiD: residualize on the untreated, then estimate the event study — fast and timing-robust.
Data prep Staggered panel + relative event time▼▼Robustness check Compare to TWFE / CS▼Reporting Event-study plot -
⌥ 5 steps ⑂ 1 branch Index: 244 15 peers Double machine learning for the 401(k) effect (DoubleML)
Effect of 401(k) eligibility on net assets via PLR / IRM / IIVM with cross-fit ML nuisances — four learners, one honest comparison.
Data prep Build DoubleMLData (y, d, X, z)▼Data prep Choose ML learners for the nuisances▼Estimation [DoubleML] Double/debiased ML — PLR / IRM… Robustness check IRM / IIVM cross-checks▼Reporting Coefficient comparison plot -
⌥ 4 steps ⑂ 1 branch Index: 195 79 peers Event-study DiD with Sun & Abraham (fixest)
Fast fixed-effects event study that survives staggered timing — sunab() vs naive TWFE, plotted against the truth.
Data prep Assemble panel with cohort timing▼Estimation [fixest] Sun & Abraham event study — suna… Robustness check Naive TWFE comparison▼Reporting iplot(): SA20 vs TWFE vs truth -
⌥ 8 steps ⑂ 1 branch Index: 292 48 peers Heterogeneous treatment effects with a causal forest (GRF recipe)
The full GRF HTE playbook: cross-fit nuisances → causal forest → calibration → AIPW ATE → BLP → RATE → policy.
▼▼Diagnostic / pre-tests test_calibration() Inference [GRF] AIPW average treatment effect Heterogeneity best_linear_projection() Heterogeneity [GRF] Rank-weighted ATE — RATE / AUTOC / …▼Robustness check Policy learning (policytree)▼Reporting CATE histogram + targeting report