Syllabus
A 100-day bootcamp that builds every piece of mathematics behind modern causal inference, from probability axioms to double machine learning.
- 100 sessions of about 2 hours, grouped into six phases that build on each other.
- Every session: a theory block, then 15 exercises with full solutions: warm-up (1–5), proofs (6–10) and applied economics and public-health problems (11–15).
- Every session also has a Python check (downloadable as a Colab notebook) and an interactive simulator in the Simulation Lab.
- Prerequisites: high-school algebra. Calculus is used from Day 3 (integrals) and taught properly in Phase 2.
- Phase 1 stays on probability and inference. Matrices start on Day 16, DAGs on Day 46, and information theory (KL divergence) and Markov chains appear where they are used (Days 83 and 96).
Probability & Statistical Inference
Days 1–15Axioms, conditional probability, expectations, distributions, the CEF, LLN/CLT, estimators, intervals, tests, MLE, the delta method, Bayes and missing data.
| Day 1 | Probability Axioms & Set Theory | Lab: Inclusion–Exclusion & Fréchet Bounds | Published |
| Day 2 | Conditional Probability, Independence & Bayes | Lab: Bayes' Theorem Calculator | Published |
| Day 3 | Random Variables, Expectation & Variance | Lab: Linearity of Expectation & Variance Scaling | Published |
| Day 4 | Common Distributions & the Data-Generating Process | Lab: Distribution Explorer & DGP Sampler | Published |
| Day 5 | Joint Distributions, Covariance & Correlation | Lab: Bivariate Normal in 3D | Published |
| Day 6 | Conditional Expectation, the LIE & Total Variance | Lab: Conditional Expectation & Total Variance | Published |
| Day 7 | The Law of Large Numbers & Central Limit Theorem | Lab: Central Limit Theorem Simulator | Published |
| Day 8 | Estimators: Bias, Variance, MSE & Consistency | Lab: Estimator Race: Bias, Variance & MSE | Published |
| Day 9 | Confidence Intervals & the Bootstrap | Lab: Confidence-Interval Coverage | Published |
| Day 10 | Hypothesis Testing, p-Values & Power | Lab: Statistical Power Visualiser | Published |
| Day 11 | Maximum Likelihood Estimation | Lab: Log-Likelihood Explorer | Published |
| Day 12 | The Delta Method | Lab: Delta Method vs Simulation | Published |
| Day 13 | Bayesian Inference | Lab: Beta–Binomial Updating | Published |
| Day 14 | Missing Data & Inverse Probability Weighting | Lab: Missing-Data Mechanisms | Published |
| Day 15 | Phase 1 Capstone: Simpson's Paradox, Conditional Independence & Selection Bias | Lab: Simpson's Paradox Lab | Published |
Linear Algebra & Optimization
Days 16–30Vectors and matrices, rank, projections, eigenvalues, calculus and optimisation, and OLS derived in matrix form.
| Day 16 | Vectors, Matrices & the Dot Product | Lab: Vector Playground | Published |
| Day 17 | Matrix Multiplication, Transpose & the Design Matrix | Lab: A Matrix as a Transformation | Published |
| Day 18 | Linear Independence, Span & Rank | Lab: Collinearity & Rank | Published |
| Day 19 | Inverses, Determinants & Systems of Equations | Lab: Solving Ax = b | Published |
| Day 20 | Projections, Orthogonality & the Geometry of Least Squares | Lab: Least Squares: Residuals & Orthogonality | Published |
| Day 21 | Eigenvalues, Eigenvectors & Quadratic Forms | Lab: Eigenvectors & Quadratic Forms | Published |
| Day 22 | Positive-Definite Matrices & Variance–Covariance Matrices | Lab: Covariance Ellipses & a′Σa | Published |
| Day 23 | Derivatives, Partial Derivatives & Taylor Series | Lab: Taylor Approximations | Published |
| Day 24 | Matrix Calculus & Gradients | Lab: The Gradient of the Sum of Squares | Published |
| Day 25 | Unconstrained Optimisation & Convexity | Lab: Gradient Descent vs Newton | Published |
| Day 26 | Constrained Optimisation & Lagrange Multipliers | Lab: Constrained Optimum: Budget & Indifference | Published |
| Day 27 | OLS in Matrix Form | Lab: OLS by Matrices | Published |
| Day 28 | Frisch–Waugh–Lovell & Partialling Out | Lab: Partialling Out (FWL) | Published |
| Day 29 | OLS Asymptotics & Robust (Sandwich) Variance | Lab: Heteroskedasticity & Robust Standard Errors | Published |
| Day 30 | Phase 2 Capstone: GMM & Numerical Optimisation | Lab: GMM with Two Moments | Published |
The Potential Outcomes Framework
Days 31–45The Rubin causal model, SUTVA, estimands, randomisation inference, unconfoundedness, propensity scores and doubly robust estimation.
| Day 31 | The Rubin Causal Model & Potential Outcomes | Lab: The Science Table | Published |
| Day 32 | SUTVA & Interference | Lab: Spillovers & Saturation | Published |
| Day 33 | Estimands: ATE, ATT, ATC & CATE | Lab: ATE, ATT, ATC & CATE | Published |
| Day 34 | The Fundamental Problem & Selection Bias | Lab: The Roy Model of Self-Selection | Published |
| Day 35 | Randomisation & Identification | Lab: Randomisation Balances Covariates | Published |
| Day 36 | Neyman's Repeated-Sampling Variance | Lab: Neyman's Conservative Variance | Published |
| Day 37 | Fisher's Exact Test & Randomisation Inference | Lab: Fisher's Exact Randomisation Test | Published |
| Day 38 | Stratified & Blocked Experiments | Lab: Blocking on Districts | Published |
| Day 39 | Regression Adjustment in Experiments (Lin's Estimator) | Lab: Raw, ANCOVA & Lin Adjustment | Published |
| Day 40 | Cluster Randomisation & Design Effects | Lab: Cluster Designs & Power | Published |
| Day 41 | Non-Compliance & Intention-to-Treat | Lab: Non-Compliance: ITT & CACE | Published |
| Day 42 | Unconfoundedness & Overlap | Lab: Overlap & Trimming | Published |
| Day 43 | The Propensity Score Theorem | Lab: Balancing on the Propensity Score | Published |
| Day 44 | IPW & Hájek Estimators of the ATE | Lab: Horvitz–Thompson vs Hájek | Published |
| Day 45 | Phase 3 Capstone: Doubly Robust (AIPW) Estimation | Lab: Double Robustness (AIPW) | Published |
Graphical Models (DAGs)
Days 46–60DAGs, d-separation, structural causal models, the back-door and front-door criteria, do-calculus and mediation.
| Day 46 | Graph Basics & Directed Acyclic Graphs | Coming soon | |
| Day 47 | Factorisation & the Markov Property | Coming soon | |
| Day 48 | Chains, Forks & Colliders | Coming soon | |
| Day 49 | d-Separation | Coming soon | |
| Day 50 | Structural Causal Models | Coming soon | |
| Day 51 | Interventions & the do-Operator | Coming soon | |
| Day 52 | The Back-Door Criterion | Coming soon | |
| Day 53 | Adjustment Sets & Bad Controls | Coming soon | |
| Day 54 | The Front-Door Criterion | Coming soon | |
| Day 55 | The Rules of do-Calculus | Coming soon | |
| Day 56 | Identification Algorithms & Non-Identifiable Queries | Coming soon | |
| Day 57 | Selection Bias in DAGs | Coming soon | |
| Day 58 | Mediation: Direct & Indirect Effects | Coming soon | |
| Day 59 | Counterfactuals & the Ladder of Causation | Coming soon | |
| Day 60 | Phase 4 Capstone: DAGs Meet Potential Outcomes (SWIGs) | Coming soon |
Core Econometric Strategies
Days 61–80Instrumental variables and LATE, difference-in-differences with staggered adoption, regression discontinuity and bounds.
| Day 61 | Endogeneity & the Instrumental-Variables Idea | Coming soon | |
| Day 62 | The Wald Estimator | Coming soon | |
| Day 63 | LATE & Compliers (Imbens–Angrist) | Coming soon | |
| Day 64 | 2SLS in Matrix Form | Coming soon | |
| Day 65 | Weak Instruments & Robust Inference | Coming soon | |
| Day 66 | Over-Identification & Instrument Validity | Coming soon | |
| Day 67 | Difference-in-Differences: the 2×2 Case | Coming soon | |
| Day 68 | Parallel Trends & Event Studies | Coming soon | |
| Day 69 | Two-Way Fixed Effects & Panel Algebra | Coming soon | |
| Day 70 | Staggered Adoption: the Goodman-Bacon Decomposition | Coming soon | |
| Day 71 | Heterogeneity-Robust DiD (Callaway–Sant'Anna, Sun–Abraham) | Coming soon | |
| Day 72 | Triple Differences & Changes-in-Changes | Coming soon | |
| Day 73 | Sharp Regression Discontinuity | Coming soon | |
| Day 74 | Local Polynomial Regression & Kernels | Coming soon | |
| Day 75 | Bandwidth Selection & Bias Correction | Coming soon | |
| Day 76 | Fuzzy RD as Local IV | Coming soon | |
| Day 77 | RD Validity: Density Tests & Covariate Balance | Coming soon | |
| Day 78 | Regression Kink & RD Extensions | Coming soon | |
| Day 79 | Bounds & Partial Identification (Manski, Lee) | Coming soon | |
| Day 80 | Phase 5 Capstone: Choosing a Design | Coming soon |
Advanced & Algorithmic Causal Inference
Days 81–100Matching and balancing, synthetic control, influence functions, double/debiased ML, heterogeneous effects and policy learning.
| Day 81 | Matching Estimators & Their Bias | Coming soon | |
| Day 82 | Propensity-Score Matching & Weighting: Proofs | Coming soon | |
| Day 83 | Covariate Balance, Entropy & KL Divergence | Coming soon | |
| Day 84 | Entropy Balancing & Calibration Weights | Coming soon | |
| Day 85 | Synthetic Control: the Weight Problem | Coming soon | |
| Day 86 | Synthetic Control Inference & Synthetic DiD | Coming soon | |
| Day 87 | Influence Functions | Coming soon | |
| Day 88 | Semiparametric Efficiency Bounds | Coming soon | |
| Day 89 | Neyman Orthogonality | Coming soon | |
| Day 90 | Double/Debiased Machine Learning & Cross-Fitting | Coming soon | |
| Day 91 | DML for Partially Linear & Interactive Models | Coming soon | |
| Day 92 | CATE & Meta-Learners (S, T, X, R, DR) | Coming soon | |
| Day 93 | Causal Trees & Forests | Coming soon | |
| Day 94 | Policy Learning & Optimal Treatment Rules | Coming soon | |
| Day 95 | Sensitivity Analysis (Rosenbaum, Cinelli–Hazlett) | Coming soon | |
| Day 96 | Dynamic Treatments & Markov Processes | Coming soon | |
| Day 97 | Interference & Spillovers | Coming soon | |
| Day 98 | Causal Discovery Basics | Coming soon | |
| Day 99 | Many Estimates: Multiple Testing & Shrinkage | Coming soon | |
| Day 100 | Final Capstone: From Data to a Defensible Causal Estimate | Coming soon |