Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет, Хабр! Я работаю в компании Flowwow аналитиком по закупке трафика. Мне нравится использовать альтернативное название должности — поставщик аналитических рекомендаций. Звучит! Что собственно я делаю: обучаю ML-модели строить прогнозы и отвечать на бизнес-вопросы, сколько денег нужно заложить на маркетинговые расходы, чтобы привлекать достаточно клиентов?
В этой статье хочу поделиться, что уже умеет наша ML-модель в плане прогнозирования повторных покупок и привлечения новых клиентов.
Я обойдусь без лирического отступления про важность данных, потому что большинство компаний уже полностью осознали преимущество data-driven подхода. Особенно те, кто обосновался в онлайне. Это актуально и для нас в Flowwow — мы развиваем маркетплейс для покупки подарков и красивых букетов.
Передо мной стояла вполне конкретная задача.
Дано: маркетинговые расходы и данные покупательского поведения
Что сделать: найти закономерности, чтобы определять спрос и закладывать бюджет с большой точностью
Перейдем к решению :)
Сегменты клиентов и данные — в нашем распоряжении
Я начал разбираться, что имеется:
для первой покупки — сумма чека, дата и время покупки
для повторных покупок — сумма чека, дата и время покупки
Тут несложно выделить два сегмента клиентов: есть новые и уже лояльные нам. К лояльным мы относим тех пользователей, кто совершил 3–4 покупки.
Но и тут есть «но»: одно дело — три покупки за полгода, другое — за пять лет. Для этого у нас есть специально разработанный сет так называемых retention-метрик. Он как раз определяет степень и полноту лояльности клиентов, а также их возвращаемости на наш маркетплейс.
Хорошо, что к нам продолжают приходить уже совершавшие покупки пользователи. И здорово, что приходят новые клиенты. Но с точки зрения данных есть сложности, потому что эти сегменты нужно корректно объединить и сделать общий прогноз по расходам на рекламу — кого и в каком количестве знакомить с сервисом впервые? А кому напоминать о нас снова?Вооружился данными и пошел искать гипотезы.
Разбираем постановку задачи и формулируем первичные гипотезы
С данными познакомились, теперь докрутим точнее формулировку задачи «найти закономерности, чтобы определять спрос и закладывать бюджет с большой точностью».
Здесь есть несколько составляющих:
спрогнозировать величину повторных заказов, их средний чек, промокоды и бонусы на каждую повторную покупку. Это существенная доля затрат для стимулирования повторных заказов. Так работаем с лояльностью, это с одной стороны;
также спрогнозировать, какой будет стоимость нового клиента. Это с другой стороны, со стороны привлечения;
учесть финансовый критерий — отклонение прогнозной выручки
и фактической, долю рекламных расходов в общей выручке по месяцу и по прогнозу. *
*Уточняющая сноска
Прогноз, как правило, сбывается на уровне +/- 1–3% по выручке. И в пределах +/- 1 процентного пункта по доле рекламных расходов. Процентный пункт не равен проценту, это другое. Доля рекламных расходов уже измеряется в процентах, поэтому отклонение считаем по разнице процентов.
Из очевидного и невероятного проверяем и находим, что на покупку цветов и подарков влияет:
сезонность, например, 8 марта происходит каждый год весной;
цикличность, например, в этот день событие для какого-то человека, которому важно сделать приятный подарок;
день недели, например, в будние заказывают чаще, чем в выходные.
Из интересного удалось увидеть, что новые клиенты совершают покупки в определенном ценовом диапазоне. У повторных же заказов: во-первых, выше средний чек; во-вторых, больший процент покупок с высоким чеком — люди уже доверяют и готовы платить больше и покупать более дорогостоящие подарки.
Добавлю визуала в виде графика.
Здесь видим — две гистограммы распределения среднего чека по повторным покупкам (сверху) и новым покупкам (снизу). На оси Х отмечено значение в рублях. На оси Y количество покупок в указанном диапазоне. Что получаем: во-первых, средний чек выше по повторным заказам; во-вторых, по повторным покупкам наблюдается более плотное распределение справа в диапазоне — от 2 000 до 4 000 рублей. Это наглядно демонстрирует, не только разницу в среднем чеке, но и потребительские предпочтения: больше людей готовы платить большую сумму.
Собственно, само прогнозирование и на чем оно строится
Сейчас я все чаще работаю с отчетами и прогнозами в RStudio Cloud. Каждый волен использовать свои методы, у меня было несколько вариантов.
Если мы хотим спрогнозировать численное значение какой-то непрерывной величины (в нашем случае — количество покупок в следующем месяце, повторных или новых), то нам подходит инструмент регрессии по нескольким причинам:
во-первых, инструмент достаточно функционален, так как можно применять разные технологии регрессий — линейная, нелинейная, с уменьшением размерности или без, временные ряды, с ограничением на коэффициенты предикторов или без, со стабильным трендом или выделить несколько полигонов.
во-вторых, регрессия позволяет быстро и эффективно отобрать более значимые предикторы.
в-третьих, инструмент позволяет менять степень гибкости по желанию и экспертизе исследователя. То есть мы можем сделать модель более или менее чувствительной к изменению данных.
в-четвертых, регрессия также обладает колоссальной степенью интерпретируемости. То есть все полученные значения модели можно объяснить даже неподготовленному человеку.
Снова обратимся к графику. Так выглядит прогноз по повторным покупкам на ближайшие несколько недель или месяц. По оси Х — дата. По оси Y — трансформированная величина повторных покупок. На черном графике показаны фактические значения. Голубой график справа — сам прогноз, предугадывает динамику и тренд ;)
Помимо повторных покупок попробуем разобрать прогноз и для первых покупок. Для простоты возьмем месяц, в котором нет какого-либо сезонного пика.
У нас есть некая цена привлечения первого клиента, скажем, 600 рублей. И сейчас мы привлекаем, например, 10 000 новых клиентов ежемесячно. Что будет, если мы захотим привлечь — 20 000, 25 000? В таком случае вопрос: останется ли стоимость привлечения нового клиента на прежнем уровне в 600 рублей?
Тут ставим несколько гипотез.
#1 Стоимость привлечения клиента останется прежней. На самом деле, тоже рабочая схема, если несильно изменять требование по новым клиентам. Скажем, +10%. На рынке рекламы есть и конкуренты, они тоже влияют на стоимость нашей рекламы. Наша команда маркетологов тогда совершенствует подходы, креативит — в общем, делает все, чтобы рекламы зашла и была дешевой. Так что цена нового клиента может и не поменяться.
#2 Цена привлечения клиента может снизиться. Мы захватываем внимание пользователей рынка, лидируем среди конкурентов. Итог — покупают только у нас. Подключается синергетический эффект взаимодействия рекламных каналов. Таким образом цена может снизиться.
#3 По мере увеличения рекламных охватов привлечь каждого последующего клиента все сложнее. Тут сказывается и конкуренция между маркетплейсами: каждый стремится выйти в топ, а для этого нужно повышать ставку аукциона. На людей попадает так много рекламы, что найти тех, кто хочет сделать подарок (и еще это не сделал) все сложнее и сложнее. Происходит насыщение: мы по пирамиде спускаемся на более неэффективный уровень охватов, стремясь при этом захватить большую долю рекламного рынка. По сути мы привлекаем большее количество людей, однако, стоимость привлечения каждого оказалась выше.
Все три случая возможны, но мы пришли к результатам третьей гипотезы: стоимость привлечения клиента повышается по мере увеличения рекламных охватов. То есть, действительно, сначала мы используем простые методы и собираем готовый спрос у людей. Далее — начинаем все большее рекламное насыщение, и нам все труднее добиваться дешевых заказов.
Сезонные пики также хорошо поддаются прогнозированию. Мы понимаем, какой тренд, какова была закупка трафика в предыдущие месяцы. Какова цикличность. Из этого строим прогноз по повторным заказам. По новым клиентам — тут понятно, что у людей уже готовый спрос, и их нужно только «подтолкнуть» к совершению покупки. Стоимость привлечения нового клиента в такие сезонные пики невысокая. Как правило, мы наблюдаем рост продаж уже за 2–3 дня до праздника: люди активно готовятся и создают праздничную атмосферу заранее.
Опять же, посмотрим на график прогнозных и фактических значений с помощью сезонной авторегрессионной модели. Данная модель победила среди трех построенных моделей: ещё была нейросеть на временных рядах и модель Prophet.
Модель обучал на промежутке с 1 января 2018 до 31 января 2022. На основе прогноза провели тест с 1 по 15 февраля этого года.
Итак, что на графике:
модель адекватно моделирует динамику показателя: предсказан сезонный пик, что очень важно; отклонения по дням нас не очень интересуют, главное, чтобы средняя ошибка была как можно ближе к нулю на всем прогнозном промежутке. То есть в какой-то день мы может позволить ошибку в +500 заказов, в другой день ошибка может быть -450 заказов. В итоге в таком примере за два дня ошибка составит всего +50 заказов, что достаточно приемлемо.
Ошибка всего -0.8 п.п. по доли рекламных расходов. Это является допустимым значением с точки зрения нашего бизнес-процесса. То есть модель предсказала чуть большее количество повторных покупок, чем было на самом деле.
Безусловно бывают и проблемы, и сложности в прогнозировании.
Расскажу про некоторые из них:
динамическая когорта, можно опираться на нее и считать так:
клиентская база х на какой-то %. Но такой способ не учитывает лояльность — клиент уже 5 лет с нами или присоединился 5 месяцев назад;мультиколлинеарность: здесь проблема в том, что модель будет использовать слишком много информации. И нам надо будет исправлять это с помощью метода уменьшения размерности;
атрибуция: реклама догоняет пользователей в разных каналах, они могут запомнить бренд и его предложение, благодаря рекламе, конечно, но вот фактическое совершение покупки происходит гораздо позже.
Результаты прогнозирования: какие бизнес-профиты
Сейчас прогнозирование возможно на ближайший месяц, в будущем хочется, конечно, докрутить модель и сделать ее более точной и смотрящий гораздо дальше — например, полгода. Прогнозы позволяют нам находить закономерности, предсказывать пики, благодаря этому со стороны бизнеса мы оптимизируем маркетинговый бюджет и рассчитываем удачное время отправки пушей, которые побуждают к покупке.
Буду рад видеть комментарии, в которых вы поделитесь своим мнением и опытом использования ML-моделек для оптимизации бизнес-процессов и отслеживания спроса!