Меня зовут Василий Сизов, я наполовину ML-инженер, наполовину маркетолог, и я нарушил бизнес-правила.

Даже при внедрении новейших технологий бизнес сохраняет определённую консервативность. Сегодня я покажу, как у нас получилось увеличить продажи, отказавшись от репрезентативной выборки покупателей, и попутно расскажу о метриках вроде look-alike, response и uplift. Статья написана по следам моего выступления на Data Fest, но для понятности добавлены лисы и совы.


Круговорот клиентов в природе 

«Клиентский онтогенез» волнует в первую очередь поставщиков услуг. Им важно, интегрировался ли клиент в компанию и можно ли ему что-то предложить.

Жизненный цикл клиента (ЖЦК) ВТБ состоит из нескольких этапов:

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

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

  • Кросс-продажи. Подбираем выгодное для обеих сторон предложение.

  • Удержание. Клиентов мы любим, но не отпускаем. Вместо этого думаем над удерживающим предложением.

  • Реактивация. Оцениваем вероятность возвращения клиента, выстраиваем стратегию воссоединения с ним.

В общем, ЖЦК — это целая инструкция отношений с клиентом. Тут тесно связаны маркетинг и аналитика. В чём же аналитика?

Иногда поведение клиента кажется стохастическим. Перед ним единственная зелёная кнопка «Оформить», он удачно прошёл предшествующие стадии ЖЦК, но выходит с сайта, прерывая оформление условной карты.

Человек не автомат, а в антропологической экономике Бурдье его и вовсе считают непредсказуемой сущностью. Возможно, мы и не сможем добиться 100% профита. Но, зная внешние и внутренние факторы, имеем шанс на эффективные продажи — об этом свидетельствуют результаты.

Данные о потребителях

Как известно, подавляющая часть работы DS-специалиста — копание в данных. У наших спецов это не исключение. Перед предиктивной аналитикой собирается кладезь данных о клиенте:

  • общая информация;

  • контактные данные;

  • история исходящих коммуникаций;

  • история сервисных операций и др.

Кроме того, мы собираем данные по продуктам: транзакции, история продуктового владения, балансы, доходы и резервы
Кроме того, мы собираем данные по продуктам: транзакции, история продуктового владения, балансы, доходы и резервы

Чтобы предсказать поведение клиентов, нужно очень много данных, но это осуществимо. Безусловно, мы соблюдаем требования и рекомендации 152-ФЗ.

Важно отметить, что необходимый набор инфы зависит и от используемой модели.

Например, иногда для прогнозирования нужны данные о коммуникациях, за счёт которых продвигаются некоторые продукты. Это могут быть списки телефонных номеров, на которые отправлялись SMS со спецпредложениями. Но каким моделям нужны такие данные?

«Вам с коммуникациями или без?»: сравниваем look-alike, response и uplift

Существует три основных типа моделей для прогнозирования поведения клиента: look-alike, response и uplift.

Ключевое различие — использование при разных сценариях: без коммуникаций и с ними. Под коммуникациями понимают любые подталкивания клиента к целевому действию. Например, звонок в три часа утра.

Если кратко, look-alike оценивает вероятность того, что клиент совершит целевое действие. Целевым действием может быть, например, оформление бизнес-карты. Тогда модель оценит вероятность того, что клиент закажет её. На выходе мы получаем ранжированный по вероятности список клиентов.

Модель response подходит к задаче прогнозирования с другой стороны: она вычисляет вероятность совершения целевого действия клиента при условии коммуникации с ним ранее (звонок, SMS-рассылка). Для работы с response нужна не только инфа о клиентах, как в случае с look-alike, но и данные о коммуникациях с ними (о своеобразных AB-тестированиях).

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

Например, есть магазин «Лисы и совы», который продаёт лис и сов. Из записной книжки известно, что каждый второй покупает сов — это много. Но продавца не устраивает такой расклад — он хочет продать по сове каждому. Даже если всем она и не нужна.

Поэтому продавец решает выявить признаки клиентов, которые покупают только лис. На основании этих данных он настраивает SMS-рассылку со специальным предложением «одна сова по цене двух», тем самым подталкивает покупать сов и не тратит бюджет на коммуникацию с теми, кто и так их берёт. Однако такое прогнозирование требует большого массива данных по маркетинговым кампаниям и не только.

Как мы обошлись с моделированием

Для продуктов, к которым были применимы все модели, мы строили look-alike, response и uplift. В целом процесс выглядел так:

  1. Look-alike моделирование — для каждого MVP-продукта строилась модель look-alike.

  2. Response. Данный тип модели строился только после look-alike, если с клиентами поддерживалась коммуникация.

  3. Uplift-моделирование. Данный тип модели строился для тех продуктов, по которым были маркетинговые кампании (SMS-рассылки, email-акции и др.).

Допустим, условной компании «Белый-лайн» нужно увеличить продажи. Отдел маркетинга решил провести обзвон. Но невозможно дозвониться до миллиона человек. Тогда они решают отобрать 5 000 человек. Однако такую выборку можно сформировать чуть ли не бесконечным числом способов. Поэтому они решают использовать модели look-alike, response и uplift, чтобы получить три ранжированных списка клиентов. В верхушке каждого находится человек, который готов с наибольшей вероятностью оформить тариф у «Белый-лайн».

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

Тем не менее всё не так просто. И look-alike, и uplift проходят через несколько этапов:

  • разведочный анализ данных: анализируем влияние факторов на таргет и проводим A/A-тестирования;

  • построение модели: тестирование разных видов моделей, отбор факторов и подбор параметров, балансировка выборки (достижение приёмлемого числа аугментаций);

  • постанализ модели: оцениваем профит (хорошо или плохо влияют факторы на таргет).

То есть сначала продавец условных «Лис и сов» смотрит, например, какой уровень продаж в праздничные дни и сколько клиентов, которые выбирают сов, являются кошатниками. А потом проводит опрос среди них. Например, спрашивает клиентов, опасаются ли они, что на сову может напасть домашняя кошка. 

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

Метрика для оценки look-alike и response

Финальное качество моделей look-alike и response оценивалось по графику:

График отношения балансов и покрытия
График отношения балансов и покрытия

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

Модель классифицировала по двум классам. Первый (целевой) класс — категория клиентов, совершивших целевое действие (оформление продукта) в течение трёх месяцев после привлечения. Второй класс — категория клиентов, которые таких действий не совершали.

Что такое баланс классов

Баланс классов — это доля целевого класса во всей выборке. Пусть у нас нет модели и баланс классов равен x%. Тогда если мы возьмём случайных клиентов из выборки, баланс классов в новой выборке будет приблизительно равен x%.

В теории, если у нас хорошая модель, то в выборке из N лучших клиентов с максимальной вероятностью баланс классов должен быть больше.

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

Рассмотрим первое число — 5 000. Синяя линия покажет, во сколько раз баланс классов в выборке из 5 000 топ-клиентов больше, чем баланс классов во всей выборке. А оранжевая покажет, какой процент целевого класса расположен в выборке из топ-клиентов по сравнению с общей долей целевого класса во всей выборке. 

Данный график используется для понимания алгоритма классификации, то есть для моделей look-alike и response.

Метрика для оценки uplift

Бывает, что бизнесу неизвестно значение порога k и нужно посмотреть на поведение метрики при разных пороговых значениях.

При построении метрики ориентируемся на uplift@k:

  1. Сортируем по предсказанному значению uplift.

  2. Делим отсортированные данные на перцентили/децили/бины.

  3. В каждом перцентиле отдельно оцениваем uplift как разность между средними значениями целевой переменной в тестовой и контрольной группах.

Стоит отметить, что в большинстве источников uplift по перцентилям оценивается в каждом перцентиле независимо. Но ничего не мешает вам оценить его кумулятивным методом.

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

  • n_treatment — размер целевой (или treatment) группы;

  • n_control — размер контрольной (control) группы;

  • response_rate_treatment — среднее значение таргета целевой группы;

  • response_rate_control — среднее значение таргета контрольной группы;

  • uplift = response_rate_treatment —— response_rate_control.

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

При визуализации таблицы получается график uplift by percentile. По нему удобно оценивать эффективность модели.

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

Но как работает отбор факторов?

О факторах 

Представьте, как вы собираете модель, которая может работать только с одним фактором. Но у вас два фактора: количество лайков и полное число оценок. В качестве эквивалентного фактора можно представить отношения первого ко второму — вероятность плохой оценки. С ней уже может работать модель. Таким образом мы значительно сократили объём данных, потеряв минимум из них.

Всего у нас накопилось порядка 2 000 факторов. Трудно представить, сколько должно быть сэмплов в выборке, чтобы обучить модель. В оперативную память столько и не поместится. Сейчас расскажем, как решили проблему.

Как вы могли догадаться, мы сократили количество факторов. Тут важно помнить, что все факторы  происходят из разных доменов: финансовая отчётность находится в одной таблице, список транзакций — в другой и так далее. Мы решили с каждого домена отобрать 30–40% факторов по важности. Так мы сократили число факторов до 300. 

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

Трудности и их решение

Во-первых, преобразования выборок происходят внутри классов, из-за чего неудобно работать с параметрами самой модели. Во-вторых, для подхода two models нельзя задать разные факторы — с этим мы столкнулись при переходе на фреймворк.

two models

Основная идея подхода two models (sklift.models.TwoModels) заключается в параллельном построении двух моделей для оценки вероятности совершения клиентом целевого действия: первая учитывает коммуникацию, вторая — нет.

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

Для two models сделали возможным добавление разных факторов для каждой модели. Практика показала, что от качества классификации look-alike и response зависит точность прогнозов uplift.

Получилось ли продать

Нам удалось построить все три типа моделей для привлечения клиентов на открытие расчетно-кассового обслуживания.

В результате мы поняли, что модели response и uplift эффективнее look-alike как с точки зрения согласий на оформление РКО (расчётно-кассовое обслуживание), так и в плане непосредственных открытий. На это указали ранжированные списки моделей и результаты пилота, который проводился в марте 2022 года. Самой эффективной моделью по доле оформлений продукта оказалась uplift.

Бизнес-правила vs модель + бизнес-правила

Также в рамках задачи мы постарались сравнить, как лучше привлекать клиентов и готовить кросс-продажи. Формировать клиентскую выборку случайно, по канонам бизнес-правил (БП), или использовать предиктивную аналитику и машинное обучение

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

В погоне за тестированием

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

Например, мы отправили на почту клиента специальное предложение. Он его прочитал через неделю, а еще через три-четыре дня решил воспользоваться им. Итого для оценки результативности понадобилось полторы недели. В среднем такие тестирования проводятся по три месяца. Если закончить эксперимент раньше — будет недостаточно таргетов.

В общем, как-то так. Далее планируем вести новостную хронику по этому проекту на Хабре. Будем рады вашим вопросам и мнениям в комментариях.

Комментарии (0)