{ "author_name": "Konstantin Panphilov", "author_type": "self", "tags": ["\u043a\u0435\u0439\u0441\u044b"], "comments": 18, "likes": 23, "favorites": 53, "is_advertisement": false, "section_name": "default", "id": "16024", "is_wide": "1" }
Konstantin Panphilov
14 477

Как спрогнозировать годовую выручку от группы пользователей при помощи Excel

Метод Алексея Куличевского

Поделиться

В избранное

В избранном

Международный маркетинговый аналитик Gett Алексей Куличевский опубликовал в своём блоге на Medium статью о том, как спрогнозировать годовую выручку когорты по первому месяцу её существования. Редакция vc.ru публикует материал с разрешения автора.

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

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

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

Вам понадобятся:

  • Excel (Google-таблицы тоже подойдут, но там немного другой интерфейс);
  • исторические данные о продажах (на них будем обучать модель).

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

Итак, начнем.

Шаг 1: достаньте данные

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

Позже попросите программиста выгрузить ваши данные в таком же формате. Покажите этот файл как пример.

Шаг 2: посчитайте выручку на каждого пользователя

Когорты, в которых больше людей, скорее всего, принесут больше денег просто потому, что там больше людей. Единственный вывод, который вы сделаете из модели: «нужно больше покупателей». Не очень полезно. Вместо этого спрогнозируем среднюю выручку с покупателя. Для этого поделим итоговую выручку с когорты на количество людей.

Шаг 3: постройте график

Начинается самое интересное. Чтобы построить модель, нужно понять, как взаимосвязаны данные. Для этого построим scatter plot (такие графики мы все в школе строили).

Каждая точка на графике  — одна когорта. По оси X  —  выручка за месяц. По оси Y —  выручка за год.

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

Вопрос в том, насколько больше?

Шаг 4: строим модель

Мы всего в паре шагов от победы. Добавьте на график линию тренда. И не забудьте вывести на экран формулу графика.

Получившаяся формула  —  и есть нужная нам модель. Напомню, что Y  —  LTV за год, а X —  LTV за первый месяц. То есть:

LTV за год = 4.67 * LTV за месяц — 0,72

«Леша, ты хочешь сказать, что можно вот так вот спрогнозировать выручку за год с помощью сложения и умножения? Не может быть!»

Именно так. Но мы еще не закончили. Остался последний шаг.

Шаг 5: оцениваем точность модели

Под формулой есть показатель R^2. Он показывает, насколько хорошо модель описывает имеющиеся данные. 0,93 означает «чертовски хорошо описывает».

Но нам гораздо интересней знать, с какой точностью модель прогнозирует будущее.

Скажу сразу, моделей со 100% точностью не бывает. Вообще.

Чтобы оценить точность модели, разделим имеющиеся данные на 2 группы: обучающую и тестовую.

Обучающую группу пометим нулем, тестовую  —  единицей.

На основе обучающей группы построим модель: добавим график с линей тренда и получим формулу.

Формула немного изменилась. Это нормально.

LTV за год = 5 * LTV за месяц  —  1.72

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

На графике голубая линия  —  реальный LTV каждой когорты, а оранжевая  —  прогноз, результат работы модели. Смотрите, как они близко.

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

***

Вернемся к тому, зачем мы все это делали.

Напомню, что вам нужно принять решение, продолжать ли рекламную кампанию.

Допустим, что за месяц вы потратили $10 тысяч и привлекли 600 новых пользователей. Эти пользователи за месяц принесли $2400 выручки.

Стоимость одного пользователя = $10000/600 = $16,7

LTV за первый месяц = $2400/600 = $4

Подставим значения в модель:

LTV за год = 5 * $4  —  1,72 = $18,28

Прогнозный ROMI = $18,28/$16,17 = 113%.

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

P. S. Естественно, периоды 30 и 365 дней можно менять на любые другие. Я, например, часто прогнозирую первый месяц по первому дню.

#Кейсы

{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } } ]