DoubleML tutorial series

DoubleML
Orthogonalization
Python
Causal ML
A hands-on tutorial series for double/debiased machine learning, orthogonal scores, cross-fitting, inference, sensitivity analysis, and policy learning with DoubleML.
Published

May 3, 2026

DoubleML is the tutorial track for orthogonal scores, sample splitting, flexible nuisance models, and transparent treatment-effect inference.

Notebook links open rendered HTML pages generated from the source notebooks under notebooks/tutorials/. Rendering is configured not to execute notebooks during site builds, so the pages are safe to publish even when a notebook contains heavier optional cells.

Notebook Sequence

  1. DoubleML Tutorial 00: Environment And Library Tour
  2. DoubleML Tutorial 01: DML Theory, Orthogonalization, And Cross-Fitting
  3. DoubleML Tutorial 02: Data Backend, DoubleMLData, And Design Setup
  4. DoubleML Tutorial 03: Partially Linear Regression PLR
  5. DoubleML Tutorial 04: Partially Linear IV PLIV
  6. DoubleML Tutorial 05: Interactive Regression Model IRM
  7. DoubleML Tutorial 06: Interactive IV Model IIVM
  8. DoubleML Tutorial 07: Difference-In-Differences DID
  9. DoubleML Tutorial 08: Sample Selection Models
  10. DoubleML Tutorial 09: Regression Discontinuity Design RDD
  11. DoubleML Tutorial 10: Learners, Hyperparameters, And Tuning
  12. DoubleML Tutorial 11: Sample Splitting, Cross-Fitting, And Repeated Cross-Fitting
  13. DoubleML Tutorial 12: Inference, Bootstrap, And Confidence Bands
  14. DoubleML Tutorial 13: Sensitivity Analysis For Unobserved Confounding
  15. DoubleML Tutorial 14: Heterogeneous Treatment Effects, GATE, CATE, And BLP
  16. DoubleML Tutorial 15: Policy Learning, Weighted ATEs, Quantiles, And CVaR
  17. DoubleML Tutorial 16: Custom Scores And Advanced API
  18. DoubleML Tutorial 17: Common Pitfalls, Diagnostics, And Reporting
  19. DoubleML Tutorial 18: End-To-End DoubleML Case Study

How To Use This Tutorial Series

  • Start with the environment and library-tour notebook.
  • Continue in order if you want a coherent package course.
  • Jump to individual notebooks when you need a specific estimator, diagnostic, or reporting pattern.
  • Keep the causal design separate from the package API: the library helps implement the workflow, but the assumptions still need to be stated and defended.