Кейс MediaNation: увеличили продажи на 25% с помощью предиктивной аналитики
Как получать больше продаж, не выделяя дополнительный бюджет на рекламу? Один из вариантов — разработать систему предиктивной аналитики, позволяющую предсказать, какой пользователь совершит покупку, и показать ему рекламу.
Мнение автора может не совпадать с мнением редакции
Рассказываем, как у нас в MediaNation шел процесс обучения ML-моделей, и какие результаты показало A/B-тестирование рекламных кампаний.
Клиент
Сеть-магазинов «ВОИН» — российская компания, базирующаяся на оптовой и розничной торговле мужской одеждой, обувью и аксессуарами для активного образа жизни.
Задача
Повысить эффективность рекламных кампаний и получить больше продаж при тех же затратах на рекламу.
Решение
Мы использовали инструменты системы сквозной аналитики StreamMyData, внутри которой разработали модели машинного обучения. Они позволяли прогнозировать вероятность совершения покупки пользователей в течение 7 дней — среднего срока принятия решения клиентов этого интернет-магазина.
После создания моделей машинного обучения мы провели A/B-тестирование эффективности рекламных кампаний в Яндекс.Директе: в В-сегменте использовались наши предиктивные модели на основе ML-аудиторий, а A-сегментом работали обычные автостратегии Яндекса.
Процесс создания системы предиктивной аналитики подробно описан в этой статье.
Сроки работ
Подготовительные работы: 1,5 месяца
Тестирование предиктивный моделей: 11 декабря 2023 — 11 января 2024 года
Этап 1. Сбор данных
Прежде мы работали с хитовым и сессионным стримингом, полученным из Google Analytics. Однако новый кейс показал, что действия пользователей, выгруженные из Яндекс.Метрики посредством Logs API, также могут быть использованы при создании будущих ML-моделей.
Сначала мы составили клиенту ТЗ на передачу UserID из CRM клиента и разметку дополнительных событий, которых было около 150: базовые ecommerce события (покупка, добавление товара в корзину, клик по карточке товара и т.д.), использование регулировщика цены, использование поиска, переход в раздел каталога и т.д.
Этап накопления данных занял 3-4 недели.
Этап 2. Конструирование признаков
Собрав данные, мы перешли к написанию SQL-запросов, которые фиксировали определенное поведение пользователя на сайте: например, совершение покупки, стоимость покупки, срок возвращение на сайт после предыдущей покупки и т.д.
Эти типы поведения являются признаками, на которые в дальнейшем будет опираться предиктивная модель.
Для определения признаков мы написали три SQL-запроса на формирование:
Сессионных признаков.
Признаков на основе действий пользователей во время сессий.
Целевого признака — факта совершения покупки в течение 7 дней.
Пример части SQL запроса на выгрузку признаков
Нам удалось сформировать 707 признаков. Такое значительное число позволяет выявить больше закономерностей в действиях пользователей и лучше описать их поведение.
Этап 3. Разработка ML-моделей
Это был самый долгий и трудоемкий этап. Его сложность состояла в том, что необходимо было потратить большое количество времени на продумывание архитектуры, перебор всевозможных гиперпараметров модели и ее обучение. Чем больше данных, тем дольше обучаются модели, и больше вычислительных ресурсов требуется.
Схема ниже демонстрирует, как сформированные признаки попадают в три разные обученные модели, а потом переходят в блок формирования итогового прогноза.