# 1. What Is Uplift Modeling Uplift modeling, also called **incrementality modeling**, predicts the **incremental effect of a treatment, campaign, or intervention** on an individual user — that is, how much a specific action actually changes that user's behavior, rather than just how likely they are to convert in general: $ Uplift = P(convert \mid Treatment, X) - P(convert \mid Control, X) $ # 2. Propensity vs. Uplift A propensity model predicts $P(convert \mid X)$ — who is most likely to convert overall. An uplift model instead predicts who is most likely to convert *because of* the treatment specifically. Consider two users: ``` User A: 90% (after treatment) - 85% (before/without treatment) = +5% uplift User B: 20% (after treatment) - 1% (before/without treatment) = +19% uplift ``` A propensity model would target User A, since they have the highest overall conversion probability. An uplift model would instead target User B, since User A was likely to convert regardless of any intervention, while User B's conversion is substantially driven by the treatment itself. This distinction matters directly for ROI: targeting User A with marketing spend is largely wasted, since that outcome would have happened anyway. # 3. Types of Users Uplift modeling classifies users into four behavioral groups based on how they'd respond with versus without treatment: | Group | Behavior | | -------------- | ------------------------------------- | | **Persuadables** | convert only if they receive the treatment/marketing | | **Sure things** | convert regardless of treatment | | **Lost causes** | never convert, treatment or not | | **Sleeping dogs** | are actually harmed by the treatment (treatment decreases their likelihood to convert) | The entire value of uplift modeling comes from identifying **Persuadables** and directing marketing spend toward them specifically, while avoiding Sure Things and Lost Causes (wasted spend) and especially avoiding Sleeping Dogs (actively counterproductive spend). # 4. Common Uplift Modeling Algorithms **T-learner (two-model approach).** Trains two completely separate models — one estimating $P(y=1 \mid T=1, X)$ on the treated population, and another estimating $P(y=1 \mid T=0, X)$ on the control population — and takes the difference between their predictions as the estimated uplift. **S-learner (single-model approach).** Trains a single model estimating $P(y=1 \mid T, X)$, where the treatment indicator $T$ is included directly as just another feature. Uplift is then estimated by scoring the same individual twice — once with $T=1$ and once with $T=0$ — and taking the difference. **X-learner.** Builds on the T-learner in two additional stages. First, it fits the same two separate response models as the T-learner. Second, for each treated unit, it imputes an individual treatment effect using the *control* model's prediction as the counterfactual baseline (and vice versa for control units), then fits a second-stage model to predict these imputed effects directly from the covariates. Finally, the two second-stage models (one fit on the treated group's imputed effects, one on the control group's) are combined, often weighted by the propensity score, into a single uplift estimate. The X-learner tends to perform especially well when the treatment and control groups are very different in size, which is a common weak point for the simpler T-learner and S-learner approaches. **Base models.** Any standard classifier or regressor can serve as the underlying model for these approaches, including random forest (though it carries some overfitting risk), XGBoost, LightGBM, causal forest, and specialized uplift random forest implementations, as well as logistic and linear regression. Tree-based models don't require standardized features, while logistic and linear regression generally do benefit from standardization. # 5. Evaluating Uplift Models ## 5.1 Standard classification metrics Metrics like accuracy, precision, recall, F1 score, ROC-AUC, and the confusion matrix are the standard toolkit for evaluating a normal classification model. ## 5.2 Why standard metrics fall short for uplift These traditional evaluation metrics are often misleading for uplift models, because the goal isn't predicting *who converts* — it's predicting *who converts because of the treatment*. An uplift model needs to be evaluated on how well it detects genuine *differences* in behavior, not on raw predictive accuracy. Two techniques are used instead. The **decile method** sorts users by their predicted uplift score ($p_t - p_c$), divides them into ten percentile groups, and compares the *observed* treatment lift within each group against the model's ranking. A well-performing model should show observed lift decreasing steadily as predicted uplift score (and rank) decreases. The **Qini curve and Qini AUC** are the uplift-modeling analogue of the ROC curve, measuring how well the model identifies incremental responders overall: ``` Qini AUC > 0 → model finds incremental responders Qini AUC = 0 → no uplift signal detected ``` # 6. Checking the Heterogeneity Assumption Before building an uplift model, it's worth verifying that treatment effects actually *vary* across users — this is the core assumption the entire approach depends on. If the treatment effect were constant for everyone, there would be no "Persuadables" to specifically target, and uplift modeling would provide no value over a simpler approach. One way to check this is to fit a model like `conversion ~ treatment*(history + recency + used_discount + used_bogo)` and examine the interaction terms between treatment and the other features. If those interaction terms are statistically insignificant, the treatment effect is likely constant across users, and uplift modeling won't help much in that case. # 7. Business Value Uplift modeling's core business value is avoiding wasted marketing spend on **Sure Things** (who would convert anyway) and **Lost Causes** (who won't convert regardless of treatment) — concentrating spend instead on the Persuadables who are genuinely moved by the campaign. # 8. Appendix - [Project](https://app.hex.tech/019eb406-8c5e-755b-986f-e0693fc2a83c/hex/Marketing-Campaign-Uplift-Modeling-033WZUFxdjh1WjT48C19pn/draft/logic)