Что за классы трансформируются в Uplift - моделировании

В Uplift-моделировании ключевая цель — не просто предсказать факт наступления события (например, покупку), а определить, какой эффект оказывает воздействие (treatment) на вероятность этого события. В связи с этим в uplift-задачах появляется альтернативная классификация наблюдений, не совпадающая с традиционной бинарной классификацией.

🔹 Стандартная классификация vs. Uplift-классы

В классической бинарной задаче (например, классификация «купит» или «не купит»), обучающая выборка делится на два класса — положительный и отрицательный.
В uplift-моделировании используется каузальная постановка, и наблюдения разбиваются на четыре поведенческих класса, основанных на сравнении поведения при наличии и отсутствии воздействия.

🔹 Четыре класса пользователей в Uplift-моделировании

  1. Persuadables (убеждаемые)

    • Без воздействия (T=0): отказ (Y=0)

    • С воздействием (T=1): успех (Y=1)

    • 👉 Это главная целевая аудитория.

    • Именно на этих пользователей воздействие оказывает положительный эффект.

    • Они покупают, только если мы воздействуем.

  2. Sure Things (и так купят)

    • Без воздействия (T=0): успех (Y=1)

    • С воздействием (T=1): успех (Y=1)

    • Воздействие ничего не меняет: пользователь в любом случае совершает целевое действие.

    • Обычно воздействие на эту группу нежелательно (можно сэкономить ресурсы).

  3. Lost Causes (бесполезно воздействовать)

    • Без воздействия (T=0): отказ (Y=0)

    • С воздействием (T=1): отказ (Y=0)

    • Эти пользователи не реагируют на воздействие вообще.

  4. Do Not Disturb (реагируют негативно)

    • Без воздействия (T=0): успех (Y=1)

    • С воздействием (T=1): отказ (Y=0)

    • Воздействие оказывает отрицательный эффект.

    • Это особенно нежелательная группа: они могли бы купить, но из-за рассылки (или другого вмешательства) отказываются.

🔹 Почему важно различие между классами?

Uplift-модель направлена на оптимизацию воздействия, и знание этих классов позволяет:

  • Избегать трат на тех, кто и так совершит нужное действие (Sure Things);

  • Не раздражать клиентов, которых лучше не трогать (Do Not Disturb);

  • Не тратить ресурсы на безнадежные случаи (Lost Causes);

  • Фокусироваться на Persuadables — тех, на кого воздействие действительно влияет.

🔹 Проблема в том, что классы не наблюдаемы

В uplift-моделировании невозможно наблюдать одновременно отклик и с воздействием, и без воздействия на одного пользователя. Это классическая проблема противофактового анализа.

Пример:

  • Клиенту отправили письмо (T=1), и он купил (Y=1).

  • Мы не можем точно знать: купил бы он без письма?

Следовательно, поведенческий класс нельзя наблюдать напрямую, и модели обучаются косвенно — через сравнение treatment и control групп с помощью статистических или ML-методов.

🔹 Трансформация классов при обучении моделей

Поскольку реальные поведенческие классы (Persuadable, Lost Cause и т.д.) не видны, при построении uplift-моделей приходится использовать следующие подходы:

1. Преобразование таргета (Transformed Outcome)

  • Создаётся новый "псевдо-таргет", отражающий uplift-эффект.

  • Пример:

Zi=YiTipYi(1Ti)1pZ_i = \\frac{Y_i \\cdot T_i}{p} - \\frac{Y_i \\cdot (1 - T_i)}{1 - p}

где p=P(T=1)p = P(T=1) — вероятность попадания в treatment.

  • Тогда можно обучать регрессионную модель предсказания uplift напрямую по ZiZ_i.

2. Формирование классов через объединение данных

Иногда используется многоцелевое обучение:

  • Модель получает на вход XiX_i и индикатор treatment TiT_i;

  • Выход — вероятности:

    - P(Y=1X,T=1)P(Y=1 \\mid X, T=1)    
    - P(Y=1X,T=0)P(Y=1 \\mid X, T=0)  

Тогда uplift рассчитывается как разность:

Uplift(x)=P(Y=1T=1,X=x)P(Y=1T=0,X=x)\\text{Uplift}(x) = P(Y=1 \\mid T=1, X=x) - P(Y=1 \\mid T=0, X=x)

3. Модифицированные decision trees

В этих деревьях используется метрика, отличная от Gini/Entropy:
Например, разница между долей успеха в treatment и control группах в узле.

Каждый узел «делит» данные не для максимизации информации, а для максимизации uplift.

🔹 Как работают модели с неявными классами?

Uplift-модели не классифицируют напрямую на Persuadable/Sure Thing и т.д., потому что эти классы не наблюдаются.

Вместо этого:

  • Они оценочно приближают uplift;

  • Или косвенно обучаются на различиях в отклике между treatment/control при фиксированных признаках;

  • Или предсказывают два отклика, и uplift рассчитывается на уровне inference.

🔹 Сводка по классам и целям обучения

Поведенческий класс Что делает модель
Persuadable Предсказывает, что uplift > 0
--- ---
Sure Thing Uplift ≈ 0
--- ---
Lost Cause Uplift ≈ 0
--- ---
Do Not Disturb Uplift < 0
--- ---

Модель не маркирует объекты явно в один из четырёх классов, но предсказывает uplift-эффект, по которому можно построить классификацию постфактум.

🔹 Как использовать полученные оценки uplift

После предсказания uplift-значения для всех объектов можно:

  • Отсортировать пользователей по убыванию uplift;

  • Отобрать top-K% с наибольшим ожидаемым эффектом;

  • Провести кампанию или воздействие только на эту группу;

  • Оценить прирост за счёт таргетирования — с помощью Qini-кривой или uplift@K.

Таким образом, классы типа Persuadable и т.п. — это теоретическая рамка, которая не задаётся явно при обучении, но служит для интерпретации результата uplift-моделирования и стратегического принятия решений.