Accelerated Foundation in Applied Causal Inference
From tidy data and simulation to Double Machine Learning, quasi-experiments and a deployed decision engine. Every lesson runs in Google Colab, with simulations where the truth is known and real datasets where it is not.
From “what is the correlation?” to “what happens if we intervene?”
Econometrics and data science have long lived in separate silos. Economists proved properties of estimators on whiteboards; data scientists built accurate predictive models that could not answer the question every decision-maker asks: what happens if we intervene?
This course bridges the two. You will use a modern data stack (Polars, DuckDB) and zero-setup cloud notebooks to simulate how data are generated, state your causal assumptions as graphs, estimate effects with experimental, quasi-experimental and machine-learning methods, test how fragile they are, and finally serve a causal model to a dashboard that a policy-maker can use.
The approach is code over calculus: an introductory grasp of probability and regression is enough, because every concept is demonstrated by a simulation whose true answer you know.
- IQuantitative FoundationsModules 1–3 · about 18 hours · Code over calculus
- IICausal Frameworks & ExperimentsModules 4–6 · about 18 hours · Potential outcomes, DAGs, selection on observables
- IIIAdvanced Causal Machine LearningModules 7–9 · about 18 hours · Orthogonalisation, heterogeneity and instruments
- IVQuasi-Experiments for Public PolicyModules 10–12 · about 18 hours · Thresholds, trends and synthetic counterfactuals
- VRobustness & Production DeploymentModules 13–15 · about 18 hours · Spillovers, sensitivity and the decision engine
Each lesson is about two hours: a video, a written lesson and a Colab notebook.
Quantitative Foundations
Code over calculusModern Data Engineering: Tidy Data, Polars & DuckDB
Turn raw agency feeds into a tidy, audited panel, the table every causal estimator runs on.
Case study · Macroeconomics: joining inflation and unemployment panels
Probability & Simulation: DGPs, LLN and Sampling
Replace proofs with simulation: write data generating processes and watch statistical laws appear.
Case study · Public health: simulating a patient cohort and its comorbidities
Linear Regression Mechanics, OVB & Inference
Understand exactly what OLS does, why omitted variables bias it, and how to get the standard errors right.
Case study · Labour economics: the Mincer earnings equation and heteroskedasticity
Causal Frameworks & Experiments
Potential outcomes, DAGs, selection on observablesPotential Outcomes & Randomised Trials
Define causal effects precisely, then see why randomisation identifies them and how to do inference right.
Case study · Education: evaluating school-voucher lotteries; NSW and HIV-incentive experiments
Structural Causal Models & DAGs
Write assumptions as graphs and let them decide which variables to control for, and which never to touch.
Case study · Social policy: job-training DAGs and collider-bias simulations
Selection on Observables: Matching, IPW & Propensity Scores
When treatment depends only on observables, rebuild the experiment by matching and reweighting.
Case study · Welfare economics: LaLonde's NSW vs CPS and targeted assistance programmes
Advanced Causal Machine Learning
Orthogonalisation, heterogeneity and instrumentsDoubly Robust Estimation & Double Machine Learning
Combine flexible machine learning with orthogonal scores and cross-fitting to get valid causal inference.
Case study · Public health: high-dimensional controls (NHEFS smoking cessation)
Heterogeneous Effects & Policy Learning
Move from 'does it work?' to 'for whom?', then turn effect estimates into budget-constrained rules.
Case study · Social services: optimal targeting of retraining stipends for the unemployed
Instrumental Variables & the LATE
Use external variation to beat unobserved confounding, and be precise about whom the estimate describes.
Case study · Education economics: distance to college and the exclusion restriction
Quasi-Experiments for Public Policy
Thresholds, trends and synthetic counterfactualsRegression Discontinuity Designs (Sharp & Fuzzy)
Exploit administrative cutoffs as local experiments, with modern bandwidths and honest diagnostics.
Case study · Local government: firm revenue at distress-score thresholds; close elections; Uruguay's PANES
Difference-in-Differences, Event Studies & Staggered Roll-outs
Compare changes, not levels, and use estimators that stay valid when policies arrive at different times.
Case study · Labour policy: minimum-wage event studies; castle-doctrine laws
Synthetic Control Methods
Build a weighted, data-driven counterfactual for a single treated region and test it with placebos.
Case study · Environmental policy: provincial cap-and-trade; Texas prison expansion
Robustness & Production Deployment
Spillovers, sensitivity and the decision engineNetwork Interference & Spillover Effects
When one unit's treatment affects another, separate direct from spillover effects and design for both.
Case study · Agriculture: fertiliser adoption spillovers; weather-insurance networks
Partial Identification & Sensitivity Analysis
Replace fragile point estimates with honest ranges, and quantify how much hidden bias a finding survives.
Case study · Programme evaluation: high attrition in job training; robustness of observational findings
Capstone: Executive Decision Intelligence Deployment
Ship a tested causal decision engine, a dashboard for decision-makers and a two-page executive memo.
Case study · Architecture: serving a causal model via FastAPI to a Next.js dashboard