uplift что это в бизнесе
Туториал по Uplift моделированию. Часть 2
В первой части мы познакомились с uplift моделированием и узнали, что метод позволяет выбирать оптимальную стратегию коммуникации с клиентом, а также разобрали особенности сбора данных для обучения модели и несколько базовых алгоритмов. Однако эти подходы не позволяли оптимизировать uplift напрямую. Поэтому в этой части разберем более сложные, но не менее интересные подходы.
Трансформация классов
Class Transformation approaсh, Class Variable Transformation approach, Revert Label approach
Достаточно интересный и математически подтвержденный подход к построению модели, представленный еще в 2012 году на ICML [1], который заключается в прогнозировании немного измененной целевой переменной.
где — новая целевая переменная
-ого клиента
— целевая переменная
-ого клиента
— бинарный флаг коммуникации: при
—
-й клиент попал в целевую (treatment) группу, где была коммуникация; при
—
-й клиент попал в контрольную (control) группу, где не было коммуникации.
Другими словами, новый класс равен 1, если мы знаем, что на конкретном наблюдении результат при взаимодействии был бы таким же хорошим, как и в контрольной группе, если бы мы могли знать результат в обеих группах:
Распишем подробнее, чему равна вероятность новой целевой переменной:
Также допустим, что , т.е. во время эксперимента контрольные и целевые группы были разделены в равных пропорциях. Тогда получим следующее:
Таким образом, увеличив вдвое прогноз нового таргета и вычтя из него единицу, мы получим значение самого uplift, т.е.
Исходя из допущения, описанного выше: , данный подход следует использовать только в случаях, когда количество клиентов, с которыми мы прокоммуницировали, равно количеству клиентов, с которыми коммуникации не было.
Трансформация классов (регрессия)
На предыдущий тип трансформации классов накладываются серьезные ограничения: целевая переменная может быть только бинарной, а контрольная и целевая группы должны быть распределены в равных пропорциях. Давайте рассмотрим более общий подход из [2], не имеющий таких ограничений.
Трансформируем исходную целевую переменную по следующей формуле:
Где — новая целевая переменная для
-ого клиента
— флаг коммуникации для
-ого клиента
— propensity score или вероятность отнесения к целевой группе:
Здесь важно отметить, что можно оценить как долю объектов с
в выборке. Или воспользоваться способом из [3], в котором предлагается оценить
как функцию от
, обучив классификатор на имеющихся данных
, а в качестве целевой переменной взяв вектор флага коммуникации
.
После применении формулы получаем новую целевую переменную и можем обучить модель регрессии с функционалом ошибки
. Так как именно при применении MSE предсказания модели являются условным математическим ожиданием целевой переменной.
Покажем, что условное матожидание трансформированного таргета и есть желаемый causal effect из первой части статьи:
Напомним также, что наблюдаемую целевую переменную можно представить в виде:
Где — потенциальные реакции для каждого
-го объекта в зависимости от значения
, которые мы хотели бы (но не можем) наблюдать одновременно.
Перепишем формулу трансформации с учетом этого:
Так как при случайном разбиении на целевую и контрольную группы не должно зависить от
, то:
Получим, что преобразованная целевая переменная позволяет оценивать uplift:
Многоклассовая модель
Generalized Lai Method
Так как мы можем взаимодействовать с клиентами и наблюдать их реакцию
, то разделим их на 4 непересекающихся класса:
Картинка взята и адаптирована из [4]
Попробуем разобраться, как соотносятся между собой обозначенные выше 4 класса и типы клиентов из первой части, которых мы хотим найти (не беспокоить, потерянный, лояльный, убеждаемый). Их главное различие в том, что классы CR, CN, TR, TN мы можем наблюдать непосредственно по их реакции на коммуникацию, в то время как типы клиентов мы наблюдать не можем. При этом они связаны между собой: каждый из четырех классов может содержат по 2 типа клиента одновременно.
В этом подходе [4] предлагается прогнозировать вероятности отнесения клиента к каждому из этих 4 классов и обучить модель многоклассовой классификации:
Тогда uplift можно будет рассчитать следующим образом:
Мы суммируем вероятности принадлежности к классам и
, так как они содержат тип убеждаемый, который мы хотим найти, и вычитаем вероятности принадлежности к классам
и
, так как они содержат тип не беспокоить, которого наоборот хотелось бы избежать.
Когда выборки по своему объему сильно не сбалансированы, предлагается рассчитывать uplift так:
Где — доля клиентов в тестовой группе,
— доля клиентов в контрольной группе,
.
Нормировка необходима тогда, когда целевая группа мала по сравнению с контрольной группой, так как в этом случае доля TR и TN клиентов также будет небольшой.
Методы, основанные на деревьях
Decision trees for uplift modeling, Causal trees
Стоит отметить, что предыдущие методы имеют следующие недостатки:
Хочется взять хорошо зарекомендовавший себя метод и изменить его так, чтобы непосредственно оптимизировать аплифт. Например, авторы статьи [5] предлагают использовать деревья решений с другим критерием разбиения. Дерево строится так, чтобы максимизировать расстояние (дивергенцию) между распределениями целевой переменной у контрольной и целевой групп. Формально для каждого разбиения это можно записать так:
Где — распределения целевой переменной в контрольной и целевой группах
— дивергенция (расхождение) между двумя распределениями
Есть несколько видов дивергенции D, которые используют для решения этой задачи:
Где распределения представлены как
Если получается так, что в вершине при разбиении остаются объекты одной группы (контрольной или целевой), то дивергенция сводится к стандартному для деревьев критерию (KL-дивергенция — к энтропийному критерию, Евклидово расстояние и хи-квадрат — к критерию Джини).
Также важное условие разбиения — это сведение к минимуму разницы между количеством объектов, попавших в левую и правую дочернюю вершину. Слева на картинке изображен пример плохого разбиения, когда высокое значение величины uplift в левой дочерней вершине достигается за счет того, что в него попало всего 30 объектов из 1000.
Картинка взята и адаптирована из [7]
Чтобы контролировать количество объектов в разбиении, можно воспользоваться формулой взвешенной дивергенции (после разбиения):
Где и
— количество объектов, попавших в левую и правую дочернюю вершину соответственно
— распределения целевой переменной в целевой и контрольной группе для левой и правой дочерних вершин
После реализации дерева с новым критерием разбиения можно использовать этот алгоритм в качестве базового алгоритма в ансамблях, например, в случайном лесе или градиентном бустинге, а также применять стандартные для деревьев методы борьбы с переобучением, такие как стрижка (pruning) или ранняя остановка (early stopping).
Заключение
Цикл обзорных статей не раскрывает всех подходов к прогнозированию uplift, однако охватывает наиболее популярные и интересные для нас. На сегодняшний день не существует идеального метода, который на разных данных и на протяжении долгого времени выигрывал бы по качеству у других. Этот факт мотивирует исследователей разрабатывать новые подходы (например, любопытная статья 2019 года о применении бандитов к решению данной задачи [8]). В дальнейшем мы планируем рассмотреть метрики качества для оценки прогнозируемого uplift.
Uplift моделирование используется не только для задач маркетинга, но и в медицине, политике, экономике и в других сферах. То есть, когда поведение объектов может изменяться под некоторым контролируемым воздействием, такой подход может быть более предпочтительным, чем другие.
Статья написана в соавторстве с Максимом Шевченко (maks-sh)
Туториал по uplift моделированию. Часть 1
Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации с клиентами и выбирается группа, которая наиболее подвержена влиянию.
Такой класс задач прост в реализации, но не получил большого распространения в литературе про машинное обучение. Небольшой цикл статей, подготовленный Ириной Елисовой (iraelisova) и Максимом Шевченко (maks-sh), можно рассматривать как руководство к решению таких задач. В рамках него мы познакомимся с uplift моделями, рассмотрим, чем они отличаются от других подходов, и разберем их реализации.
Введение
Обычно продвижение продуктов происходит за счет коммуникации с клиентом через различные каналы: смс, push, сообщения чат-бота в социальных сетях и многие другие. Формирование сегментов для продвижения сейчас решается с помощью машинного обучения несколькими способами:
Нельзя просто взять и обучить модель
где – потенциальная реакция человека, если с ним была коммуникация,
– потенциальная реакция человека, если коммуникации не было.
Ни causal effect , ни
для
-го объекта мы наблюдать, и, соответственно, оптимизировать не можем. Поэтому перейдем к оценке
или формуле uplift конкретного объекта:
Где — наблюдаемая реакция клиента в результате маркетинговой кампании, которая определяется следующим образом:
Где – флаг того, что объект попал в целевую (treatment) группу, где была коммуникация,
– флаг того, что объект попал в контрольную (control) группу, где коммуникации не было.
Стоит отметить, что формула для uplift применима только при следующем предположении об условной независимости (Conditional Independence Assumption — CIA): разделение на целевую и контрольную группу происходит случайно, а не в зависимости от значения какого-то признака. Потенциальная реакция объекта — это только следствие характеристик этого объекта
(например, установка приложения по аренде квартир зависит от возраста и города проживания), которое проявляется до того, как он попадет в какую-либо группу (целевую или контрольную). Кратко это можно записать как:
При этом наблюдаемая реакция объекта уже зависит от разделения на целевую и контрольную группу, как следует из определения.
Дизайн эксперимента
Итак, нам нужно оценить разницу между двумя событиями, которые являются взаимоисключающими для конкретного клиента (либо мы коммуницируем с человеком, либо нет; нельзя одновременно совершить два этих действия). Именно поэтому для построения моделей uplift предъявляются дополнительные требования к исходным данным.
Для получения обучающей выборки для моделирования uplift необходимо провести эксперимент:
Собранные данные об откликах на маркетинговое предложение, полученные в рамках такого эксперимента, позволят нам в дальнейшем построить модель прогнозирования uplift.
Перед проведением основной кампании рекомендуется аналогично эксперименту случайным образом выбрать небольшую часть клиентской базы и разбить ее на контрольную и целевую группы. С помощью этих данных можно будет не только адекватно оценить эффективность кампании, но и собрать дополнительные данные для дальнейшего переобучения модели.
Схема взята и адаптирована из [1]
Кроме того, рекомендуется настраивать разработку uplift модели и запуск кампании как итеративный процесс: на каждой итерации будут собираться новые обучающие данные об откликах, которые состоят из комбинирования случайной подвыборки клиентов и клиентов, выбранных моделью.
Результаты воздействия на клиентов, выбранных моделью, не хотелось бы использовать в качестве обучающей выборки, так как клиенты были взяты не случайным образом. Однако эти данные представляют большую ценность, поэтому их следует изучить и использовать для дальнейшего совершенствования модели и увеличения отклика от будущих кампаний.
Типы клиентов
Принято выделять 4 типа клиентов по реакции на коммуникацию:
Таким образом, предсказывая uplift и выбирая топ предсказаний, мы хотим найти только один из четырех типов — убеждаемый. Есть несколько способов это сделать.
Одна модель с признаком коммуникации
Treatment Dummy approach, Solo model approach, Single model approach, S-Learner
Самое простое и интуитивное решение: модель обучается одновременно на двух группах, при этом бинарный флаг коммуникации выступает в качестве дополнительного признака. Каждый объект из тестовой выборки скорим дважды: с флагом коммуникации равным 1 и равным 0. Вычитая вероятности по каждому наблюдению, получим искомый uplift.
В некоторых статьях, например [2], предлагается увеличить количество признаков вдвое, добавив произведение каждого признака на флаг взаимодействия: :
Две независимые модели
Two models approach, T-learner, difference two models
Подход с двумя моделями один из самых популярных и достаточно часто встречается в статьях, например [3] и [4]. Метод заключается в отдельном моделировании двух условных вероятностей на целевой и контрольной группах, а именно:
Две зависимые модели (зависимое представление данных)
Dependent Data Representation, Dependent Feature Representation
Подход зависимого представления данных, представленный в [5], основан на методе цепочек классификаторов, первоначально разработанном для задач многоклассовой классификации. Идея состоит в том, что при наличии различных меток можно построить
различных классификаторов, каждый из которых решает задачу бинарной классификации. В процессе обучения каждый следующий классификатор использует предсказания предыдущих в качестве дополнительных признаков. Авторы данного метода предложили использовать ту же идею для решения проблемы uplift моделирования в два этапа. Вначале мы обучаем классификатор по контрольным данным:
затем выполним предсказания в качестве нового признака для обучения второго классификатора на тестовых данных, тем самым вводя зависимость между двумя наборами данных:
Чтобы получить uplift для каждого наблюдения, вычислим разницу:
Так второй классификатор изучает разницу между ожидаемым результатом в тесте и контроле, т.е. сам uplift.
Две зависимые модели (перекрестная зависимость)
Метод основывается на построении двух моделей, так же, как и в двух предыдущих подходах. Авторы статьи [6] рекомендуют применять его тогда, когда целевая группа достаточно маленькая. В этом случае есть риск, что модель, построенная на целевой группе, будет обладать недостаточной обобщающей способностью. Поэтому создается перекрестная зависимость двух моделей, чтобы усилить одну модель данными другой.
1. Сначала обучаем параллельно две модели: одну на контрольной группе, другую — на целевой (как в методе с двумя независимыми моделями):
2. Затем преобразуем обе целевые переменные, используя предсказания контрольной модели на данных целевой группы и предсказания целевой модели на данных контрольной группы. Полученные величины обозначаются как и
и называются вменяемым эффектом от воздействия.
Если оценки и
были бы не предсказаниями, а реальными величинами (которые мы на самом деле не можем пронаблюдать), то
и
были бы равны uplift, то есть
3. Обучим две новые модели на преобразованных таргетах и
:
4. Взвешенная с некоторым коэффициентом сумма предсказаний этих моделей и будет uplift. Поэтому процесс применения модели будет выглядеть следующим образом:
Рекомендуется выбирать , если размер целевой группы большой по сравнению с размером контрольной группы, и
, если наоборот. Кроме того,
можно рассматривать не только как константу, а как некоторую функцию от объекта —
.
Заключение
В этой статье были рассмотрены особенности uplift моделей, процесс сбора данных и проведения маркетинговых кампаний, а также базовые методы моделирования uplift. В следующей части мы продолжим говорить о более интересных подходах.
Статья написана в соавторстве с Ириной Елисовой (iraelisova)