Distributional effects: potential quantiles & CVaR (DoubleML)
@misc{doubleml,
title = {DoubleML},
author = {Bach and Chernozhukov and Kurz and Spindler},
howpublished = {\url{https://docs.doubleml.org/}},
note = {Software / documentation}
}Follow the analysis.
Select a node to explore the method
Build DoubleMLData (y, d, X)
Data preparation — shapes the raw inputs into what the estimator expects.
Declare outcome, binary treatment and covariates.
dml_data = dml.DoubleMLData(df, 'y', 'd', x_cols=X)
Before using this step, make its assumptions and its output explicit. A useful peer note explains what you would check, what could go wrong, or what would change your interpretation.
Questions to explore- Which assumption matters most here, and what evidence could challenge it?
- What would you check before passing this output to the next step?
Choose a question to start your comment.
Peer discussion
- Bring your experience, a question, or a different perspective.
Log in to comment on this step.
Potential quantiles
The core estimate — where the causal quantity itself is computed.
A debiased τ-quantile of each potential outcome.
pq = dml.DoubleMLPQ(dml_data, ml_g, ml_m, quantile=0.5).fit()
Before using this step, make its assumptions and its output explicit. A useful peer note explains what you would check, what could go wrong, or what would change your interpretation.
Questions to explore- Which assumption matters most here, and what evidence could challenge it?
- What would you check before passing this output to the next step?
Choose a question to start your comment.
Peer discussion
- Bring your experience, a question, or a different perspective.
Log in to comment on this step.
Conditional value-at-risk
The core estimate — where the causal quantity itself is computed.
Average outcome in the lower tail below the τ-quantile — orthogonally identified.
cvar = dml.DoubleMLCVAR(dml_data, ml_g, ml_m, quantile=0.1).fit()
Before using this step, make its assumptions and its output explicit. A useful peer note explains what you would check, what could go wrong, or what would change your interpretation.
Questions to explore- Which assumption matters most here, and what evidence could challenge it?
- What would you check before passing this output to the next step?
Choose a question to start your comment.
Peer discussion
- Bring your experience, a question, or a different perspective.
Log in to comment on this step.
Plot quantile & CVaR effects
Reporting — turn the numbers into a figure or table a reader can act on.
Effect across the distribution and in the tail.
# quantile/CVaR effect vs tau, with CIs
Before using this step, make its assumptions and its output explicit. A useful peer note explains what you would check, what could go wrong, or what would change your interpretation.
Questions to explore- Which assumption matters most here, and what evidence could challenge it?
- What would you check before passing this output to the next step?
Choose a question to start your comment.
Peer discussion
- Bring your experience, a question, or a different perspective.
Log in to comment on this step.
Inputs & data
Outcome Y, binary treatment D, covariates X — when you care about quantiles / tail risk, not the mean.
Show data format & exampleHide example
Format — one row per unit: y, d ∈ {0,1}, covariates X.
y d x1 x2
0.4 1 0.4 -1.1
-1.1 0 -0.1 0.6
Figures reproduced from DoubleML — Bach, Chernozhukov, Kurz & Spindler — unofficial community showcase; all credit to the original authors.
⚠️ Unofficial community showcase of a DoubleML example. Not affiliated with the authors; figures are from the public documentation. All credit to Bach, Chernozhukov, Kurz & Spindler.
When the tails matter: estimate potential quantiles and the conditional value-at-risk of a treatment with Neyman-orthogonal scores.
Discuss the workflow (0)
Log in to join the discussion.