Подавайте работы до 22 ноября (птн)19 000 Р,
с 23 ноября (сб)28 000 Р
Церемония награждения
6 декабря 2024
Крупнейшая digital-премия в Европе

Снижение ДРР мебельного клиента на 11,5% при помощи атрибуции на основе машинного обучения

Заказчик: MebelVia
Исполнитель: Profitator
Share
Снижение ДРР мебельного клиента на 11,5% при помощи атрибуции на основе машинного обучения

Главное о кейсе

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

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

Расход на рекламу в феврале снизился на 11.5 % год к году. При этом доход не снизился.

ENG

Achieved results

The rates optimization on basis of ML attribution started on January 23. The results have been already received in February.

In order to evaluate the results we compared the indexes of February 2019 and February 2020 as there were no changes in the channels structure of 2020 in comparison with the channels structure of 2019.

The expenses for advertising in February was decreased for 11.5% annual by the year. Meanwhile the income wasn’t decreased.

Бизнес-задача и ее решение

Цели проекта

- Внедрить справедливую модель атрибуции для оценки эффективности кампаний, включая кампании на ранних стадиях при отсутствии конверсий.
- Обогатить данные системы управления ставками метриками эффективности в атрибуции 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 данные с сайта в реальном времени начали поступать в BigQuery.

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

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

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

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

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

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

Офлайн конверсии привязываются к сеансам по пользовательским идентификаторам (userId, Google clientId, SegmentStream anonymousId, номер телефона и др.) и времени конверсии. Расходы привязываются к сеансам по сочетанию из 6 параметров: дата и 5 utm-меток.
Процесс преобразования данных для Mebelvia.ru — это 11 загрузок из рекламных систем и офлайн источников в BigQuery, 12 процессинговых SQL запросов. Каждый этап запускается в правильном порядке каждый день. Строгая очередность, контроль результата и бесперебойность обеспечивается нашей Workflow Management System.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ENG

Project aims

- To implement a fair attribution model for the evaluation of the effectivity of the campaigns, including the campaigns on early stages in case of no conversions.
- To enrich the data of the management system with effectivity metrics in the atribution SegmentStream on basis of computer-assisted teaching
- In real time to separate the segments of the website users with high possibility of conversion, based on the predictions of the computer teaching algorithm and to set up the transfer of segments to advertising offices for the optimization of the costs.
- To set up well-working end-to-end reports without sampling. The report data must be updated automatically every day.

Solutions

Step 1. Downloading of expenses

On the first stage with the help of the ready connectors SegmentStream set up the expenses import from the advertising offices into Google BigQuery:

- Google Ads
- Yandex.Direct – search campaigns, Search system Yandex and others
- Yandex.Direct – smart-banners
- Yandex.Direct – banner in search (contextual banners)
- Yandex.Market
- MyTarget
- Facebook
- Vkontakte
- Criteo

The expenses from advertising offices are joined automatically and transferred into the reports in a unified standard form. No need to make manual adjustments. No need to mark the campaigns especially for end-to-end analytics, SegmentStream can process this marking that is already used by the client.

For the import of the expenses from the sources that don’t have API (Organic Search, Email and others), SegmentStream downloads the expenses through Google Sheets.

While downloading the expenses from Yandex smart banners and contextual banners are usually ignored, because Yandex API doesn’t provide utm-labels for such types of campaigns.

SegmentStream lets download the expenses for smart banners and contextual banners and to attach them to the correct utm-labels.

Step 2. Data collection set-up regarding users’ behavior on the website

We don’t use the Google Analytics counter for the data collection regarding users’ behavior on the website as we use SegmentStream own tracker that has the following advantages:

- It is not blocked by any ads blockers;
- No limitations for the volume of the collected data (for example, Google Analytics has a limit of 500 hits per one session);

After installing a SegmentStream code the data from the website started entering into BigQuery in real time.

Step 3. Connection of offline data sources

The main offline conversions of this project are orders, received from entering phone calls. The website uses dynamic call tracking Calltouch, and RetailCRM – for keeping orders. SegmentStream has finished integration with Calltouch. SegmentStream team developed the integration for orders import from RetailCRM – now it’s available among the products for any client. It permitted to attach every order, including made by phone, to the certain website sessions.

Phone calls are important offline conversions, even if an order wasn’t made. Calls are used as a signal for teaching a model while creating ML attribution.

Step 4. Data transformation

SegmentStream includes automatic and fault-tolerant processes of data transformation (ETL Workflow Management System).

Once a day raw data in relation to behavior of the uses are transformed in sessions. Such solution economizes the money while creating the reports in BigQuery.

Table of hits contains about one GB of data for one day. BigQuery rate fixing depends on the quantity of data that is being processes by the cloud. Complicated requests in the table of the hits process too much data – the cost of BigQuery is decreased.

If you aggregate the necessary date into the session table in advance, the requests for composing the reports become cheaper in ten or hundred times.

Offline conversions are linked to the sessions according to the users’s identifications (userId, rate fixing Google clientId, SegmentStream anonymousId, phone number and others) and time conversion. The expenses are linked to the sessions on basis of 6 parameters: data and 5 utm-labels.

The process of data transformation for Mebelvia.ru is 11 downloads from advertising systems and offline sources in BigQuery, 12 processing SQL requests. Each stage is launched in a correct order every day. Strict priority, control of the result and continuity are provided by our Workflow Management System.

Step 5. ML model teaching for attribution and predictions

SegmentStream attribution model is based on a contribution of every visit into the conversion. The value of the visit is determined as a difference of a possible conversion at the end and at the beginning of the visit. A mathematical model is required to estimate a possibility of a conversion.

For mathematical model teaching there are behavioral signals in relation to all the interactions of the users with the website such as:

- Reviews of goods’ images,
- Clicks of different functional elements,
- Usage of filters,
- Search requests within the website,
- Addition to the shopping cart,
- Clicks by phone numbers, phone calls.

As well the model uses the information about the frequency of the events, time of their occurrence and the numerical characteristics of some micro conversions. Using this data set, the model learns to predict the purchases.

The first version of the model was taught already a month after the beginning of the data collection – thus the attribution became possible. In case of the new data the model can be re-taught and the exactness of the predictions increases.

Step 6. Composition of the reports with new attribution

Using the mathematical model, we make 2 predictions of a possible purchase for every session: at the beginning and at the end of a session. We will get an increase of purchase possibility for every session by subtracting a possibility at the beginning out of a possibility at the end. This increase is used as a weight of a session and its source while creating multi-channel attribution.
At first we get the attribution data in form of tables in BigQuery and then they are virtualized into Google Data Studio. In the end a client receives a standard report about the channels.

The main thing is that we were interested to know how Proportion of Advertising Expenses (PAE) will change depending on the attribution.

Step 7. Automatic transfer of ML metrics into the rate management system

We use tool K50 in order to manage the rates. SegmentStream supports the automatic export into this system.

Before the transfer to SegmentStream the rates optimization worked on basis of the income in attribution Last Non-Direct Click. Such approach didn’t let to distribute fairly the value among the campaigns.

After the implementation of SegmentStream we started to optimize the rates with the help of behavioral attribution SegmentStream on basis of computer-assisted teaching. Every night a report of 5 utm-labels with predictive metrics are reloaded automatically into K50. Then we introduce changes into the advertising office of the client in the interface K50 on basis of this report.

Step 8. Real-time segmentation

ML model, taught for the attribution, is capable to predict a conversion possibility in real time in the users’ browsers. The predictions are used to divide the users into categories in accordance to the purchase possibility.

The rates are adjusted in accordance to the category and by look-alike for the increase of ads effectivity: for example, in order to decrease the expenses for a category, not interested in purchase, or for the aggressive attraction of the users with high conversion possibility.

Real-time model divides the users into 3 groups:

- With low purchase possibility (Down)
- With high purchase possibility (Up)
- With very high purchase possibility (Up Up Up)

Website new user enters Down segment automatically. While using the website a visitor makes some actions: he looks through a list of goods, uses filters, divides the goods into the lists, uses website search and etc. After every action of a visitor in the browser the model recalculates purchase possibility.

When purchase possibility overcomes a certain level – a visitor enters Up segment or Up Up Up segment. At this moment the information about the visitor’s segment is transferred to Google Ads and to Yandex Direct in form of requests of advertising pixels.

The categories are formed on basis of these signals on advertising playgrounds. The rates adjustment will be set up on basis of these categories.

Прочая информация о кейсе

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

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

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

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

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

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

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

ENG

Description

MebelVia.ru is our old client and the only factory in Russia that specialized its manufacturing on the distribution of the goods by Internet. No. 81 at Data Insight Top-100 of the largest Internet shops of Russia in 2019.

The problem of the correct distribution of advertising expenses among the channels has been the main task for many years while working with this project.

- We reached the limit for advertising expenses optimization in the attribution Last Non-Direct Click. This attribution doesn’t distribute fairly the conversion value among the channels – effective management under such conditions is not possible.
- It’s hard to use the reports in Google Analytics due to the sampling.
- Unstable work of the previous solution in relation to the downloading of the expenses into the accounting system – much manual work regarding the reloading of the expenses.
We have been considering for long different variants for changing our form of optimization for the advertising campaigns, including we were thinking about the change of the main metrics CRR LNDC for more capacious one and we even developed several additional metrics, but it didn’t bring any serious effect.

We have been choosing a solution for a long time and we found out that there are several companies on the market that help with the setup of attribution custom model. Such models usually are set up manually by the specialist and it raises a problem of trust to them. As soon as something is changed on the website – the whole model will have to be redone manually according to the new changes, and it becomes a problem and a new restraining factor from the introduction of the changes on the website.

At that moment the colleagues from SegmentStream offered us to test a new approach – attribution on basis of computer-assisted teaching. In this case the problems related to a human factor are almost eliminated.

We revised the model, together with our colleagues from SegmentStream we made the integration with K50, and during several months we have been distributing the budgets, basing on a new metrics ML CRR.

Скриншоты

Share
Бронза
• Лучшая работа с Big Data
Tagline Awards 2020–2021

Дата запуска

23 января 2020 года

Авторы

Павел Петринич, Константин Юревич, Ярослав Семенов

Номинации

Performance marketing → Работа с Big Data

Ссылки

drive.google.com
Крупнейший digital-конкурс в Европе
Подавайте работы до 22 ноября (птн)19 000 Р,
с 23 ноября (сб)28 000 Р
Подать работу Выбрать номинации Рекламные опции