Обучение, которое экономит

Слова “оптимизация расходов” для любого бизнеса звучат, как музыка. Рассказываем, как сэкономить на ремаркетинге с помощью машинного обучения и почему именно на нём.

В своих проектах мы используем атрибуцию на основе данных и, если мы учтем вклад каждого источника, то окажется, что у ремаркетинга наибольший CPA. Это делает его хорошим полем для оптимизации. К тому же, ремаркетинг удобно использовать для машинного обучения: мы знаем поведение пользования на сайте, историю его посещений, что он делал. Подключение Data Management Platform (DMP) от Aidata позволяет узнать, какие еще сайты посещал пользователь.

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

Пример схемы сквозной аналитики

Мы решили использовать для машинного обучения следующие параметры:

— событие сеанса (event category, event action, event label)

— параметры сеанса (параметры браузера, версия, язык, операционная система и т.д.)

— история страниц посещения нашего сайта.

Эти данные мы обогатили при помощи DMP от Aidata и выгрузили все из системы аналитики в Pandas для переработки данных. На этом этапе нужно перевести все текстовые признаки в числа, чтобы с ними успешно работал алгоритм машинного обучения. Текст он “не переваривает”.  

Для работы с признаками мы использовали 2 методики:

  1. One Hot Encoding. Позволяет перевести каждое уникальное значение либо в 1 либо в 0, в зависимости от того, встречается оно в строчке или нет. Мы используем эту технику, когда количество уникальных значений данного признака не превышает 100.
  2. Word2vec. Используем для более сложных признаков: путь пользователя на сайте или обогащенные данные.

После предварительной обработки данных нужно выбрать алгоритм. Мы остановили свой выбор на Catboost, который поддерживает язык Python.

Следующий шаг — выбор пользователей, которых мы будем отправлять на ремаркетинг.  В этом поможет принцип Парето. График распределения пользовательского скора от числа конверсий показал, что, отрезая 90% пользователей, мы теряем только 10% конверсии.

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

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

По нашим данным, у 95% пользователей между первым посещением и целевым действием проходит не более двух дней. Это говорит о том, что мы можем делать ремаркетинг именно на эти 95% пользователей. И его нужно будет делать на ежедневной основе. В итоге, путь пользователя получается таким:

  1. Первое посещение нашего сайта;
  2. Возвращение на наш сайт с ремаркетингового источника;
  3. Совершение целевого действия.

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

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

Эксперимент нужно проводить таким образом, чтобы данные включали 2 выборки: случайную (10%) и тестовую (10% лучших пользователей). И отправлять обе эти выборки на ремаркетинг. Руководствуясь этим принципом, нам удалось сократить расходы на 62%. Как побочный эффект — уменьшилось и количество конверсий с ремаркетинга, но это уменьшение было гораздо меньше — на 22%. Если стоит цель оптимизировать расходы без значительного уменьшения числа конверсий, то это хороший компромисс.

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

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