Selects and executes a credible causal identification strategy - RCT, natural experiment, difference-in-differences, regression discontinuity, instrumental variables, or matching - ranked by assumption strength, with a confounder checklist, falsification tests, and a defensible effect estimate. Use when someone asks "did X actually cause Y", "how do I measure impact without an A/B test", "is this correlation causal", or needs to defend an effect estimate from observational data. Do NOT use for designing the data-collection study itself (sampling, instruments, power) - use primary-research instead; for reading out an already-run A/B test, use ab-test-analyzer instead.
Click to play with sound.
---
name: Causal Inference
description: Selects and executes a credible causal identification strategy - RCT, natural experiment, difference-in-differences, regression discontinuity, instrumental variables, or matching - ranked by assumption strength, with a confounder checklist, falsification tests, and a defensible effect estimate. Use when someone asks "did X actually cause Y", "how do I measure impact without an A/B test", "is this correlation causal", or needs to defend an effect estimate from observational data. Do NOT use for designing the data-collection study itself (sampling, instruments, power) - use primary-research instead; for reading out an already-run A/B test, use ab-test-analyzer instead.
---
# Causal Inference
A confident effect estimate built on a broken identification strategy is worse than no estimate: it triggers real decisions with fake evidence. This skill forces the choice of design before any regression is run, states the assumptions each design buys, and requires falsification tests before an effect is reported as causal.
## Inputs to collect
Gather these before choosing a design. If the user cannot supply one, propose a default and label it a guess.
1. **Treatment**: the intervention, precisely defined (who received it, when, at what intensity).
2. **Outcome**: the measured variable and its timing relative to treatment.
3. **Unit of analysis**: person, account, store, region - and how many units exist on each side.
4. **Assignment mechanism**: how units ended up treated - randomized, threshold rule, policy rollout, self-selection. This single fact determines which designs are available.
5. **Data availability**: pre-treatment periods (how many), untreated comparison units, candidate instruments, covariates.
6. **Decision at stake**: what action the estimate will drive, and how costly a wrong sign or 2x-off magnitude would be.
## Operating procedure
### Step 1: Frame the estimand and draw the DAG
Define treatment, outcome, unit, and the counterfactual in one sentence ("What would treated units' outcome have been absent treatment?"). Sketch a DAG listing confounders (cause both treatment and outcome), mediators (on the causal path), and colliders (caused by both). Never condition on a collider or any post-treatment variable; controlling for a mediator absorbs the effect you are trying to measure.