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

Данный материал, являясь продолжением предыдущих публикаций, раскрывает больше деталей касательно устройства системы, описывает данные, с которыми мы работали, и результаты A/B тестирования эффективности рекламных кампаний, которое мы провели совместно с ЛитРес и Яндекс.Директ.

A/B-тестирование (англ. A/B testing, Split testing) — метод маркетингового исследования, суть которого заключается в том, что контрольная группа элементов сравнивается с набором тестовых групп, в которых один или несколько показателей были изменены для того, чтобы выяснить, какие из изменений улучшают целевой показатель. Таким образом, в ходе теста сравнивается вариант «A» и вариант «B», и целью является определение лучшего из двух протестированных вариантов.

Проведение A/B теста было призвано оценить реальное влияние нашей системы на показатели эффективности рекламных кампаний в сравнении с тем подходом, который используется в данный момент - комбинация собственных корректировок и автостратегий Яндекс.Директ.

Работа с данными

Исходными данными стали хиты (от англ. hit - обращение) из Google Analytics, которые по нашим собственным алгоритмам собираются в сессии на выделенном сервере. Это большой объем самых разных данных, в которых нужно найти ту информацию, которая будет релевантна поставленной задаче. Этот процесс похож на поиск драгоценных металлов золотоискателями. Конструирование признаков (от англ. Feature Engineering) является одним из самых важных и трудоемких процессов в разработке модели машинного обучения. Мы подошли к этому этапу со следующими вводными:

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

  • важность большинства из них интуитивно оценивается неверно;

  • большая часть информации не подходит для эффективного использования в машинном обучении (рис. 1).

Рисунок 1. Обработка “мусорных” данных
Рисунок 1. Обработка “мусорных” данных

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

  • исторические (накопительные) признаки - количество посещений веб-сайта за период, количество просмотренных страниц и тому подобные;

  • признаки, оценивающие последовательность действий пользователя на сайте - какие действия, в каком порядке и с какой скоростью совершает пользователь в каждой конкретной сессии;

  • технические признаки - длительность сессии, время входа, браузер, устройство, город и прочие;

  • признаки, связанные с транзакциями.

Совокупность отобранных признаков образует поведенческий портрет пользователя (рис. 2), на основе которого мы оцениваем вероятность совершения пользователем покупки.

Рисунок 2. Поведенческий портрет пользователя
Рисунок 2. Поведенческий портрет пользователя

Настоящей находкой стало пространство поведенческих признаков, которые основаны на информации о покупках клиентов. Внедрение всего пяти таких признаков сразу улучшило качество модели на 18 %.

Этапы работы системы

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

Можно выделить основные этапы работы системы:

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

  • Дообучение модели - дообучение существующей модели, используя новые данные за один день.

  • Создание предсказаний - создание предсказаний о вероятности покупки в течение будущих семи дней для клиентов, которые посещали сайт за последние шесть дней.

  • Кластеризация пользователей - определение центра кластеров и разбиение множества пользователей на пять групп на основе вероятности совершения покупки.

  • Создание аудиторий по ClientID - создание аудиторий в Яндекс.Аудитории, используя ClientID Яндекс.Метрики как идентификатор.

  • Обогащение CRM данными - сопоставление каждому ClientID идентификатор пользователя на сайте (UserID), номер мобильного телефона и адрес электронной почты в хешированном виде, если таковые имеются. 

  • Создание аудиторий по CRM данным - использование UserID, номер мобильного телефона и адрес электронной почты в качестве идентификаторов для создания аудиторий в Яндекс.Аудитории.

  • Корректировка ставок - автоматическое изменение величины корректирующей ставки для каждой из аудиторий на основе показателей эффективности аудиторий. 

Схематично этапы работы системы предсказаний изображены на рисунке 3.

Рисунок 3. Схема работы системы предсказаний
Рисунок 3. Схема работы системы предсказаний

Как сегменты используются в Яндекс.Директ

После того, как предобработанные данные были загружены на сервер, предсказания сделаны и разбиты на сегменты, мы получаем таблицу, в которой каждая строчка содержит идентификаторы клиента и сегмент, к которому относится данный пользователей согласно предсказанию. Используя эту таблицу, в Яндекс.Аудитории по API создается 10 аудиторий - пять с идентификатором ClientID, пять с CRM идентификаторами (рис. 4).

Рисунок 4. Данные для создания аудиторий
Рисунок 4. Данные для создания аудиторий

Готовые аудитории можно использовать в Яндекс.Директ, указывая нужную корректирующую ставку:

  • например, мы активно боремся за пользователей с предсказанной высокой вероятностью покупку, поэтому мы увеличим ставку по ним на 50%;

  • клиентам с низкой вероятностью покупки мы, наоборот, будем реже показывать наши объявления, снизив ставку на 30%.

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

A/B тестирование и результаты

Мы выдвинули гипотезу, согласно которой наша система сможет увеличить процент конверсий (CR - Conversion Rate), при этом снизив стоимость достижения самой конверсии (CPO - Cost Per Order).

Выстраивание гипотезы вокруг CR и CPO происходит по двум причинам (рис. 5):

  • определяя уровень готовности пользователя совершить покупку, мы интенсивнее работаем с клиентами, для которых мы предсказываем высокую вероятность покупки, стараясь вернуть их и удержать на сайте (повышая таким образом CR);

  • для неготовых к покупке клиентов мы значительно снижаем ставки за рекламные объявления (улучшая CPO).

Рисунок 5. Работа со ставками и их влияние
Рисунок 5. Работа со ставками и их влияние

Совместно с ЛитРес и Яндекс.Директ мы провели изолированный A/B тест, в котором

  • Группа A - рекламная кампания, в которой используется наша система предсказаний;

  • Группа B - рекламная кампания, в которой работает только автостратегия Яндекс.Директ.

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

В результате тестирования мы получили подтверждение нашей гипотезы (рис. 6):

  • процент конверсий в группе A увеличился на 33% по сравнению с группой B;

  • стоимость конверсии снизилась на 14,5%.

 

Рисунок 6. Результаты A/B теста
Рисунок 6. Результаты A/B теста

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

Заключение

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

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

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