Топ-3 ML-модели для продуктовой аналитики. ai.. ai. classification.. ai. classification. Data Mining.. ai. classification. Data Mining. product analytics.. ai. classification. Data Mining. product analytics. propensity score.. ai. classification. Data Mining. product analytics. propensity score. T-learner.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика. искусственный интеллект.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика. искусственный интеллект. Машинное обучение.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика. искусственный интеллект. Машинное обучение. машинное+обучение.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика. искусственный интеллект. Машинное обучение. машинное+обучение. Статистика в IT.. ai. classification. Data Mining. product analytics. propensity score. T-learner. uplift. аналитика. искусственный интеллект. Машинное обучение. машинное+обучение. Статистика в IT. Управление продуктом.

В продуктовых исследованиях часто встаёт вопрос — как не просто описывать поведение пользователей, а управлять им: понимать, кто уйдёт в отток, кто готов к апсейлу, а кому стоит предложить скидку или новую фичу. ML-модели позволяют формализовать закономерности в данных и прогнозировать, как конкретный пользователь поведёт себя в будущем или как изменится его поведение под воздействием наших действий.

В этой статье я собрал три типа моделей, которые часто используются в решении таких задач. Первая помогает предсказать целевое действие пользователя и понять, кто из них склонен к оттоку, апсейлу или активации. Вторая оценивает эффект от воздействий на пользователя и позволяет отличить реальное влияние от «органики». Третья выбирает оптимальное воздействие для конкретного пользователя, превращая аналитику в инструмент персонализированного управления поведением.

По мере чтения логика повествования будет усложняться вместе с моделями: от прямых прогнозов и вероятностных оценок — к анализу причинно-следственных связей и, наконец, к задачам выбора оптимального воздействия. Это отражает естественное развитие ML в продукте — от прогнозирования событий к управлению поведением и принятию решений. Давайте начнем 🙂

Модель №1: Предсказание целевого действия

В продуктовой аналитике одна из самых востребованных задач — предсказать, какое действие совершит конкретный пользователь в будущем. Купит ли он товар? Продлит подписку? Вернётся в сервис или уйдёт в отток?

Для этого применяют ML-модели, которые рассчитывают вероятность наступления целевого события. Причём целевым событием может быть практически что угодно — от покупки до отказа от продукта. Их ценность в том, что прогнозы позволяют сегментировать аудиторию: кто близок к уходу, кто готов к апсейлу, а кого можно эффективно реактивировать.

Часто внедрение ML в продуктовой аналитике начинается с таких моделей. Они относительно просты в реализации, понятны бизнесу и дают быстрый измеримый эффект без сложных архитектур и долгих экспериментов.

Примеры

Примеров подобных моделей можно привести множество — вот несколько наиболее популярных:

  • Предсказание оттока. Модель прогнозирует вероятность того, что пользователь перестанет пользоваться продуктом в ближайшее время. Это помогает запускать удерживающие кампании на прогнозируемый отток.

  • Апсейл и кросс-сейл. Модель определяет, кто готов перейти на более дорогой тариф или купить дополнительный продукт. Такие сценарии напрямую повышают LTV и ARPU, позволяя расти не только за счёт новых пользователей, но и за счёт существующих.

  • Вероятность активации. Классическая задача для новых пользователей: прогнозируем, дойдёт ли человек до первого целевого действия (оформит заказ, сделает покупку). Это позволяет точечно помогать тем, кто “застревает” на пути к активации.

С точки зрения ML все эти задачи отличается только тем, какое событие мы предсказываем и какие признаки используются, в остальном их логика построения не отличается. Поэтому их удобно рассматривать в одном блоке.

Данные

Главное преимущество таких задач в том, что не нужно проводить дополнительные эксперименты — достаточно исторических логов о действиях пользователей. Мы берём выборку, размечаем, совершил ли пользователь целевое действие и строим признаки, которые могли повлиять на этот исход.

Очевидно, что сами признаки будут сильно зависеть от конкретной задачи, но в целом весь фичеинжиниринг сводится к нескольким базовым приёмам:

  1. Характеристики пользователя: всё, что описывает пользователя как в реальном мире, так и внутри сервиса: возраст, пол, регион, устройство, а также наличие подписки, тариф, статус аккаунта и тд.

  2. Агрегаты по временным окнам: считаем активность за разные периоды (например, 7, 30, 90 дней): количество событий, суммы, средние. Таким образом оцениваем как и саму активность пользователя так и долгосрочные паттерны.

  3. Интервальные фичи: время с последнего или первого действия, средний промежуток между событиями, темпы роста/спада при сравнении разных окон.

  4. Календарные факторы: день недели, месяц, сезонность. Многие процессы цикличны, и такие признаки помогают учитывать повторяющиеся паттерны.

  5. Производные признаки: помимо простых агрегатов, часто полезно рассчитывать более “умные” характеристики: отношения между окнами, доля активных дней в периоде, нормализация метрик на пользователя, отношение суммы покупок к среднему значению и тд.

Модель

Когда данные подготовлены, задача сводится к классической бинарной классификации с предсказанием вероятности классов: по набору признаков модель должна оценить вероятность наступления целевого события.

Для решения таких задач существует множество моделей. На практике оптимальным вариантом является градиентный бустинг (XGBoost, LightGBM, CatBoost). Другие методы встречаются реже — логистическая регрессия (если нужна интерпретируемость прогноза), случайный лес (долго обучается, но работает), нейросети (редко, в более сложных моделях).

Чтобы корректно обучить и проверить модель, данные делят на несколько частей: train — для обучения; validation — для подбора гиперпараметров и контроля переобучения; test — для финальной проверки качества. В подобных задачах разбиение часто делают по времени: модель должна учиться на прошлом и проверяться на будущем. Возможно это не так критично при разделении на train и validation, но точно важно когда мы говорим про test.

Подробнее про оценку качества таких моделей я рассказывал в этой статье.

Выкатка в прод и поддержка

Одно из ключевых преимуществ таких моделей в том, что для их оценки не требуется проведения особого A/B-тестирования. Достаточно следить, чтобы модель сохраняла репрезентативность — то есть продолжала корректно решать исходную задачу и выделять пользователей с нужным паттерном поведения. Однако при использовании важно учитывать два фактора:

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

  • Во-вторых, даже без внешнего воздействия качество модели со временем деградирует: пользователи с теми же характеристиками начинают вести себя иначе под влиянием скрытых факторов. Это явление известно как drift — смещение данных или концепции.

Чтобы контролировать эти эффекты, при выкатке модели в продакшн обычно выделяют контрольную группу пользователей, не участвующих в промо-активностях. Она помогает: измерять uplift от воздействия, оценивать базовое качество прогнозов и обновлять модель в будущем.

Поддерживать модель можно двумя способами:

  • Регулярное обучение модели на новых данных — надёжно, но ресурсоёмко;

  • Калибровка прогнозов, когда структура модели сохраняется, а вероятности подстраиваются под свежие данные — быстрее и дешевле.

Подробнее о калибровочных моделях я рассказывал в этой статье про поведенческие модели в кредитных рисках.

Модель №2: Uplift-модели

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

Для этого применяют uplift-модели которые предсказывают не вероятность события, а разницу в вероятностях события с воздействием и без него. По сути, модель оценивает, насколько конкретный пользователь “восприимчив” к воздействию, и помогает выбрать тех, на кого оно подействует сильнее всего.

Другими словами, можно сказать, что uplift-модели помогают формировать релевантный сегмент пользователей, при этом очищая его от “органики”. И это очень полезно, так как помогает оптимизировать ресурсы (бюджет) и не беспокоить пользователей которым это не нужно.

Примеры

Uplift-модели полезны там, где бизнесу важно понять реальный прирост от воздействия. Вот несколько примеров:

  • Реактивации пользователей. Модель помогает выделить тех пользователей из оттока, кто действительно изменит своё поведение под влиянием акции и не тратить бюджет на тех, кто либо вернулся бы сам, либо всё равно не откликнется.

  • Промо-кампании в e-commerce. Cкидки и кэшбэки часто раздаются массово, но uplift-модели позволяют отделить “чувствительных” пользователей от “органических” покупателей. В результате предложение получает только тот сегмент, где это экономически оправдано.

Данные

Для построения uplift-модели сначала данные собирают через A/B-эксперимент с рандомизацией: пользователи случайным образом делятся на группы воздействие и контроль (воздействие назначается случайно). Если есть возможность, полезно провести несколько экспериментов с одинаковой механикой — это увеличивает разнообразие обучающей выборки и делает модель устойчивее.

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

После завершения эксперимента для каждого пользователя фиксируется, совершил ли он целевое действие, принадлежность к тестовой или контрольной группе и собираются все релевантные признаки, описывающие поведение до воздействия. Именно на этих данных и обучается uplift-модель.

Модель

Uplift-модель должна оценить разность вероятностей совершить целевое действие с воздействием и без него (для бинарной метрики):

uplift(x) ≈ P(Y=1 | X=x, T=1) − P(Y=1 | X=x, T=0),

где T ∈ {0,1} – наличие воздействия, Y ∈ {0,1} – целевое действие, Х – характеристики пользователя. Способов построения таких моделей можно привести несколько.

T-learner

Пожалуй самый популярный подход, строятся две независимые модели бинарной классификации:

  • a1(x) = P(Y=1 | X=x, T=1) — модель для предсказания вероятности целевого действия для пользователей получивших воздействие.

  • a2(x) = P(Y=1 | X=x, T=0) — модель для предсказания вероятности целевого действия для пользователей НЕ получивших воздействие.

Uplift оценивается как разность прогнозов двух моделей: uplift(x) = a1(x) – a2(x).

Просто, гибко и хорошо работает. Недостаток — каждая модель “не видит” данных другой группы.

S-learner

Строится одна модель бинарной классификации для предсказания целевого действия, где наличие воздействия T ∈ {0,1} является одним из признак модели a(x) = P(Y=1 | X=x, T=t).

Uplift при этом оценивается как разность прогнозов для пользователя с воздействием и без него: uplift(x) = a(x, T=1) – a(x, T=0).

Такой подход прост в реализации, но чувствителен к взаимосвязям между признаками: если само воздействие T слабо влияет на целевое действие или сильно коррелирует с другими признаками, в модели могут появляться артефакты и смещения в оценке uplift.

X-learner

Усовершенствование T/S подходов. Это комбинация двух подходов T-learner и S-learner. Работает в несколько этапов:

1) Строим модели T-learner

  • a1(x) для предсказания вероятности целевого действия для пользователей получивших воздействие.

  • a2(x) для предсказания вероятности целевого действия для пользователей НЕ получивших воздействие

2) Вычисляем псевдо-эффекты

Для каждого пользователя считаем разницу между его фактическим откликом и предсказанием модели, обученной на противоположной группе:

  • Для пользователей, которые получили воздействие (T=1): D1​ = Y−a2​(x).

  • Для пользователей, которые НЕ получили воздействие (T=0): D2​ = a1​(x)−Y.

D1​ и D2 — по сути показывают, как воздействие или его отсутствие повлияло на конкретного пользователя. Положительное значение означает, что воздействие повысило вероятность целевого действия; отрицательное — что эффект оказался отрицательным; нулевое — что поведение пользователя не изменилось.

3) Строим модели псевдо-эффектов

Обучаем две регрессионные модели на получившиеся псевдо-эффекты:

  • m1(x) – на данных с T=1 и таргетом D1​,

  • m2(x) – на данных с T=0 и таргетом D2.

По факту мы учимся предсказывать при каких признаках воздействие помогает, а при каких — нет.

4) Комбинируем эффекты и оцениваем uplift

Финальная uplift-оценка получается как взвешенная комбинация этих двух моделей:

uplift(x)=w(x)⋅m1(x)+(1−w(x))⋅m2(x),

где w(x) это вес, зависящий от вероятности попадания в тестовую или контрольную группу.

Если разделение на тестовую и контрольную группу было произведено случайным образом, то w(x) – это просто константа (например, если тест = контроль, то w(x) = 0.5). Если же пользователи в тесте и контроле разделены не случайно, то для оценки w(x) лучше построить отдельную модель которая будет предсказывать вероятность попадания в тест T (1 — тест, 0 — контроль).

Выкатка в прод и поддержка

Чтобы оценить качество uplift-модели, требуется провести новый эксперимент. Пользователей делят на несколько групп случайным образом:

  • Случайная выборка без участия модели — контроль для базового сравнения. В ней часть пользователей получает воздействие, часть остаётся без него.

  • Группа, выбранная по прогнозу модели (например, top-20% по uplift из оставшихся пользователей). Здесь также часть получает воздействие, а часть — нет, чтобы измерить реальный uplift, предсказанный моделью.

Это позволяет измерить uplift-метрики и понять, действительно ли модель выделяет “восприимчивых” пользователей.

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

Кроме того, uplift-модели подвержены drift-эффектам: со временем пользователи начинают иначе реагировать на одни и те же стимулы. Поэтому в продакшне всегда стоит оставлять случайную контрольную выборку без участия модели, чтобы отслеживать изменение эффекта и иметь базу для обновления модели.

Модель №3: Модели оптимального воздействия

Если в первых двух моделях мы предсказывали, что сделает пользователь или как он отреагирует на воздействие, то теперь задача — понять, какое воздействие выбрать.

Речь идёт о случаях, когда у нас есть несколько возможных офферов или сценариев коммуникации, а пользователю нужно показать один или несколько лучших (промокод, скидку, пуш, баннер или новую фичу). Очевидно, что разные пользователи реагируют по‑разному — универсального «лучшего» оффера не бывает.

Для таких ситуаций применяются подобные модели — они подбирают оптимальное предложение для конкретного пользователя, исходя из его вероятного отклика или ожидаемой ценности.

По сути, это расширение uplift-подхода в многовариантной постановке: нужно выбрать наилучшее действие из нескольких возможных, а не просто решить “показывать или нет”. Такая постановка известна как multi-treatment uplift modeling — следующий шаг эволюции ML в персонализированных коммуникациях и продуктовой аналитике.

Примеры

Модели оптимизации воздействия особенно полезны, когда у бизнеса есть несколько вариантов коммуникации или предложений, и нужно выбрать, кому что показать, чтобы максимизировать целевую метрику.

  • Промо и скидочные кампании. В e-commerce часто одновременно действуют десятки акций: скидки, кэшбэки, бесплатная доставка, промокоды на категории. Модель помогает определить, какое предложение даст наибольший эффект для конкретного пользователя, а не рассылать всё подряд. Это повышает экономическую эффективность промо и снижает “шум” коммуникаций.

  • Каналы взаимодействия. Пользователь может по-разному реагировать на push, e-mail, баннер или SMS. Multi-uplift модель выбирает канал с наибольшей вероятностью отклика, фактически превращая управление коммуникациями в оптимизационную задачу.

Данные

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

Кроме того, несколько независимых экспериментов лучше, чем один: это повышает разнообразие выборки, помогает модели различать контексты и снижает риск переобучения на особенности конкретной кампании.

В данных для каждого пользователя фиксируются: принадлежность к группе (контроль или конкретный оффер); факт целевого действия (например, покупка, активация, продление); набор признаков, описывающих поведение до воздействия.

Модель

В классической uplift-модели сравниваются две группы — с воздействием и без него. Здесь ситуация сложнее: воздействий несколько, и модель должна предсказать вероятность целевого действия при каждом варианте, чтобы затем выбрать наилучший:

a(x)=argmax​(P(Y=1|X=x,T=t)) по t из T,

где X — признаки пользователя, T ∈ {0, t1, t2,…,tn}— набор воздействий (офферов) с учётом варианта “без воздействия”, а Y ∈ {0,1} — целевое действие. Фактически, модель для каждого пользователя сравнивает ожидаемый эффект разных воздействий и выбирает то, которое способно принести наибольшую пользу.

Важно отметить, что в этой формуле есть смелые допущение: максимизация вероятности целевого действия = лучший выбор воздействия. К этому мы вернемся чуть позже. Однако независимо от способа выбора оптимального воздействия суть подхода будет не сильно меняться: модель выбирает воздействие, которое даёт наилучший ожидаемый результат для конкретного пользователя. Методов решения такой задачи существует немало, ниже приведены некоторые из них.

One-vs-Rest

Самый прямолинейный вариант (аналог T-learner) — обучить отдельную uplift-модель для каждого воздействия относительно контрольной группы. Например, если у нас три оффера A, B и C, то обучаем:

  • uplift_A(x) = эффект воздействия A по сравнению с контролем,

  • uplift_B(x) = эффект воздействия B по сравнению с контролем,

  • uplift_C(x) = эффект воздействия C по сравнению с контролем.

На этапе применения выбираем оффер с максимальным uplift.

Этот подход прост в реализации, легко интерпретируется и хорошо работает при умеренном количестве воздействий. Однако при большом числе офферов может быть вычислительно дорогим и требовать большого объёма данных для обучения.

Joint multi-treatment model

В этом случае воздействие T включается в модель как категориальный признак (аналогично S-learner), а модель обучается сразу на всех данных.

Тогда uplift для каждого воздействия оценивается как:

uplift(x,t)=P(Y=1|X=x,T=t)−P(Y=1|X=x,T=0),

где T=0 — контроль без воздействия. А выбор оптимального воздействии производится по максимальному значению uplift.

Этот вариант эффективен при большом числе воздействий и хорошо масштабируется, но требует аккуратного подхода к обработке дисбаланса между группами.

Обобщения и развитие подхода

Принцип выбора “оптимального” воздействия может сильно различаться в зависимости от задачи. Например, предположим, что у компании есть две скидки — 5% и 50%. С точки зрения вероятности покупки (целевого действия) более высокая скидка почти всегда выглядит лучше, но в экономическом смысле не факт: дополнительная конверсия может не компенсировать потери от высокого оффера.

Поэтому функцию оптимизации можно задавать по-разному. На практике можно оптимизировать почти любую метрику “R”, которая считается основной при принятии решения о выборе воздействия:

a(x)=argmax​(R(X=x,T=t)) по t из T.

Такая логика хорошо встраивается в классические схемы One-vs-Rest uplift и Joint multi-treatment model. В одних случаях можно напрямую прогнозировать бизнес-метрики (прибыль, удержание, LTV), в других строить дополнительные модели, которые оценивают недостающие составляющие (например, ожидаемые затраты) и уже после использовать их для принятия решения. Со временем такие модели перерастают в полноценные системы, где несколько моделей описывают разные аспекты поведения пользователей и совместно формируют механизм принятия решений. Но это уже тема для отдельной статьи.

Выкатка в прод и поддержка

После обучения модели обычно проводят отдельный A/B-тест. Пользователей делят на три группы:

  • Контроль: часть пользователей не получает воздействие.

  • Тест 1: где воздействие назначаются по текущей бизнес-логике или случайным образом.

  • Тест 2: где воздействие выбираются на основе прогнозов модели.

Это позволяет сравнить эффективность новой стратегии с существующей и оценить, действительно ли модель увеличивает целевую метрику, а также оценить аплифты от наших механик.

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

Чтобы контролировать эти эффекты, в продакшне обычно оставляют небольшую контрольную выборку пользователей, на которых офферы назначаются случайно. Это позволяет отслеживать качество модели, измерять uplift от новой стратегии и сохранять базу для дальнейшего обновления модели.

Заключение

Каждая из описанных моделей решает свой класс продуктовых задач — от прогнозирования поведения до выбора оптимального воздействия. Вместе они образуют рабочий каркас, на котором можно строить аналитику следующего уровня: когда решения опираются не только на метрики, но и на вероятностные оценки и причинно-следственные эффекты.

При этом, сами описанные модели можно изменять, развивать и усложнять. Например, в этой статья я больше сделал акцент на моделях на основе классификации, но все эти подходы также работают и для регрессий. Более того, на практике часто используется не одна отдельная модель, а набор взаимосвязанных решений, которые оценивают разные аспекты поведения пользователя.

Кроме того, этот список далеко не полный. В продуктовой аналитике активно используются и другие подходы — модели прогноза LTV, Propensity Score Matching для оценки эффектов без экспериментов, модели ранжирования и тд. У всех у них разная цель, но общая идея — лучше понимать, почему пользователь действует именно так и что можно сделать, чтобы изменить это поведение.

Если материал окажется полезным, сделаю продолжение — во второй части разберу более сложные и специализированные подходы. А пока будет интересно узнать, какие ML-модели вы применяете в своих продуктах и какие из них действительно показали результат — расскажите в комментариях.

Другие статьи автора:

Автор: aleksei_terentev

Источник

Rambler's Top100