Site icon AppTractor

9 способов повысить точность прогноза дохода

И аналитики, и маркетологи, вне зависимости от сферы, в которой они работают, регулярно решают одну и ту же задачу: прогнозирование дохода. Просто формулируется задача, бывает, по-разному: “сколько мы заработаем к концу года?”, “что принесёт нам больше денег, фича 1 или фича 2?”, “стоит ли нам выходить на этот рынок?” и так далее.

В этой статье Василий Сабиров, главный аналитик devtodev, собрал 9 советов, которые помогут вам повысить точность прогноза дохода.

Совет 1. Используйте временные ряды.

Трудно (а чаще всего попросту невозможно!) предсказать будущий доход, не зная дохода за прошлые временные периоды. Поэтому чаще всего у вас есть данные о том, как доход, который вы предсказываете, вёл себя в прошлом. А значит, вы имеете дело с временными рядами.

И здесь есть несколько методов, на которых хотелось бы остановиться:

Тренды и сезонность

Вообще, про них мы уже писали отдельный лонгрид. А сейчас я хочу дополнить несколькими практическими советами:

Будьте осторожны с полиномиальными трендами. Они хорошо (иногда лучше всех других методов) повторяют имеющиеся данные. Но когда дело доходит до прогноза — их штормит. В зависимости от степени полинома, хвост графика (собственно, прогноз) может загибаться в ту или иную сторону. И чем выше степень, тем выше гибкость графика и вероятность того, что он загнётся не туда.

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

Разбивайте временной ряд на отрезки. У всего есть жизненный цикл, и у онлайн-проектов тоже. Соответственно, будет опрометчиво делать прогноз, выстраивая линейный тренд на всех данных с самого начала жизни проекта: слишком много всего уже успело в нем измениться. Будет лучше выделить на графике несколько этапов, понять причины перехода из одного этапа в другой, а прогноз сделать в первую очередь на основании данных по последнему этапу. Помните себя на интервале 5-10 лет назад? Далеко не каждый из вас тогда мог представить себя образца 2017 года. И пусть это будет иллюстрацией необходимости разбиения временного ряда на отрезки.

Пример прогноза с применением тренда и сезонности

Авторегрессия

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

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

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

ARMA и ARIMA

Эти модели являются развитием модели авторегрессии. Собственно, авторегрессия входит в них, и “AR” в их названиях обозначает как раз её. А “MA” обозначает скользящее среднее (moving average), и это говорит нам о том, что данные модели ещё глубже проникают в данные, лучше распознавая их внутренние закономерности.

В Excel реализовать их уже не так просто (хотя уже есть соответствующие надстройки), но по-прежнему возможно. Лучше всего, конечно, воспользоваться статистическими инструментами. Я бы рекомендовал SPSS или Statistica, но моя рекомендация базируется не более чем на опыте личного использования.

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

Пример реализации модели ARIMA в пакете Statistica

Совет 2. Не забывайте о регрессионных моделях.

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

Существует несколько способов посчитать доход. Например, доход — это аудитория, умноженная на ARPU (доход с пользователя). Аудитория — количественная метрика, она говорит о масштабе проекта, на неё сильно влияет трафик. А доход с пользователя — метрика качественная, говорящая о том, насколько ваши пользователи готовы платить. И эти метрики можно и нужно рассматривать и прогнозировать отдельно: они ведут себя по-разному, на них влияют разные факторы.

Похожие рассуждения можно проделать, рассмотрев и другую формулу дохода: платящие пользователи, умноженные на доход с платящего (ARPPU). Да и вообще, теоретически можно “скормить” регрессионной модели все имеющиеся у вас метрики, пускай сама всё считает и находит закономерности.

Пример реализации линейной регрессии на Python

Буквально несколько советов:

 

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

Совет 3. Стройте кастомные модели под свой проект.

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

Вот вам пример модели, которую люблю строить я:

Этого достаточно, чтобы построить модель: вы будете знать, как ваши пользователи “перетекают” из месяца в месяц и сколько они платят. К слову, необязательно месяц: можно год, неделю или теоретически даже день (хотя день я не пробовал, надо признать) — любой значимый для вас период, в зависимости от того, сколько пользователи живут в вашем проекте.

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

Совет 4. Рассчитывайте окупаемость своего трафика.

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

А потому все предыдущие советы будут бесполезны, если вы не знаете, когда и сколько трафика будет влито.

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

Соотношение между накопительным доходом, CPI и LTV

Совет 5. Применяйте экспертное прогнозирование.

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

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

В принципе, возможен даже такой вариант (я его применял, и он давал хорошие результаты). Вы каждый месяц опрашиваете определённую группу коллег, относительно того, чему будет равен доход проекта на следующий месяц. Накопив данные об их оценках и о фактическом доходе за несколько месяцев, вы сможете впоследствии дать их оценкам веса (а некоторые, быть может, и исключить вовсе). К примеру, вы можете заметить, что продюсер всегда даёт завышенный прогноз, а маркетолог, наоборот, слишком скромен в своих оценках. И истина будет где-то посередине, а где именно — покажут те самые веса.

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

Совет 6. Делайте ставки.

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

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

Вам же, как аналитику, эта игра будет полезна, потому что она стимулирует к тому, чтобы разобраться, почему ваш прогноз не сошёлся с реальностью: может быть, вы учли не все факторы?

Совет 7. Анализируйте все изменения.

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

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

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

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

 Допустим, вы делаете прогноз на результат футбольного матча. Сначала вы просто даёте эмоциональную оценку: “Барселона” выиграет у “Реала” со счётом 3-0. “Барселона” почему-то не выигрывает, и вы начинаете анализировать. Прогноз состоит из множества факторов: текущее положение команд в таблице, история их встреч, фактор хозяев поля, травмированные игроки, мотивация в чемпионате и так далее. Со временем ваши прогнозы, основанные на большем количестве факторов, станут пусть немного, но точнее. По сути, вы сами обучаете свою нейросеть: анализируя ошибки и разбирая их подробнее, вы добавляете к прогнозу всё больше факторов и постепенно повышаете его точность.

 

Одно из множества превью к el clasico, матчу “Барселоны” и “Реала”

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

Совет 8. Комбинируйте методы.

Если бы эта статья была тестом, то правильным ответом было бы “всё вышеперечисленное”.

Комбинаций можно придумать очень много, и я не хочу вас ограничивать. Лишь опишу ту комбинацию, которую применяю я, которой я доволен:

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

P.S.

И последним, девятым советом я хочу порекомендовать несколько интересных книг на тему:

Exit mobile version