Как ответить
Стандартная регрессия или классификация предсказывают абсолютный отклик пользователя на одно действие (например, купит ли он товар). Uplift-моделирование решает другую задачу: оценить прирост вероятности целевого события от воздействия (treatment) по сравнению с отсутствием воздействия (control). Нам нужно понять, на кого именно воздействие повлияет положительно, а на кого — отрицательно или никак. Это принципиально другая постановка, требующая специализированных методов.
Проблема в том, что мы никогда не видим оба исхода для одного пользователя — это фундаментальная проблема причинно-следственного вывода (causal inference). Мы не можем одновременно наблюдать, купил бы Иван товар с купоном и без него. Поэтому мы не можем напрямую обучить модель на разнице откликов. Стандартная модель, обученная на данных с treatment, будет предсказывать отклик при условии, что воздействие было, но не даст оценки uplift.
Основные подходы к uplift-моделированию:
- Two-Model (T-learner): Обучаем две отдельные модели — одну на treatment-группе, другую на control-группе. Uplift = pred_treatment - pred_control. Минус: модели не видят разницу напрямую, могут быть смещены из-за дисбаланса групп.
- One-Model (S-learner): Обучаем одну модель на объединённых данных, добавляя фичу treatment (0/1). Uplift = pred(treatment=1) - pred(treatment=0). Проще, но модель может игнорировать treatment-фичу, если другие признаки слишком сильны.
- Class Transformation (для бинарного отклика): Преобразуем целевую переменную: Z = Y * treatment + (1 - Y) * (1 - treatment). Если Z=1, то отклик совпадает с treatment. Обучаем классификатор на Z, uplift = 2 * P(Z=1) - 1. Работает только при случайном назначении treatment.
- Meta-learners (X-learner, R-learner): Более продвинутые методы, которые используют cross-fitting и оценку склонности (propensity score) для коррекции смещения. Например, X-learner сначала оценивает uplift на treatment и control отдельно, потом взвешивает их.
Пример: у нас есть 1000 пользователей. 500 получили купон (treatment), 500 — нет (control). Стандартная регрессия скажет: «вероятность покупки с купоном — 30%». Но нам нужно знать, что для 200 пользователей uplift = +20%, для 300 — 0%, а для 100 — -5% (купон их раздражает). Uplift-модель выделит этих 200, на которых стоит тратить бюджет.
Ключевая метрика — AUUC (Area Under the Uplift Curve). Она показывает, насколько хорошо модель ранжирует пользователей по uplift. Если модель не лучше случайной, AUUC ≈ 0.5.