Привет! Я Ваня Мочилин, работаю в команде продуктовой аналитики подразделения Онлайн в "Ленте". В этой статье расскажу о фреймворке, который мы разработали для бизнес-планирования и прогнозирования заказов. Он помогает понимать, сколько новых клиентов нужно привлекать в сервис, чтобы достигать финансовых целей.

Проблема бизнеса
Каждый год перед бизнесом встают вопросы: как достичь целевых значений и, например, понять целесообразность инвестиций в маркетинг. Раньше у нас не было удобного инструмента для гибких расчетов, который учитывал бы изменения в стратегии, сезонность и внешние факторы. А в конце 2023 года мы создали гроу-модель – инструмент для прогнозирования, который помогает бизнесу разобраться, а сколько маркетингу нужно привлечь новых клиентов, чтобы выполнять цели по выручке и заказам на планируемый год.
Что умеет фреймворк
-
прогнозировать заказы с помощью несложного ML алгоритма;
-
анализировать сценарии: например, что будет, если снизить маркетинговые инвестиции, и мы недополучим целевое количество новых клиентов?;
-
оптимизировать бюджет: можно распределять привлечение клиентов по месяцам;
-
проводить стресс-тестирование, чтобы оценить, как снижение количества новых клиентов в определенные месяцы повлияет на недовыполнение выручки.
Кроме того, если мы хотим доказать эффективность инвестиций в продукт, важно понять, как даже небольшой рост возвращаемости клиентов — например, увеличение на 1% среди новых когорт, может повлиять на выручку за год.
Как он работает
Простыми словами, наш фреймворк — это «калькулятор» для прогноза количества заказов на основе поведения клиентов. Входные данные включают:
-
историю заказов и возвращаемость клиентов;
-
ограничения по маркетинговым инвестициям;
-
внешние факторы (например, новые условия доставки).
Мы анализируем старые когорты – группы пользователей, пришедшие в разное время и строим прогноз для новых. Например, если известно, что через три месяца остаётся 20% клиентов, это учитывается при прогнозировании новых пользователей.
Конкретный пример
Допустим, нужно понять, сколько заказов будет через год, если вложить в маркетинг _N_ млн рублей.
-
Фреймворк анализирует данные старых клиентов: как они возвращались после первого заказа, сколько повторных заказов сделали;
-
Затем он прогнозирует, сколько новых клиентов нужно привлечь, чтобы достичь заданных KPI;
-
На выходе бизнес получает конкретные цифры: например, чтобы достичь выручки X, нужно привлекать Y новых клиентов каждый месяц;
-
После этого маркетинговая команда решает, какими инструментами достигать этой цели: реклама, блогеры, перформанс-маркетинг или другие каналы.
Работа с когортами
Поведение пользователя в сервисе зависит от продолжительности взаимодействия с продуктом. Новые и постоянные клиенты по-разному реагируют на изменения, например, выкатку новых фич или влияние маркетинговых механик, поэтому их возвращаемость (ретеншен) может сильно отличаться.
Для точного прогнозирования заказов лучше анализировать данные по когортам. Под когортами мы подразумеваем группы пользователей, объединенные по определенным признакам, например, по дате первой покупки.
Сначала мы исследуем клиентов по когортам и смотрим на следующие разрезы:
-
месяц первой покупки;
-
платформу (iOS, Android, Web);
-
канал привлечения (органика, платные каналы и т. д.).
Для каждой из них строится отдельный прогноз заказов на заданный период, а затем данные объединяются, чтобы получить общий объем заказов.
Прогнозирование заказов
Мы выделяем 3 группы когорт:
-
старые (более 8 месяцев наблюдений) — прогнозируются на основе накопленных данных;
-
относительно новые (меньше 8, но не менее 3-х месяцев) — строим прогноз по первой части кривой и дополняем медианными значениями от схожих старых когорт;
-
новые (менее 2-х месяцев) — применяем средние показатели по аналогичным когортам прошлого.
Прогноз для каждой когорты также рассчитывается по своей логике, так как есть разное количество данных для обучения модели.
При построении прогноза важно учитывать особенность: как видно на графике ниже, в первые три месяца количество заказов от пользователей, пришедших в апреле, резко падает. Затем спад становится менее выраженным. Также заметна сезонность: рост заказов в декабре связан с пиковым сезоном доставок, а спад в июне — с низким сезоном.

Чтобы учесть на этапе прогнозирования составную форму кривой ретеншена, используем комбинированную модель:
-
первые 3 месяца описываются гиперболической функцией — в этот период заказы "падают" быстрее всего;
-
дальше используется экспоненциальное затухание, которое показывает, как клиенты продолжают делать покупки.
Степень экспоненты прогнозируется линейной моделью, которая учитывает события в бизнесе и макроэкономике, влияющие на поведение пользователей через дамми-переменные. Сейчас мы выделяем три таких события, поэтому у нас в модели три коэффициента при дамми-переменных.
Основные шаги для прогнозирования:
-
разбиваем когорты на группы: “старые” (старше 8 месяцев), “относительно новые” (от 8 месяцев до начала прогнозного периода) и “новые” (нет данных);
-
переходим от самой метрики к коэффициенту: коэффициент = заказы / размер когорты. Это нужно, чтобы привести все прогнозы к одному масштабу;
-
десезонализируем коэффициенты. То есть убираем сезонные колебания, чтобы получить более точные прогнозы;
-
для каждой когорты строим базовый прогноз на основе выше описанной модели;
-
восстанавливаем сезонность и возвращаемся к исходной метрике.
Оптимизация привлечения клиентов
Теперь самое интересное. Зная, как ведут себя разные группы клиентов, мы можем рассчитать, сколько новых пользователей нужно привлекать каждый месяц. Для этого нам может помочь решение обычной задачи нелинейной оптимизации.
Для "новых" когорт нужно задать ее размер, то есть первую точку на графике. В модель подаем данные о предполагаемом числе новых клиентов по каждому каналу для каждого месяца. Вместе с коллегами-маркетологами мы примерно знаем, как будет изменяться распределение по каналам и ориентируемся на верхние границы для общего числа новых клиентов в разные месяцы.
Вот как будем действовать:
-
устанавливаем нужное количество заказов за год, учитываем важные бизнес-события и макроэкономические факторы, чтобы проставить значения по дамми-переменным на прогнозный период, а также - верхние границы по новым клиентам для каждого месяца;
-
вводим данные о новых клиентах для каждого месяца;
-
на основе этих данных система делает прогноз по общему числу заказов за год;
-
повторяем шаги 2 и 3 пока не найдем оптимальное решение, где разница между прогнозом и нужным количеством заказов будет минимальной.
Процесс поиска оптимального количества новых клиентов по месяцам можно визуализировать следующим образом:

Формально задачу оптимизации можно описать так:

Где b – это необходимое количество заказов за год, xn – количество новых клиентов за n месяц, an – верхняя граница по количеству новых клиентов за n месяц.
Для решения задачи оптимизации мы используем метод SLSQP (Sequential Least Squares Programming) из библиотеки SciPy.
Сложности при внедрении фреймворка
Главная сложность — адаптация под конкретный бизнес. Поведение клиентов в разных сферах отличается. Например:
-
в e-com клиенты могут сделать заказ один раз и больше не вернуться;
-
в B2B (например, рестораны, заказывающие продукты) возвращаемость выше, так как у них есть долгосрочные контракты.
Поэтому при внедрении в другую компанию модель нужно адаптировать под ее аудиторию.
Как работает growth-модель в “Ленте”
Мы используем growth-модель с 2024 года для пересчета прогнозов при изменении бизнес-параметров, стресс-тестирования, прогнозирования и оптимизации привлечения новых клиентов.
Один из основных показателей — это количество выручки, но, так как средний чек у нас относительно контролируемый показатель, то прогнозируя количество заказов, мы можем переходить к оценке принесенной выручки. Модель легко адаптируется под другие метрики, если это нужно для конкретного бизнеса.
В других бизнесах основными метриками могут быть поездки (для такси), подписки (для онлайн-сервисов) или другая core-активность.
Заключение
Growth-модель — это стратегический инструмент, с помощью которого бизнес может принимать обоснованные решения. Благодаря фреймворку аналитики, маркетологи и продуктовые команды могут быстро пересчитывать прогнозы, тестировать разные сценарии и оптимально распределять бюджет.
В ближайших планах — автоматизация расчетов через веб-интерфейс и использование фреймворка для анализа окупаемости рекламных каналов в совокупности с Marketing Mix Modelling, чтобы еще глубже понимать, какие инвестиции приносят максимальный эффект.
P.s: отдельное спасибо за большой вклад в развитие фреймворка: Крымовой Людмиле, Бодунову Дмитрию и Малхасяну Арамаису.
Автор: moch_33