- PVSM.RU - https://www.pvsm.ru -

Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации с клиентами и выбирается группа, которая наиболее подвержена влиянию.
Такой класс задач прост в реализации, но не получил большого распространения в литературе про машинное обучение. Небольшой цикл статей, подготовленный Ириной Елисовой (iraelisova [1]) и Максимом Шевченко (maks-sh [2]), можно рассматривать как руководство к решению таких задач. В рамках него мы познакомимся с uplift моделями, рассмотрим, чем они отличаются от других подходов, и разберем их реализации.
Обычно продвижение продуктов происходит за счет коммуникации с клиентом через различные каналы: смс, push, сообщения чат-бота в социальных сетях и многие другие. Формирование сегментов для продвижения сейчас решается с помощью машинного обучения несколькими способами:

Когда же следует прогнозировать uplift? Обычно его используют, когда целевое действие выполняется клиентами с достаточно большой вероятностью без каких-либо коммуникаций. Например, мы хотим прорекламировать достаточно популярный продукт, но при этом не хотим тратить бюджет на клиентов, которые и без нас купят этот продукт. Если же продукт не очень популярный и его в основном покупают только при продвижении, то задача сводится к response моделированию.
Для оптимизации эффекта от воздействия хочется посчитать разницу реакций человека при наличии коммуникации и при ее отсутствии. Проблема в том, что мы не можем одновременно совершить коммуникацию (например, послать смс) и не совершить коммуникацию (не послать смс). Обозначим дельту потенциальных реакций -ого человека как
. Эта величина называется causal effect:
где – потенциальная реакция человека, если с ним была коммуникация,
– потенциальная реакция человека, если коммуникации не было.

Зная признаковое описание -го объекта
, можно ввести условный усредненный эффект от воздействия CATE (Conditional Average Treatment Effect):
Ни causal effect , ни
для
-го объекта мы наблюдать, и, соответственно, оптимизировать не можем. Поэтому перейдем к оценке
или формуле uplift конкретного объекта:
Где — наблюдаемая реакция клиента в результате маркетинговой кампании, которая определяется следующим образом:
Где – флаг того, что объект попал в целевую (treatment) группу, где была коммуникация,
– флаг того, что объект попал в контрольную (control) группу, где коммуникации не было.
Стоит отметить, что формула для uplift применима только при следующем предположении об условной независимости (Conditional Independence Assumption — CIA): разделение на целевую и контрольную группу происходит случайно, а не в зависимости от значения какого-то признака. Потенциальная реакция объекта — это только следствие характеристик этого объекта
(например, установка приложения по аренде квартир зависит от возраста и города проживания), которое проявляется до того, как он попадет в какую-либо группу (целевую или контрольную). Кратко это можно записать как:
При этом наблюдаемая реакция объекта уже зависит от разделения на целевую и контрольную группу, как следует из определения.
Итак, нам нужно оценить разницу между двумя событиями, которые являются взаимоисключающими для конкретного клиента (либо мы коммуницируем с человеком, либо нет; нельзя одновременно совершить два этих действия). Именно поэтому для построения моделей uplift предъявляются дополнительные требования к исходным данным.
Для получения обучающей выборки для моделирования uplift необходимо провести эксперимент:
Единственным отличием эксперимента от будущей кампании должен быть тот факт, что в первом случае для взаимодействия мы выбираем случайных клиентов, а во втором – клиентов на основе спрогнозированного значения uplift. Если маркетинговая кампания существенно отличается от эксперимента, используемого для сбора данных о выполнении целевых действий клиентами, то построенная модель может быть менее надежной и точной.
Собранные данные об откликах на маркетинговое предложение, полученные в рамках такого эксперимента, позволят нам в дальнейшем построить модель прогнозирования uplift.
Перед проведением основной кампании рекомендуется аналогично эксперименту случайным образом выбрать небольшую часть клиентской базы и разбить ее на контрольную и целевую группы. С помощью этих данных можно будет не только адекватно оценить эффективность кампании, но и собрать дополнительные данные для дальнейшего переобучения модели.

Схема взята и адаптирована из [1] [13]
Кроме того, рекомендуется настраивать разработку uplift модели и запуск кампании как итеративный процесс: на каждой итерации будут собираться новые обучающие данные об откликах, которые состоят из комбинирования случайной подвыборки клиентов и клиентов, выбранных моделью.
Результаты воздействия на клиентов, выбранных моделью, не хотелось бы использовать в качестве обучающей выборки, так как клиенты были взяты не случайным образом. Однако эти данные представляют большую ценность, поэтому их следует изучить и использовать для дальнейшего совершенствования модели и увеличения отклика от будущих кампаний.
Принято выделять 4 типа клиентов по реакции на коммуникацию:

Стоит отметить, что в зависимости от клиентской базы и особенностей компании возможно отсутствие некоторых из этих типов клиентов. Кроме того, выполнение целевого действия сильно зависит от различных характеристик самой кампании, например, канала взаимодействия или типа и размера предлагаемого маркетингового предложения. Для максимизации прибыли следует также подбирать эти параметры.
Таким образом, предсказывая uplift и выбирая топ предсказаний, мы хотим найти только один из четырех типов — убеждаемый. Есть несколько способов это сделать.
Treatment Dummy approach, Solo model approach, Single model approach, S-Learner
Самое простое и интуитивное решение: модель обучается одновременно на двух группах, при этом бинарный флаг коммуникации выступает в качестве дополнительного признака. Каждый объект из тестовой выборки скорим дважды: с флагом коммуникации равным 1 и равным 0. Вычитая вероятности по каждому наблюдению, получим искомый uplift.

В некоторых статьях, например [2] [14], предлагается увеличить количество признаков вдвое, добавив произведение каждого признака на флаг взаимодействия: :

Two models approach, T-learner, difference two models
Подход с двумя моделями один из самых популярных и достаточно часто встречается в статьях, например [3] [15] и [4] [16]. Метод заключается в отдельном моделировании двух условных вероятностей на целевой и контрольной группах, а именно:

Dependent Data Representation, Dependent Feature Representation
Подход зависимого представления данных, представленный в [5] [17], основан на методе цепочек классификаторов, первоначально разработанном для задач многоклассовой классификации. Идея состоит в том, что при наличии различных меток можно построить
различных классификаторов, каждый из которых решает задачу бинарной классификации. В процессе обучения каждый следующий классификатор использует предсказания предыдущих в качестве дополнительных признаков. Авторы данного метода предложили использовать ту же идею для решения проблемы uplift моделирования в два этапа. Вначале мы обучаем классификатор по контрольным данным:
затем выполним предсказания в качестве нового признака для обучения второго классификатора на тестовых данных, тем самым вводя зависимость между двумя наборами данных:
Чтобы получить uplift для каждого наблюдения, вычислим разницу:
Так второй классификатор изучает разницу между ожидаемым результатом в тесте и контроле, т.е. сам uplift.

Аналогичным образом можно сначала обучить классификатор , а затем использовать его предсказания в качестве признака для классификатора
.
X-learner
Метод основывается на построении двух моделей, так же, как и в двух предыдущих подходах. Авторы статьи [6] [18] рекомендуют применять его тогда, когда целевая группа достаточно маленькая. В этом случае есть риск, что модель, построенная на целевой группе, будет обладать недостаточной обобщающей способностью. Поэтому создается перекрестная зависимость двух моделей, чтобы усилить одну модель данными другой.
1. Сначала обучаем параллельно две модели: одну на контрольной группе, другую — на целевой (как в методе с двумя независимыми моделями):

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

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

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

Рекомендуется выбирать , если размер целевой группы большой по сравнению с размером контрольной группы, и
, если наоборот. Кроме того,
можно рассматривать не только как константу, а как некоторую функцию от объекта —
.
В этой статье были рассмотрены особенности uplift моделей, процесс сбора данных и проведения маркетинговых кампаний, а также базовые методы моделирования uplift. В следующей части мы продолжим говорить о более интересных подходах.
Автор: maks-sh
Источник [26]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/marketing/345041
Ссылки в тексте:
[1] iraelisova: https://habr.com/ru/users/iraelisova/
[2] maks-sh: https://habr.com/ru/users/maks-sh/
[3] Введение: #vvedenie
[4] Нельзя просто так взять и обучить модель: #nelzja-obuchit-model
[5] Дизайн эксперимента: #dizajn-jeksperimenta
[6] Типы клиентов: #tipy-klientov
[7] Одна модель с признаком коммуникации: #odna-model
[8] Две независимые модели: #dve-nezavisimye-modeli
[9] Две зависимые модели (зависимое представление данных): #zavisimoe-predstavlenie
[10] Две зависимые модели (перекрестная зависимость): #perekrestnaja-zavisimost
[11] Полезные ссылки: #poleznye-ssylki
[12] Источники: #istochniki
[13] [1]: #reference1
[14] [2]: #reference2
[15] [3]: #reference3
[16] [4]: #reference4
[17] [5]: #reference5
[18] [6]: #reference6
[19] Jupyter notebook с примером использования питоновской библиотеки scikit-uplift: https://nbviewer.jupyter.org/github/maks-sh/scikit-uplift/blob/master/notebooks/RetailHero.ipynb
[20] Доклад про uplift моделирование: https://www.youtube.com/watch?v=jCUcYiBK03I
[21] Data Fest 6: https://datafest.ru/
[22] Доклад про аплифт моделирование: https://www.youtube.com/watch?v=yFQAIJBYXI0
[23] venheads: https://habr.com/ru/users/venheads/
[24] Доклад про рассылку персональных сообщений физ лицам клиентам банка: https://www.youtube.com/watch?v=UNegf9Rgpnw
[25] Profit Driven Business Analytics by Verbeke, Wouter & Baesens, Bart & Bravo, Cristián: https://www.amazon.com/Profit-Driven-Business-Analytics-Practitioners/dp/1119286557
[26] Источник: https://habr.com/ru/post/485980/?utm_campaign=485980&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.