Рост продаж на 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-запроса на формирование: 

  1. Сессионных признаков.

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

  3. Целевого признака — факта совершения покупки в течение 7 дней.

Пример части SQL запроса на выгрузку признаков

Нам удалось сформировать 707 признаков. Такое значительное число позволяет выявить больше закономерностей в действиях пользователей и лучше описать их поведение. 

Этап 3. Разработка ML-моделей

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

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

Схема параллельного прогнозирования

Финальный прогноз формируется на основе результатов предсказания всех трех моделей. Мы получаем усредненную вероятность совершения покупки пользователем в течение последующих 7 дней.

Этап 4. Кластеризация пользователей

Как правило, мы создаем пять сегментов пользователей на основе вероятности совершения покупки:

  1. Околонулевая вероятность покупки.

  2. Нулевая вероятность покупки.

  3. Средняя вероятность покупки.

  4. Высокая вероятность покупки.

  5. Очень высокая вероятность покупки.

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

Мы столкнулись с проблемой: Яндекс.Аудитории позволяли создавать сегменты объемом не менее 100 уникальных пользователей. Поэтому мы были вынуждены объединить сегменты и вместо пяти сделать три:

  1. Нулевой + околонулевой.

  2. Средний.

  3. Высокий + очень высокий.

На основе этих сегментов мы создали аудитории в Яндекс.Аудиториях, добавили их в рекламные кампании Яндекс.Директа и присвоили им определенные корректировки: 

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

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

Этап 5. Автоматизация процессов

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

Для автоматизации обновления данных мы:

1. Написали необходимый код на Python.

2. Использовали open-source решение Apache Airflow в роли оркестратора наших процессов. Основной сущностью Airflow является DAG (Directed Acyclic Graph) — направленный ацикличный граф, вершинами которого являются задачи, которые мы зададим при создании самого DAG.

Структура DAG для дообучения ML моделей

3. Создали три отдельных DAG, которые дообучали наши ML-модели. Каждый DAG состоял из четырех отдельных задач (task), первые три из которых на ежедневной основе выгружали данные из Google BigQuery, после чего данные передавались в задачу на дообучение моделей.

Структура DAG для обновления сегментов в Яндекс.Аудитории

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

5. Обратились к Kubernetes — системе оркестрации, которая осуществляла контроль выделения ресурсов под каждую задачу: метчинг User_ID, выгрузку данных о действиях пользователей, формирование предсказаний, сегментирование пользователей.

Этап 6. A/B-тестирование работы ML-сегментов

После автоматизации всех процессов мы перешли к A/B-тестированию ML-сегментов в рекламных кампаниях Яндекс.Директа. В тесте участвовало две рекламные кампании (со смарт-баннерами и текстово-графические кампании), каждая из которых была поделена на две части: 

  1. Первая часть работала на автостратегиях Яндекса (сегмент А).

  2. Вторая часть использовала наши ML-сегменты с повышающими или понижающими коэффициентами (сегмент В). 

На каждую кампанию мы выделили одинаковый бюджет в неделю и запустили их одновременно. Мы тестировали кампании ровно один месяц с 11 декабря 2023 по 11 января 2024 года, — в это время не вмешивались в настройки объявлений, чтобы результаты были объективными. 

Креативы для первой кампании

Креативы для второй кампании

Результаты первой кампании

Сегмент B значительно опередил A по эффективности: принес больше конверсий,  добавлений товаров в корзину по более низкому CPA:

  1. Сегмент В принес на 25.7% больше покупок, чем сегмент А, что говорит о правильном выборе корректировок в отношении этой группы.

  2. Итоговое количество добавлений товаров в корзину на 34.4% больше, чем у сегмента A. Это значит, этот сегмент более активный и вовлеченный.

  3. Суммарное значение стоимости добавленных в корзину товаров у сегмента B на 37.2% больше, чем у сегмента A. Это говорит о большем размере среднего чека и заинтересованности пользователей в более дорогих товарах.

  4. Значение CPA у сегмента B на 21.2% ниже, чем у сегмента A, — мы тратили меньше бюджета на привлечение пользователей.

Итоги A/B-тестирование по кампании №1. Итоговое количество покупок по сегментам

Итоги A/B-тестирование по кампании №1. Итоговое количество добавлений товаров в корзину

Итоги A/B-тестирование по кампании №1. Суммарное значение стоимости добавленных в корзину товаров

Итоги A/B-тестирование по кампании №1. Итоговое значение показателя CPA

Результаты второй кампании

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

  1. В сегменте B количество добавлений товара в корзину превышает аналогичный показатель в сегменте A на 10.5%.

  2. Суммарная стоимость корзины в сегменте B на 7.2% больше, чем в сегменте A, что указывает на чуть более высокий средний чек.

Итоги A/B-Тестирования по кампании №2. Итоговое количество добавлений товаров в корзину

Итоги A/B-тестирования по кампании №2. Суммарное значение стоимости добавленных в корзину товаров

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

Отзыв клиента

"С октября 2023 г. по январь 2024 г. на базе нашего сайта осуществлялся тест сервиса предиктивной аналитики StreamMyData. Суть теста заключалась в том, чтобы усилить показатели контекстной рекламы в Яндекс Директе, реализовав сегментирование клиентов посредством сервиса. Тест прошёл успешно, так как кампании, которые использовались в тестировании, показали прирост 25% в количестве конверсий. Результаты и выводы теста были также положительно оценены компанией-подрядчиком по контекстной рекламе", — Юлия Гнатюк, руководитель отдела электронной коммерции "ВОИН".



Материал по теме

Кейс Fantastic Works (part of АЭРО) и «Два Мяча»: Как объединить прошлое и будущее в дизайне интернет-магазина

Материал по теме

Создание единой экосистемы образовательных сервисов, запуск пользовательского и корпоративного сайтов. Кейс ГК «Просвещение»

Материал по теме

Нейросети в продажах. Как ИИ решает задачи продавцов на маркетплейсах

Подписаться на новости

Актуальное сейчас

Ikea открывает магазин в Roblox и ищет сотрудников

Шведская сеть Ikea решила попробовать себя в качестве работодателя в метавселенной. 24 июня откроется виртуальный магазин Ikea в Roblox, где пользователи со всего мира смогут не только "погулять" между вирт...

ВсеИнструменты.ру: онлайн-покупатели готовы к российским брендам в DIY

69% онлайн-покупателей товаров для дома, ремонта и декора учитывают страну-производителя товара при выборе товара на сайте. Наибольшая лояльность среди респондентов к производителям из России (66%). Такие д...

Автомобили Citroën и Peugeot появились на Мегамаркете

Компания "Автомобильные технологии", официальный дистрибьютор Citroën и Peugeot в России, впервые выходит на отечественный мультикатегорийный маркетплейс – Мегамаркет. Теперь покупателям Мегамаркета будут ...

Сеть OBI запустила новое мобильное приложение

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

Как развитие eCommerce повлияло на рынок автоперевозок: аналитика

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

Как персонализация способна изменить рынок eCommerce

В последние годы наблюдается взрывной рост интереса к персонализации в eСommerce. Пользователи ожидают индивидуального подхода, индивидуальных предложений, индивидуальной поддержки. Для компаний это возможность...

Согласие на обработку персональных данных

×

Физическое лицо, оставляя заявку на веб-сайте e-pepper.ru через форму «Обсудим ваш проект» и форму подписки на e-mail рассылку, действуя свободно, своей волей и в своем интересе, а также подтверждая свою дееспособность, предоставляет свое согласие на обработку персональных данных (далее — Согласие) Обществу с ограниченной ответственностью «АЭРОКОМ» (ООО «АЭРОКОМ») (ИНН 9705136776, info@aeroidea.ru, +7(495)120-12-38, +7 968 900-23-45), которому принадлежит веб-сайт https://e-pepper.ru и которое зарегистрировано по адресу 111024, г. Москва, вн.тер.г.муниципальный округ Лефортово, ул. Авиамоторная, д.50, стр.2, этаж 2, помещ.XI, комната 25, офис А79, на обработку своих персональных данных со следующими условиями:

  1. Данное Согласие дается на обработку персональных данных, как без использования средств автоматизации, так и с их использованием.
  2. Согласие дается на обработку следующих моих персональных данных: персональные данные, не относящиеся к специальной категории персональных данных или к биометрическим персональным данным: адрес электронной почты (e-mail); имя; сведения о месте работы; номер мобильного телефона.
  3. Цель обработки персональных данных: обсуждение возможного проекта.
  4. В ходе обработки с персональными данными будут совершены следующие действия: сбор; запись; систематизация; накопление; хранение; уточнение (обновление, изменение); извлечение; использование; передача (предоставление, доступ); блокирование; удаление; уничтожение.
  5. Третьи лица, обрабатывающие персональные данные по поручению ООО "Аэроком” для указанной в согласии цели:
    • АО "АМОЦРМ", 21205, г. Москва, вн.тер.г. Муниципальный Округ Можайский, Тер Сколково Инновационного Центра, б-р Большой, д. 42 стр. 1
    • ООО "Яндекс", 119021, г. Москва, ул. Льва Толстого, д. 16
  6. Персональные данные обрабатываются в течение 30 дней с момента отказа в дальнейшем обсуждении проекта или с момента принятия решения о заключении договора на проект в соответствии с ч. 4 ст. 21 152-ФЗ, смотря что произойдет раньше.
  7. Согласие может быть отозвано вами или вашим представителем путем направления ООО "Аэроком” письменного заявления или электронного заявления, подписанного согласно законодательству Российской Федерации в области электронной подписи, по адресу, указанному в начале Согласия.
  8. В случае отзыва вами или вашим представителем Согласия ООО "Аэроком” вправе продолжить обработку персональных данных без него при наличии оснований, указанных в пунктах 2 — 11 части 1 статьи 6, части 2 статьи 10 и части 2 статьи 11 Федерального закона № 152-ФЗ «О персональных данных» от 27.07.2006 г.
  9. Настоящее согласие действует все время до момента прекращения обработки персональных данных, указанных в п. 6 и п. 7 Согласия.