Предсказать, кто купит, - недостаточно 😉
Нужно понять, кто купит именно благодаря вам. Допустим, у банка есть миллион клиентов и предложение: «возьмите кредит — получите бонус».
Обычная ML-модель решает задачу:
P (покупка | клиент). Находим клиентов с максимальной вероятностью покупки и отправляем им предложение.
Но тут есть проблема: часть из них и так собиралась взять кредит. Получается, мы просто заплатили бонус за действие, которое произошло бы без нас.
Uplift-моделирование решает другую задачу:
uplift(x) = P(Y=1 | treatment, x) − P(Y=1 | control, x)
То есть пытается оценить не вероятность события, а
насколько наше воздействие изменит поведение конкретного клиента.
Классически клиентов здесь делят на четыре группы:
🔵
Убеждаемый (Persuadables) - купят именно благодаря воздействию. Самая интересная аудитория.
🔵
Лояльный (Sure Things) - купят и без нас. Зачем тратить на них скидку?
🔵
Потерянный (Lost Causes) - не купят в любом случае.
🔵
Не беспокоить (Do-Not-Disturbs) - коммуникация может даже снизить вероятность покупки.
Поэтому uplift - это уже не просто prediction. Это переход в сторону
causal ML: что произошло именно вследствие нашего действия?Причем это давно не академическая история.
1️⃣У
X5 был RetailHero - соревнование по uplift-моделированию на реальных данных ритейла: сотни тысяч клиентов и десятки миллионов транзакций. Этот датасет сегодня можно загрузить прямо из scikit-uplift.
2️⃣
Одна синяя компания применяла uplift в запрещенном в РФ инстаграме для управления push-уведомлениями. Пользователей случайно делили на treatment / control, а затем модель училась оценивать incremental impact: изменится ли поведение конкретного пользователя именно из-за отправленного ему уведомления.
3️⃣
Uber открыл CausalML - большую библиотеку для оценки heterogeneous treatment effects: S/T/X/R/DR-learners, uplift trees и другие causal-подходы.
4️⃣
Microsoft Research развивает EconML - еще более серьезный инструментарий на стыке ML и эконометрики для оценки индивидуальных эффектов воздействия.
В России тоже есть отличный open-source стек.⚡️
МТС — scikit-uplift (sklift). Sklearn-like библиотека, с которой довольно удобно начинать: meta-learners, uplift-подходы, Qini, uplift curve, AUUC и интеграция с привычными ML-моделями.
А теперь появился еще и
AUF - Automatic Uplift Framework от Alfa Advanced Analytics:
смотрим ссылкуЗдесь идея уже ближе к AutoML для uplift: подготовка и проверки данных, feature selection, обучение разных uplift-подходов, сравнение моделей, метрики и MLflow. Есть S-, T-, X-learners, uplift trees / forests и multi-treatment.
И вот последнее интересно. Потому что следующий уровень — оценивать уже не просто:
кому показать предложение?А:
кому × какое предложение × по какому каналу × в какой момент × с какой скидкой?Например, одному клиенту ничего не отправлять. Второму - push без скидки. Третьему - дать 5%. Четвертому - позвонить. А пятого вообще лучше не трогать.
🔹И оптимизировать при этом не вероятность покупки, а
инкрементальную прибыль с учетом стоимости воздействия.
Получается важный переход:
Propensity → Uplift → Next Best Action.Обычный ML пытается предсказать будущее.
Causal ML пытается понять, как это будущее изменить.💬
Присоединиться к обсуждению в чатеТелеграм каналАндрей Анисимов@ideasforai#AI_и_работа