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

Быстрота изменений UX/UI дизайна, функциональности, влияния запусков конкурентов, предоставляющих аналогичный продукт, внешние факторы – все это отражается на метриках удержания и сроке пользования продуктом, а значит и на тех деньгах, которые продукт зарабатывает по P&L.

Если компания хочет успешно продавать свою технологию и удерживать клиентов, и понимать, как менять продукт (и приносят ли эти изменения профит), то классическим подходом является аналитика Retention по когортам клиентов (Cohort Analysis).

Второй задачей стоит корректный прогноз и оценка LTV (Lifetime Value) - валовой прибыли, которую средний пользователь принесет за все время использования продукта.

Например, можно посчитать LTV на 12-й месяц использования продукта.

Выбор периода расчета зависит от решаемых задач. Для команды маркетинга, которая покупает трафик в рекламных сетях с целью окупить инвестиции через год, наибольшую ценность будет иметь LTV 1 года» (статья: "Расчет LTV. Как надо и не надо считать Lifetime Value")

На практике, LTV надо уметь прогнозировать вперед уже на основе данных нескольких дней (недель/месяцев) новой когорты. То есть фактически перейти от LTV 1 month к LTV 12 month, на основе имеющихся данных.

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

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

Как только задача исследования сформирована, можно перейти к когортному анализу Retention, в том числе для будущего формирования бюджетных KPI метрик, которых компания хочет достигнуть за счет изменений в п��одукте. 

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

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

Для того, чтобы прогнозировать динамику развития Retention актуальных когорт на будущие периоды необходимо рассчитать корректный “синтетический” Retention, который в том числе будет использоваться при сценарном анализе и оценке эффектов от внесения изменений в когорты клиентов.

Предположим у нас в распоряжении исторические данные по клиентам с января 2023 года, по сентябрь 2024 года.

Все клиенты до ноября 11.2023 года, уже прожили более 12 периодов. На момент сентября 2024 года, клиенты которые пришли в продукт в ноябре 2023 года - прожили 11 периодов, и чем позже пришли клиенты, тем меньше информации у нас есть о том, сколько их останется в более поздних когортах.

Сгенерированные данные по 12 когортам
Сгенерированные данные по 12 когортам

Эту задачу предстоит решить, прогнозируя Retention на будущие периоды, учитывая, что ��зменения по периодам могут быть очень неоднородными, особенно если выборка клиентов не велика, чтобы компенсировать дисперсию изменений законом “больших чисел”.

Шаг 1:

Рассчитаем фактический Retention по когортам, по выбранной группе клиентов.

Фактический Retention по 12 когортам
Фактический Retention по 12 когортам

Чтобы достроить Retention по когортам на будущие периоды, необходимо построить корректный “синтетический” Retention, охватывающий все периоды наблюдения.

Шаг 2:

Для расчета первых 6-ти когорт “синтетического” Retention, чтобы оставаться актуальным при прогнозировании разных когорт, необходимо ��адать глубину сглаживания для на основе последних актуальных значений для каждой когорты. 

Для моделирования в зависимости от глубины исторических данных задаем от 3-х до 10-ти точек расчета (в зависимости от достаточности статистики), оптимально - 6 последних значений.

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

Формируем признак актуальных когорт
Формируем признак актуальных когорт

Шаг 3:
После формирования глубины актуализации и расчета математического ожидания Retention по каждой когорте, необходимо выполнить очистку фактических данных от наиболее отклоняющихся значений, чтобы не искажать расчетные статистики.
Операцию очистки можно задать через фильтр отклонения и сформировать по нему двоичный флаг (1/0), чтобы не учитывать выбросы, для итогового расчетного значения “синтетического” Retention первых 6-ти когорт.

Настраиваем фильтрацию для когорт
Настраиваем фильтрацию для когорт

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

"Синтетический" нормализованный Retention по когортам
"Синтетический" нормализованный Retention по когортам

Шаг 4:

После расчета “синтетического” Retention по когортам, необходимо нормализовать кривую Retention. 

Сделать это можно с помощью сглаживания кривой одной из двух функций:

  1. Степенная функция (power)

  2. Логарифмическая функция (logarithmic)

Чтобы аппроксимирующие функции учитывали скорость изменения Retention наиболее качественно можно разбить диапазон Retention на 2 части - с 1 по 6 период и с 7 по максимальный период расчета. 

Формулы Excel для расчета степенной и логарифмической функций
Формулы Excel для расчета степенной и логарифмической функций

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

Шаг 5:

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

Далее вычислить Chain «Цепные» коэффициенты переходов между когортами, по двум функциям, при этом учитывая переход с 6 когорты на 7 когорту, чтобы корректно соединить разбиение двух диапазонов, поскольку они сглаживались независимыми функциями.

Расчет "цепных" коэффициентов
Расчет "цепных" коэффициентов

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

Апроксимация Retention степенной и логарифмической функциями
Апроксимация Retention степенной и логарифмической функциями

При анализе и выборе функции следует учитывать скорость фактического изменения “синтетического” Retention по первым когортам, ориентируясь на степень соответствия.

Выбор типа функции для апроксимации
Выбор типа функции для апроксимации

Шаг 6:

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

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

Сценарий внесения изменений в когорту
Сценарий внесения изменений в когорту

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

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

Сценарий для расчета
Сценарий для расчета
Кривая Retention
Кривая Retention

Шаг 7:

После расчета итогового сценария, можно провести расчет клиентов/пользователей по “синтетическому”  Retention. Чтобы далее оценить разницу фактических и сценарных данных, и рассчитать diff и предварительную точность моделирования на будущие периоды.

Расчетный сценарий клиентов
Расчетный сценарий клиентов
Разница между фактическим и расчетным сценарием
Разница между фактическим и расчетным сценарием

Шаг 8:

Обладая фактическими данными по выручке (или Gross Profit) за прошедшие периоды, можно перейти к расчету фактического ARPU

Фактические данные по выручке
Фактические данные по выручке

“Метрика ARPU отвечает на вопрос: сколько выручки приносит средний активный пользователь за изучаемый период времени”.

При этом метрика достаточно чувствительная, “чтобы оценить, как вы монетизируете своих активных клиентов/пользователей, что происходит с монетизацией на длинных периодах времени, как отличается платежеспособность разных сегментов пользователей”.( статья: "Метрика ARPU. Как ее считать, чем она отличается от LTV, почему может ввести в заблуждение")

Фактический ARPU клиентов по когортам
Фактический ARPU клиентов по когортам

При этом прогнозировать метрику ARPU лучше не горизонтальным методом, внутри одной группы пользователей, для одного периода подключения, а «вертикальным методом» - внутри одного срока жизни.
Чтобы транслировать актуальные изменения ARPU в будущие когорты для новых пользователей, необходимо включить с бОльшим весом последние периоды в ARPU, внутри каждой когорты.

Прогнозирование ARPU внутри каждой когорты
Прогнозирование ARPU внутри каждой когорты
Факт и прогноз ARPU
Факт и прогноз ARPU

Шаг 9:

Получив недостающие значения по прогнозным когортам и объединив фактическое ARPU с прогнозными значениями, можно перейти к расчету прогнозной выручки (либо Gross Profit).

Прогноз Revenue
Прогноз Revenue

Проведя оценку diff по выручке за фактические и прогнозные периоды, можно оценить отклонения от факта и инкременты, которые дает нормализованный «синтетический» Retention, при аппроксимации на ретро периодах, то есть оценить недополученную выручку от когорт, при идеальном сценарии (либо оценить положительный инкремент). 

Оценка разницы факта и прогноза Revenue
Оценка разницы факта и прогноза Revenue

Алексей Куличевский @akmute в одной из своих статей затрагивает тему прогнозирования LTV по первому периоду с помощью линии тренда  Прогнозируем LTV в Экселе или «Машинное обучение на коленке»

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

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

Комбинируя два подхода: 

  1. прогнозирование Выручки (либо Gross Profit) через прогноз Retention клиентов по когортам и ARPU каждой когорты 

  2. прогнозирование Выручки, через многофакторную регрессию LTV1->LTV12

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

Шаг 10:

Для задачи прогнозирования LTV 12 month, на основе LTV 1 month, мы можем построить регрессионную многофакторную модель, которая будет основана на LTV 1, фактических и прогнозных  ARPU на значимые моменты изменений. Выбор периодов срока жизни для ARPU стоит делать применительно к продукту по условиям, например изменении с подписочной модели пользователя. 

Для регрессионной зависимости нужно подготовить два ряда: LTV1 и LTV12 и выбрать дополнительные переменные для улучшения качества модели. 

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

Рассчитать LTV 12  за фактические периоды можем поделив выручку (либо Gross Profit) за 12 месяцев, на клиентов за данный месяц.

Расчет LTV 12
Расчет LTV 12

На основе имеющихся данных, можем сделать многофакторную регрессионную модель с 7 переменными.

Для того, чтобы предсказательная модель не переобучилась выборку можно дополнительно разметить признаками «1/0» на обучающую и тестовую.

Подготовка независимых переменных для модели
Подготовка независимых переменных для модели

Чтобы оценить зависимость между LTV 1 и LTV 12, добавив данные по ARPU за значимые периоды (на 3, 6, 12 месяцы), которые будут улучшать предсказательную модель. 

Зависимость LTV 1 и LTV 12
Зависимость LTV 1 и LTV 12

Фактически видим, что увеличение LTV 1 месяца имеет сильную линейную зависимость с увеличением LTV 12 месяца. Используя дополнительные факторы можно увеличить точность модели.

Шаг 11:

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

Прогнозирование факторов регрессионной модели
Прогнозирование факторов регрессионной модели

После формирования прогноза по факторам модели, можно применить регрессионную многофакторную модель и спрогнозировать LTV 12 month, для расчета оценочной выручки за 12 периодов.

Расчет Revenue 12 на основе прогноза LTV 12
Расчет Revenue 12 на основе прогноза LTV 12

Шаг 12:

Далее мы можем с��авнить 2 подхода:

  1. на основе сценарного «синтетического» Retention

  2. на основе регрессионного прогноза LTV1 / LTV 12, оценив расхождения по выручке за фактические периоды:

    Сравнение фактического и расчетных сценариев Revenue
    Сравнение фактического и расчетных сценариев Revenue

Данные полученные двумя разными подходами не должны кардинально различаться. Сценарный подход к моделированию Retention дает понимание эластичности от изменений цены и других факторов, позволяя планировать бюджет и условия его достижения. Регрессионная модель LTV1-LTV12 позволяет подкрепить оценку по минимальному набору данных и оценить сегодня при минимуме данных P&L продукта через год. 

Сравнение двух сценарных подходов к прогнозу Revenue
Сравнение двух сценарных подходов к прогнозу Revenue

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