Uplift & Heterogeneous Effects

P8.causal-methods.04 · Audience: guest, it-ml, language-pro · Prerequisites: Matching & Stratification

Every method so far chased a single number: the effect of a treatment, averaged over everyone. But an average hides a question that is often the one that pays the bills — who does the treatment help, whom does it not touch, and whom does it quietly harm? This closing module of the pillar is about heterogeneous treatment effects: the effect varies from person to person, and the goal shifts from measuring an effect to targeting the people it actually moves. That is uplift, and it will reorganise how you think about a coupon, a reminder, or a retention call.

Step 1 / 5The average hides the people

A retention email lifts renewals by 4 percentage points on average. Reassuring — until you learn how that 4 is built. Maybe every customer is nudged a little. Or maybe the email does nothing for most people, works wonders on a small persuadable slice, and backfires on another slice who did not want to be reminded their subscription was auto-renewing. All three stories share the same average and demand completely different actions.

ⓘ Concept: Heterogeneous treatment effects
theeffectτ(x)dependsontheindividualsfeaturesx;theaverageeffectisjustitspopulationmeanandcanmaskbothzerosandnegativesthe effect τ(x) depends on the individual's features x; the average effect is just its population mean and can mask both zeros and negatives

Why it matters — The average treatment effect answers 'should we do this at all?'. It cannot answer 'to whom?' — and when treatment is costly or occasionally harmful, 'to whom' is the decision that determines whether the programme makes or loses money. Two interventions with identical average lift can have opposite optimal targeting policies, so an average alone can send you spending on exactly the wrong people.

The move of this module is to stop averaging and start segmenting: group people by how the treatment affects them, and treat only the groups worth treating.

Ask the mentor about this module

Ask a question about this content. The mentor explains and grounds its answer in what you are studying; asking is recorded as a learning signal, not a grade.

Ctrl/Cmd + Enter to send

Try it yourself

A scratch console for this page's ideas — ungraded, nothing you run here is recorded.

Scratch console

A scratch console with the scientific stack (pandas, numpy, scikit-learn). Runs on the server — no network, resource-limited and measured.

Output appears here.