Угадай намерение, или как мы создали предикт, который увеличил продажи «ЛитРес» на 33%

Владельцы бизнеса ищут способы увеличения прибыли, каждый из которых сложен в реализации, по-своему эффективен и трудозатратен. На базе системы сквозной аналитики StreamMyData (проект агентства MediaNation) мы создали “волшебную кнопку”, которая автоматически и на постоянной основе может увеличивать эффективность рекламной кампании.

Угадай намерение, или как мы создали предикт, который увеличил продажи «ЛитРес» на 33%

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

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

Недавно мы протестировали ее эффективность в Яндекс.Директе. Тест показал, что использование нашего предикта увеличивает число конверсий в ремаркетинге на 33 % и снижает их стоимость на 15 %.

ЭТАП I: собрать и объединить море данных

Для того, чтобы построить предикт, прежде всего нужно было собрать данные, которых было множество. ЛитРес - сервис электронных книг №1 в России. Ежемесячная аудитория сервисов компании составляет 12,5 млн человек, которые скачивают более 1,5 млн книг в месяц. Компания имеет 25 приложений для чтения и прослушивания электронных книг, в т.ч. «ЛитРес: Читай!» и «ЛитРес: Слушай!» для мобильных платформ iOS, Android, Windows Phone 8, Windows 8 и Samsung Smart TV.

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

Всю систему потоков данных, которую мы хотели реализовать, можно представить в виде следующих шагов:

  1. Импортируем данные по расходам из рекламных кабинетов ЛитРес (Facebook*, Google Ads, RTB House, MyTarget, VK, Я.Директ), а также данные по купленным товарам и доходам с них из товарной базы данных (MySQL) с помощью разработанных нами коннекторов в Google BigQuery.
  2. Одновременно с импортом данных мы выгружаем хиты, которые собираются в сессии и также попадают в BigQuery.
  3. Склеиваем эти данные между собой по общим ключам с помощью специального SQL-запроса, написанного в BigQuery. В результате мы получаем сессии пользователя с его кросс-платформенными переходами, стоимостью его привлечения и доходом с транзакций.
<i>Рисунок 1. Сбор данных</i>
Рисунок 1. Сбор данных

Однако все было не так гладко. В ходе работ мы столкнулись с рядом проблем в передаче и переносе данных. Например, при создании потоков и на этапе передачи данных из Appsflyer в BigQuery, а также при объединении данных с разных серверов в BigQuery. Данные из системы Firebase хранились на американском сервере, а сам проект с таблицами — на европейском. Чтобы обойти ограничения BigQuery при переносе данных, нам потребовалось сделать выгрузку Firebase в наше собственное представление в BQ, и только после этого загрузить их в представление ЛитРес.

Сбор сессий на основе хитов

Для получения данных веб-сессий по пользователям мы разработали уникальный алгоритм, который преобразовывает данные хитов из Google Analytics в сессии с учетом идентификаторов пользователя. Для билдинга сессий мы

1. выгрузили хитовые данные из Google Analytics в промежуточную базу данных;

2. отработали алгоритм, который преобразует хитовые данные в сессионные с учетом идентификаторов пользователя userID, clientID пользователя и даты и времени, когда он был онлайн;

3. выгрузили созданные сессии в СУБД BQ (система управления базой данных BigQuery), где находятся данные из остальных источников.

ЭТАП II: разработать систему предиктивной аналитики

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

Например, можно использовать предсказания в реальном времени и корректировать стоимость товара или услуги в зависимости от вероятности покупки.

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

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

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

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

<i>Рисунок 2. Схема работы системы предсказаний</i>
Рисунок 2. Схема работы системы предсказаний

Купит/не купит, или сегментация пользователей по намерению

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

Для каждого пользователя было сделано предсказание и сопоставлена группа в зависимости от предполагаемой вероятности покупки. Всего таких групп пять:

  • очень высокая вероятность покупки;
  • высокая вероятность покупки;
  • средняя вероятность покупки;
  • низкая вероятность покупки;
  • околонулевая вероятность покупки.

Такое количество групп обусловлено двумя факторами:

  • удобство работы и размер отдельно взятой группы: с одной стороны, такие системы, как Яндекс.Аудитории, имеют ограничение на минимальное количество людей в одной группе, а с другой — там, где с созданными сегментами нужно работать вручную, будет проблематично оперировать, например, сразу пятьюдесятью группами;
  • наилучшее разбиение пользователей по группам: чем меньше вероятность каждого из пользователей в группе отклоняется от среднего значения вероятности в группе, тем более однородны пользователи в группе, тем лучше выполнено разбиение.

Сценарий использования сегментов в Яндекс.Директ

Существует множество вариантов использования полученных данных — ремаркетинг на поиске и рекламных системах, push-уведомления, email-рассылки, специальные предложения на веб-сайте или в приложении, персональные скидки и обзвоны и другое специфическое для каждого бизнеса применение.

Во время работы с ЛитРес мы использовали предсказания для ремаркетинга в Яндекс.Директе. Опираясь на таблицу с сегментами, мы создавали в Яндекс.Аудитории по API 10 аудиторий - пять с идентификатором ClientID, пять с CRM идентификаторами.

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

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

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

Тестирование системы и результаты

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

Гипотеза вокруг CR и CPO строилась на двух идеях:

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

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

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

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

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

  • процент конверсий в группе A увеличился на 33% по сравнению с группой B;
  • стоимость конверсии снизилась на 14,5%.

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

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

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

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

Иван Барченков, партнер и коммерческий директор агентства MediaNation

*Meta, которой принадлежит Facebook, признана в России экстремистской организацией

1616
27 комментариев

А можно ли при формировании этой системы основываться на данных метрики?

1
Ответить

Да, конечно. Наш ETL процесс приводит данные Google Analytics и Яндекс.Метрики к единообразному виду.

Ответить

Можно ли выгружать данные в VK?

1
Ответить

В данный момент мы поддерживаем автоматическое создание аудиторий в Яндекс.Аудитории (можно затем использовать в Яндекс.Директ), ВКонтакте и MyTarget. Также мы можем выгружать итоговые кластеризованные предсказания в исходном виде.

Ответить

Как вы делаете предсказание в мобильных приложениях?

1
Ответить

Пока никак :)

Ответить

На каком железе и как долго шло обучение?

1
Ответить