Построение прогноза аудитории и дохода с помощью когортного анализа в Excel/Google Sheets
18 мая, 2020
Редакция GoPractice
Построение прогноза динамики дохода, аудитории и других ключевых показателей — это важный процесс для любого продукта в фазе роста. Наличие качественного прогноза помогает приоритизировать проекты на этапе планирования, а потом отслеживать, насколько ваши реальные темпы роста соответствуют ожидаемым, позволяя идентифицировать проблемы на раннем этапе.
Сам же процесс создания модели для прогнозирования позволяет синхронизировать команду в понимании устройства модели продукта и его структуры роста, а также дает инструмент для оценки влияния разных векторов развития и потенциальных проектов.
Сегодня мы обсудим, как построить прогноз аудитории, дохода и других целевых показателей вашего продукта с помощью когортного анализа в Excel или Google Spreadsheets, выясним, какие есть подводные камни и сложности у этого процесса.
Вы также получите шаблон для прогнозирования ключевых показателей в Excel / Google Sheets.
Если вы хотите глубже разобраться в том, как создаются, развиваются и масштабируются продукты, пройдите обучение в симуляторах GoPractice.
→ «Симулятор управления ростом продукта» поможет найти пути управляемого роста и масштабирования продукта. Вы построите модель роста и составите стратегию развития продукта (путь от 1 к N).
Еще больше ценных материалов и инсайтов — в телеграм-канале GoPractice.
Когортный анализ — основа построения прогнозов аудитории, дохода и других показателей бизнеса
Когортный анализ — это основа для построения прогнозов динамики ключевых показателей вашего бизнеса. Прочитать подробнее про когортный анализ можно здесь.
Ключом к построению прогнозов является понимание того, что любая метрика вашего продукта является суммой значений этой метрики отдельных когорт пользователей, которые выделены, например, на основе месяца их прихода.
Это значит, что если вы построите прогноз динамики определенного показателя для отдельных когорт вашего продукта, то потом вы легко получите прогноз этого показателя для всего продукта. Таким образом, задача построения прогноза для всего продукта сводится к задаче построения прогноза для когорты пользователей, которые пришли в продукт в определенный месяц (для всех когорт процесс построения прогноза будет идентичным).
Построение прогноза динамики ключевых метрик для когорты пользователей решается относительно легко с помощью исторических данных. Следовательно, и задача прогнозирования показателей для всего продукта становится относительно простой.
Мы обсудили основную идею, лежащую в основе построения прогнозов метрик для продукта. Далее мы последовательно разберемся с каждым шагом:
Как общие показатели всего продукта (аудитория, доход и другие) складываются из соответствующих показателей отдельных когорт.
Как прогнозировать динамику дохода, аудитории и других метрик для когорты пользователей.
Как предсказать размер новых когорт продукта, которые придут в будущем.
Как выглядит шаблон для прогнозирования дохода, аудитории и других показателей в Google Spreadsheets.
Как общие показатели всего продукта (аудитория, доход и другие) складываются из соответствующих показателей отдельных когорт
Давайте рассмотрим следующий пример продукта X.
Первый месяц после запуска продукта
Вы запустили продукт X в январе 2019 года. В январе (первый месяц после запуска) в продукт пришло 1000 новых пользователей, они заплатили 100$.
В январе месячная аудитория приложения составит 1000 пользователей, а доход — 100$, так как на данный момент весь продукт целиком представлен одной когортой пользователей, которые пришли в январе.
Второй месяц после запуска продукта
В феврале 2019 года в продукт пришла еще 1000 новых пользователей, они заплатили 100$. При этом из январских новых пользователей в феврале вернулось 700 пользователей, они заплатили 70$.
Таким образом, в феврале (второй месяц с момента запуска) месячная аудитория продукта будет состоять из аудитории февральской когорты (1000 человек) и аудитории январской когорты (700 вернувшихся пользователей). То есть будет равна 1000+700 = 1700 пользователей.
Доход во второй месяц будет равен 100$ + 70$ = 170$. Он также будет состоять из суммы дохода каждой из двух имеющихся на данный момент когорт пользователей.
Третий месяц после запуска продукта
В марте у нас добавится третья когорта пользователей (пользователи, которые пришли в марте), а общие показатели продукта будут являться суммой показателей январской, февральской и мартовской когорт в марте.
* не удивляйтесь, что Retention продукта столь высокий (выходит на плато на уровне 70%) — это придуманный пример для иллюстрации метода расчета
Месяц N после запуска продукта
Если мы возьмем месяц N с момента запуска, то к этому моменту у нас будет N когорт пользователей, сформированных на основе месяца, когда пользователи пришли в продукт. Месячная же аудитория всего продукта за месяц N будет равна сумме аудиторий каждой из имеющихся когорт в месяце N.
Если визуализировать описанный выше процесс, то месячная аудитория вашего продукта будет выглядеть следующим образом.
Каждый цвет на графике представляет собой когорту пользователей, которая пришла в определенный месяц. Общая аудитория продукта в конкретный месяц состоит из аудитории всех имеющихся когорт пользователей.
Зачем мы представляли аудиторию и доход за каждый месяц в виде суммы этих метрик отдельных когорт
Цель данного упражнения в том, чтобы показать, что ключевые показатели вашего продукта в любой месяц напрямую определяются значениями этих показателей когорт пользователей, выделенных на основе даты прихода пользователей.
Это значит, что если мы сможем сделать прогноз значения интересующей нас метрики для всех когорт продукта на определенный месяц, то дальше мы легко получим прогноз этой метрики для всего продукта (сложив значения для всех когорт).
Как построить прогноз динамики дохода, аудитории и других метрик для конкретной когорты пользователей
Прогнозировать динамику дохода, аудитории или любой другой метрики для конкретной когорты пользователей относительно просто. Для этого стоит использовать исторические данные.
Обычно берут самые старые релевантные когорты пользователей продукта, чтобы изучить их фактическую динамику, а потом переложить ее на более новые когорты.
Например, для прогнозирования месячной активной аудитории (MAU) вам нужно будет:
Взять старую когорту пользователей и посчитать MAU для этой когорты в динамике по месяцам. Эта когорта должна быть релеватной, то есть отражать текущее состояние продукта.
Разделить полученный набор значений на размер когорты (количество пользователей в когорте). На этом шаге вы получите месячный Retention.
Используя месячный Retention, вы можете легко предсказать, чему будет равна аудитория похожей когорты пользователей на любой месяц. Для этого надо умножить размер когорты на Retention соответствующего месяца.
Если вам нужно получить динамику прогнозируемого показателя за месяцы, которые идут дальше, чем вы можете получить на основе самых старых релевантных когорт, то необходимо будет сделать предположение о будущей динамике показателя:
Например, если аудитория когорты с какого-то момента стабильно снижается на 3% от месяца к месяцу, то эту динамику можно заложить в будущие месяцы.
Если же метрика стабильна, то прекрасно, заложите, что она не будет меняться.
Здесь нет универсального подхода, все будет зависеть от вашей индивидуальной ситуации.
Давайте посмотрим на то, как это будет работать на примере приложения X, которое мы рассматривали выше.
1. В качестве старой релевантной когорты пользователей мы возьмем когорту тех, кто пришел в январе 2019 года.
2. Теперь на основе этой когорты мы посчитаем месячный Retention нашего продукта. Для этого надо будет разделить данные с аудиторией на размер когорты (1000 пользователей).
3. Теперь мы можем предсказать MAU для других когорт за будущие месяцы. Например, MAU когорты пользователей, которая пришла в мае 2019 года на «месяц 4» будет равно произведению размера этой когорты на Retention 4 месяца (1000 * 70% = 700).
4. Если же нам надо будет предсказать, чему будет равно MAU майской когорты на «месяц 7», то нам надо будет предположить, что будет происходить с месячным Retention.
В нашем случае это простая задача: Retention не падает с «месяца 1», поэтому мы просто делаем предположение, что он будет таким же, как и раньше. Когда мы получим больше данных в будущем, то мы сможем поменять это и изменить прогноз.
Для прогнозирования динамики любой другой метрики роста для когорты пользователей вам нужно будет проделать то же самое. Давайте посмотрим, как это будет работать на примере дохода:
Взять старую релевантную когорту пользователей и посчитать доход для этой когорты по месяцам.
Разделить полученный набор значений на размер когорты (количество пользователей в когорте). На этом шаге вы получите условный Revenue Retention для когорты пользователей.
Используя полученную выше метрику, вы можете легко предсказать, чему будет равен доход конкретной когорты пользователей на любой месяц. Для этого надо умножить размер когорты на значение рассчитанной в прошлом шаге метрики на соответствующий месяц.
Если вам нужно получить динамику прогнозируемого показателя за месяцы, которые идут дальше, чем вы можете получить на основе самых старых релевантных когорт, то необходимо будет сделать предположение о будущей динамике показателя.
Подход к прогнозированию метрик для когорты пользователей очень простой: понять, как эта метрика меняется для конкретной когорты, переложить это на другие когорты.
Предсказание размера будущих когорт продукта или предсказание будущего количества новых пользователей
Последний недостающий элемент для создания прогноза дохода, аудитории или любого другого интересующего вас показателя — это информация о размере будущих когорт пользователей, которые будут приходить в ваш продукт. То есть создание прогноза количества новых пользователей.
Универсального способа прогнозирования будущего количества новых пользователей не существует, так как модели роста разных продуктов кардинально отличаются.
Для решения этой задачи вам нужно будет построить прогноз числа новых пользователей для каждого дистрибуционного канала, основываясь на имеющихся рычагах воздействия и ограничениях каждого из них.
Excel / Google Spreadsheet шаблон с моделью для прогнозирования аудитории, дохода и других показателей продукта с помощью когортного анализа
К этому моменту мы обсудили:
Как сделать прогноз количества новых пользователей в будущем (размеры будущих когорт).
Как сделать прогноз аудитории, дохода или другого показателя для конкретной когорты пользователей.
Как показатели когорт пользователей, выделенных на основе даты их регистрации, складываются в общие показатели всего продукта.
Если вы поняли логику этих шагов, то дальше создание прогноза становится обычной технической задачей.
Пример шаблона для прогнозирования дохода продукта можно найти в этом [файле].
В этом файле мы прогнозируем доход для продукта, который был запущен в январе 2015 года. Прогноз делается в октябре 2019 года. Все фактические данные в файле выделены синим цветом, а все прогнозные — желтым.
Создание прогноза работает следующим образом:
Сначала мы взяли наиболее старую когорту и посчитали Revenue этой когорты по месяцам (строка 11 в файле).
Потом мы нормировали Revenue по месяцам на размер когорты, то есть поделили данные с Revenue на количество пользователей в когорте (строка 12 в файле). Так мы получили Revenue Retention.
Далее мы построили прогноз числа новых пользователей продукта с октября 2019 года до месяца, до которого мы хотим сделать прогноз.
Далее на основе полученных на шаге 2 данных мы построили прогноз дохода для всех когорт продукта, выделенных на основе месяца прихода пользователей.
Теперь осталось лишь сложить значения когорт правильным образом, чтобы получить Revenue всего продукта (для этого мы будем складывать значения по диагонали в нашей таблице — см. в шаблоне).
Пример использования такого метода прогнозирования можно найти в следующей статье с оценкой перспектив Calm и других подписочных приложений после изменений в iOS 13.
Улучшение модели прогнозирования дохода, аудитории и других метрик бизнеса с помощью когортного анализа
Делайте отдельные прогнозы по ключевым сегментам аудитории
Один из способов улучшить качество прогноза — считать отдельные прогнозы для ключевых сегментов аудитории.
Например, вы можете делать отдельные прогнозы для разных каналов дистрибуции или для разных рынков, на которых представлен ваш бизнес.
Выделение отдельных сегментов имеет смысл тогда, когда динамика прогнозируемого показателя в этих сегментах значительно отличается, либо же они существуют по разным законам (разный уровень конкуренции, разные драйверы роста).
Если не строить прогнозы для отдельных сегментов, то вы можете столкнуться с проблемой, когда динамика метрики когорты будет сильно зависеть от распределения пользователей по сегментам, которое может меняться во времени.
Заложите влияние будущих изменений в продукте и маркетинге на ключевые показатели модели
Если вы строите прогноз на год или больший период времени, то имеет смысл заложить в модель то, как работа команды повлияет на метрики удержания, на монетизацию, на привлечение новых пользователей.
Как именно отражать влияние потенциальных будущих изменений в модели зависит от того, что это за изменения и эффекты какого рода вы ожидаете от них.
В ряде компаний используют практику, когда прогноз строится для базового сценария, в рамках которого предполагается, что никаких значимых изменений не будет. Далее этот прогноз рассматривается как минимальный ожидаемый уровень роста продукта.
Добавьте в модель с прогнозом сезонные эффекты
Скорее всего, на шаге при расчете динамики метрики на основе исторических данных у вас сгладятся или вовсе пропадут сезонные эффекты. При этом сезонность оказывает сильное влияние на многие индустрии, поэтому ее важно грамотно отражать в прогнозе.
Сезонные эффекты можно добавить как на уровне коэффициентов для итогового значения метрики для всего бизнеса (коэффициенты для конкретных месяцев в году), так и на уровне динамики конкретных когорт.
Второй вариант дает более точный результат, но более затратен в реализации. Первый вариант проще, но в ряде случаев может достаточно плохо отражать влияние сезонных эффектов (особенно в период бурного роста продукта).
Постройте на основе прогноза динамику других метрик, характеризующих ваш бизнес
Часто после построения прогноза дохода и других ключевых высокоуровневых метрик вашего бизнеса, вы можете легко построить прогнозируемый P&L или любые другие отчеты.
Например, так вы можете оценить будущие денежные потоки вашей компании и понять, сколько денег в следующем году вы готовы инвестировать в новые экспериментальные направления.
Подводные камни при использовании описанного метода прогнозирования дохода и аудитории
Проблемы прогнозирования для приложений с сильным долгосрочным Retention
Если вы работаете над приложением со стабильным долгосрочным Retention и в качестве уникального идентификатора пользователя в аналитике используете определенный device_id (характеристику устройства), то вы столкнетесь с достаточно необычной проблемой.
Люди меняют телефоны с частотой раз в год-полтора. Если взять конкретного пользователя, который это сделал, то в момент смены телефона с ним произойдет следующее: Активность со старого device_id пропадет, что отразится в данных как снижение Retention. Если пользователь поставит продукт на новом устройстве, то появится новый пользователь с новым device_id, что отразится в данных как рост новых пользователей.
Это может показаться незначительной проблемой, но подобный процесс будет оказывать сильное влияние на итоговую точность прогноза для продуктов с хорошим долгосрочным Retention на горизонте нескольких лет.
Данная проблема решается использованием в качестве уникального идентификатора аккаунта пользователя, в который он будет логиниться в том числе с нового девайса. Также можно использовать более изощренные способы определения пользователей на основе адреса или других данных.
Некоторые сервисы используют необычный подход и формируют когорты на основе момента первой покупки пользователей и дальше на уровне прогнозирования работают только с покупателями, а не просто пользователями. Все происходящее до момента первой покупки пользователя в данном случае можно рассматривать как часть маркетинговой воронки.
Например, такой подход используют Slack. Это стало понятно, когда они опубликовали свои данные перед выходом на IPO. Подробнее про Slack и их бизнес-модель можно прочитать здесь, здесь и здесь.
Ваш прогноз не учитывает того, чего нет в исторических данных
При построении прогноза мы использовали исторические данные, поэтому, по сути, мы получили прогноз того, что будет происходить, если все будет так же, как было раньше.
Но жизнь и мир могут быстро меняться, и такие эффекты данный метод прогнозирования учитывать не умеет. Но при этом подобная модель для прогнозирования дает вам все инструменты, чтобы провести разного рода стресс-тесты для вашего продукта и оценить их влияние на высокоуровневые и другие показатели бизнеса.
Например, вы можете рассмотреть сценарий, где к вам приходит в пять раз больше новых пользователей, чтобы оценить масштаб роста активной аудитории и понимать, сколько нужно будет серверов, чтобы выдержать соответствующую нагрузку.
Вы должны глубоко понимать модель продукта для построения качественного прогноза ключевых показателей
Описанный подход к прогнозированию достаточно универсальный. Он работает с любыми метриками и практически с любыми продуктами и бизнесами. При этом качество прогноза преимущественно зависит от того, насколько хорошо вы понимаете ваш продукт, его модель роста, внутреннюю динамику каналов дистрибуции и рынка.
Важно также понимать, что прогнозирование является инструментом для изучения вашего продукта, поиска рычагов влияния на целевые показатели, проверки крайних сценариев. Хорошая модель позволит оценить влияние разных потенциальных проектов и векторов развития на топлайн-метрики вашего бизнеса.
Если вы хотите глубже разобраться в том, как создаются, развиваются и масштабируются продукты, пройдите обучение в симуляторах GoPractice.
→ «Симулятор управления ростом продукта» поможет найти пути управляемого роста и масштабирования продукта. Вы построите модель роста и составите стратегию развития продукта (путь от 1 к N).