Кейс Mebelvia.ru: Оптимизация ДРР на 11.5% при помощи атрибуции на основе машинного обучения

Расход на рекламу в феврале снизился на 11.5 % год к году. При этом доход не уменьшился. Мы не можем разглашать рекламный бюджет клиента, но можем сказать, что при такой экономии, годовые затраты на платформу SegmentStream окупились всего за 1 месяц.

​Доля рекламных расходов снизилась на 11.5 % относительно февраля 2019 года, доход не снизился.
​Доля рекламных расходов снизилась на 11.5 % относительно февраля 2019 года, доход не снизился.

О компании

«MebelVia.ru» — единственная фабрика в России, которая специализировала свое производство для распространения товаров через интернет. №81 в рейтинге Data Insight Top-100 крупнейших интернет-магазинов России 2019.

Проблемы

  • Достигли предела оптимизации рекламных расходов в атрибуции Last Non-Direct Click. Такая атрибуция несправедливо распределяет ценность конверсий между каналами — эффективное управление в таких условиях невозможно.
  • Сложно пользоваться отчетами в Google Analytics из-за сэмплинга.
  • Нестабильная работа предыдущего решения по загрузке расходов в систему отчетности — много ручной работы по перезагрузке расходов.

Цели проекта

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

Процесс решения

Шаг 1. Загрузка расходов

Первым этапом с помощью готовых коннекторов SegmentStream настроили импорт расходов из рекламных кабинетов в Google BigQuery:

  • Google Ads
  • Яндекс.Директ – поисковые кампании, РСЯ и др.
  • Яндекс.Директ – смарт-баннеры
  • Яндекс.Директ – баннеры на поиске (МКБ)
  • Яндекс.Маркет
  • MyTarget
  • Facebook
  • Vkontakte
  • Criteo

Расходы из рекламных кабинетов автоматически объединяются и передаются в отчеты в едином стандартизированном формате. Чтобы получить данные, наш клиент не делает преобразования вручную.

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

​Схема таблицы с данными о расходах
​Схема таблицы с данными о расходах

Для импорта расходов из источников, у которых нет API (Organic Search, Email и других), SegmentStream загружает расходы через Google Sheets.

При загрузке расходов из Яндекса обычно игнорируют смартбаннеры и МКБ, потому что API Яндекса не отдает utm-метки для таких типов кампаний. Мы в SegmentStream решили эту проблему. Наш продукт позволяет загружать расходы по смартбаннерам и МКБ и привязывать их к правильным utm-меткам.

Шаг 2. Настройка сбора данных о поведении пользователей на сайте

Мы не используем счетчик Google Analytics для сбора данных о поведении пользователей на сайте, так как мы используем собственный трекер SegmentStream, обладающий следующими преимуществами:

  • Не блокируется никами блокировщиками рекламы;
  • Нет ограничений на объем собираемых данных (например, Google Analytics имеет лимит 500 хитов на сеанс);

Наша команда подготовила ТЗ на установку трекера SegmentStream и на разметку сайта Mebelvia.ru событиями для отправки данных о поведении пользователей в Google BigQuery.

​Фрагмент из ТЗ SegmentStream на установку трекера
​Фрагмент из ТЗ SegmentStream на установку трекера

После установки кода SegmentStream данные с сайта в реальном времени начали поступать в BigQuery.

​Фрагмент из таблицы с сырыми данными в BigQuery
​Фрагмент из таблицы с сырыми данными в BigQuery

Шаг 3. Подключение оффлайновых источников данных

Главные оффлайн конверсии на этом проекте — заказы, полученные из входящих телефонных звонков. На сайте используется динамический коллтрекинг Calltouch, а для хранения заказов — RetailCRM. C Calltouch у SegmentStream есть готовая интеграция. Команда SegmentStream разработала интеграцию для импорта заказов из RetailCRM – теперь она доступна в продукте для любого клиента. Это позволило привязать каждый заказ, в том числе сделанный по телефону, к конкретным сессиям на сайте.

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

Шаг 4. Преобразование данных

Схема сбора и преобразования данных​
Схема сбора и преобразования данных​

В платформу SegmentStream встроены автоматизированные и отказоустойчивые процессы преобразования данных (ETL Workflow Management System). Раз в сутки сырые данные о поведении пользователей преобразовываются в сеансы. Такое решение экономит деньги при построении отчетов в BigQuery.

Таблица хитов содержит около гигабайта данных за один день. Тарификация BigQuery зависит от количества данных, которые обрабатывается в облаке. Сложные запросы к хитовой таблице обрабатывают слишком много данных – повышается стоимость использования BigQuery.

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

​Сравнение стоимости запросов к сырым и к агрегированным данным в Google BigQuery
​Сравнение стоимости запросов к сырым и к агрегированным данным в Google BigQuery

Оффлайн конверсии привязываются к сеансам по пользовательским идентификаторам (userId, Google clientId, SegmentStream anonymousId, номер телефона и др.) и времени конверсии. Расходы привязываются к сеансам по сочетанию из 6 параметров: дата и 5 utm-меток.

Процесс преобразования данных для Mebelvia.ru — это 11 загрузок из рекламных систем и оффлайн источников в BigQuery, 12 процессинговых SQL запросов. Каждый этап запускается в правильном порядке каждый день. Строгая очередность, контроль результата и бесперебойность обеспечивается нашей Workflow Management System.

Шаг 5. Обучение ML-модели для атрибуции и предсказаний

​Показатели первой версии модели
​Показатели первой версии модели

Подробно о логике работы модели атрибуции можно прочитать в другой статье на VC. В этом кейсе мы кратко раскроем её идею.

Модель атрибуции SegmentStream строится на основании вклада каждого визита в конверсию. Ценность визита определяется как разница вероятности совершения конверсии в конце и в начале визита. Чтобы оценить вероятность конверсии требуется математическая модель.

Для обучения математической модели используются поведенческие сигналы обо всех взаимодействиях пользователей с сайтом, таких как:

  • просмотры изображений товаров,
  • клики по разным функциональным элементам,
  • использование фильтров,
  • поисковые запросы внутри сайта,
  • добавление в корзину,
  • клики по номерам телефонов, телефонные звонки.

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

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

Шаг 6. Создание отчетов с новой атрибуцией

​Пример изменения вероятности покупки после каждого визита клиента
​Пример изменения вероятности покупки после каждого визита клиента

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

Сначала получаем данные об атрибуции в виде таблиц в BigQuery, которые затем визуализируются в Google Data Studio. В итоге у клиента появляется стандартный отчет по каналам.

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

​Пример отчёта с демо-данными: рекламные каналы, кампании. ДРР по модели атрибуции ML SegmentStream в сравнении с Last Non-Direct Click
​Пример отчёта с демо-данными: рекламные каналы, кампании. ДРР по модели атрибуции ML SegmentStream в сравнении с Last Non-Direct Click
​Отчёт ДРР по кампаниям в поведенческой атрибуции на основе машинного обучения и Last non-direct click атрибуциях для Mebelvia
​Отчёт ДРР по кампаниям в поведенческой атрибуции на основе машинного обучения и Last non-direct click атрибуциях для Mebelvia

Шаг 7. Автоматизация передачи ML-метрик в систему управления ставками

Для управления ставками в Яндекс.Директе Mebelvia.ru использует инструмент K50. SegmentStream поддерживает автоматический экспорт в эту систему.

До перехода на SegmentStream оптимизация ставок работала на основе дохода в атрибуции Last Non-Direct Click. Такой подход не позволял справедливо распределить ценность между кампаниями.

После внедрения SegmentStream, агентство Profitator перешло на оптимизацию ставок при помощи поведенческой атрибуции SegmentStream на основе машинного обучения . Каждую ночь в К50 автоматически выгружается отчёт по 5 utm-меткам с предиктивными метриками. Маркетолог в интерфейсе К50 на основе этого отчёта вносит изменения в рекламный кабинет клиента.

​Интерфейс К50. Показатель ДРР на основе модели атрибуции ML SegmentStream для каждой кампании
​Интерфейс К50. Показатель ДРР на основе модели атрибуции ML SegmentStream для каждой кампании

Шаг 8. Real-time сегментация

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

По аудиториям и по look-alike корректируются ставки для повышения эффективности рекламы: например для снижения расхода на незаинтересованную в покупке аудиторию или для агрессивного привлечения пользователей с высокой вероятностью конверсии.

Real-time модель делит пользователей на 3 группы:

  • С низкой вероятностью покупки (Down)
  • С высокой вероятностью покупки (Up)
  • С очень высокой вероятностью покупки (Up Up Up)

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

Когда вероятность покупки превышает определенный порог – посетитель попадает в сегмент Up или Up Up Up. В этот момент информация о сегменте посетителя передается в Google Ads и в Яндекс Директ в виде запросов рекламных пикселей. На основе этих сигналов в рекламных площадках формируются аудитории.

​Список аудиторий SegmentStream scoring в интерфейсе Google Ads
​Список аудиторий SegmentStream scoring в интерфейсе Google Ads

На основе аудиторий будет настроена корректировка ставок.

Результаты

Оптимизация ставок на основе ML-атрибуции началась 23 января. Результаты появились уже в феврале.

Для оценки результатов мы сравнили показатели февраля 2020 и 2019 года, так как никаких изменений в структуре каналов в 2020 по сравнению с 2019 не было.

Расход на рекламу в феврале снизился на 11.5 % год к году. При этом доход не снизился. Мы не можем разглашать суммы расходов клиента, но можем сказать, что при такой экономии бюджета годовые затраты на платформу SegmentStream окупились за 1 месяц.

​Доля рекламных расходов снизилась на 11.5 % относительно февраля 2019 года, доход не снизился.
​Доля рекламных расходов снизилась на 11.5 % относительно февраля 2019 года, доход не снизился.

“Я веду проект второй год и за это время мы столкнулись с массой проблем, описанных выше.

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

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

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

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

Мы обучили модель, совместно с коллегами из SegmentStream сделали интеграцию с К50 и вот уже несколько месяцев проводим распределение бюджетов, ориентируясь на новую метрику ML CRR (ML ДРР).

Очень довольны полученными результатами и благодарим команду SegmentStream за качественный продукт и профессионализм в работе.”

Ярослав Семёнов, Руководитель проектов Profitator (Kokoc Group)

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

Константин Юревич, CEO, SegmentStream

Следующие шаги

На следующем этапе, совместно с клиентом, сделаем следующие работы:

  • Протестируем внесение корректировок в рекламные кампании на основе real-time сегментации в Яндекс Директ и Google Ads.
  • Реализуем отчет План-факт по рекламному бюджету.

Оригинал кейса опубликован на сайте компании SegmentStream:

2727
8 комментариев

Отчет выглядит классно!

3
Ответить

Очень круто!

1
Ответить

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

2
Ответить

done :) 

3
Ответить

"-годовые затраты на платформу SegmentStream окупились всего за 1 месяц." 🔥🔥🔥🔥🔥🔥🔥🔥🔥

Ответить

Захожу я посмотреть на позицию №81 в рейтинге Data Insight Top-100 https://www.top100.datainsight.ru/ ... И вижу там вовсе даже ОЛДИ, а не достопочтенных мебельщиков. ЧЯДНТ?

Ответить