Простота и точность: как спрогнозировать LTV для игр, если вы не Data Scientist

Статьи
26.10.2020

Хэн Карни, Data Science Director в Plarium Herzliya

Оригинал статьи доступен на английском.

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

Существует немало способов расчета этого показателя для продукта, в частности для игрового: начиная от рассмотрения сегментов игроков, т. е. совокупности их основных признаков (география, платформа, источник привлечения и т. д.) до расчета такого показателя по каждому отдельному игроку. Выбранный способ также влияет на уровень сложности и точности прогноза. С точки зрения сегментов можно прибегнуть к математическому расчету и получить показатель, отвечающий среднему доходу от среднестатистического игрока в данном сегменте. Если брать игры с механизмами монетизации, то нужно умножить средний платеж на количество платежей, которые игрок совершит за всё время до его ухода из игры (для получения более подробной информации ознакомьтесь с моделью «Buy Till You Die», разработанной в 1987 г.).

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

Несомненно, прогнозирование с помощью машинного обучения – это гораздо более точный метод, чем любой высокоуровневый расчет. Оно позволяет проводить различие между типами игроков и выявлять тенденции в их манере игры, которые затем можно использовать для оценки других аспектов. Можно определить, как долго пользователи будут играть в игру, насколько хорошо они в ней разберутся, сколько времени и усилий они потратят на накопление своих внутриигровых ресурсов, а также как новые версии, функциональности и игровые пакеты повлияют на всё вышеуказанное. Тем не менее такие модели требуют слишком много времени и ресурсов на разработку (огромный объем данных и мощное оборудование для их обработки) и, конечно же, специалиста, который знает, как связать все эти данные в прогноз.

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

В этой статье хотелось бы остановиться на высокоуровневом посегментном расчете LTV, который относительно просто выполнить, например, с помощью логарифмической регрессии.

Что нужно для расчета LTV в сегменте?

Жизненный цикл. Необходимо определить время, которое игрок проведет в игре, а для этого нужно понять его активность и объективный срок, во время которого будут происходить платежи вплоть до ухода игрока. Условно назовем это «жизненным циклом» игрока. В зависимости от игры, он может составлять неделю, месяц или даже несколько лет.

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

Таким образом, необходимо сфокусироваться на промежутке времени, который лучше всего покажет доход, точнее, большую часть дохода. На каком этапе разработчик получит примерно 85 % дохода? Это и предстоит выяснить.

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

Если в наличии есть данные за 5–6 месяцев и больше, еженедельной или ежемесячной гранулярности будет достаточно (в зависимости от изменчивости вложений игрока). Если есть данные за меньший период, лучше остановиться на ежедневной или еженедельной гранулярности.

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

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

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

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

График, который показывает прогноз LTV на 180 дней исходя из первых 60 дней

 

Хотя первые 60 дней ARPU (средний доход на пользователя) основаны на реальных данных, остальные 120 дней основаны на натуральном логарифмическом уравнении ln(x), которое получено на основе реальных данных.

Порядок выполнения расчета 

Первый этап. Необходимо взять данные, на основе которых будет проводиться расчет. Это можеть быть ARPU или ROAS (окупаемость расходов на рекламу). Затем нужно выбрать гранулярность расчета (ежедневная/еженедельная/ежемесячная) и разбить ее по когортам. Если брать 3 месяца ежедневных данных, то в итоге получим 90 столбцов ARPU (D0 ARPU, D1 ARPU, …, D90 ARPU) и 90 строк (за каждый день).

Приведем пример ежедневных данных об ARPU:

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

Третий этап. Нужно удалить 3–5 верхних и 3–5 нижних дат с максимальными и минимальными значениями. Так мы исключим 5 % верхних и 5 % нижних выпадающих показателей, которые могут исказить среднюю тенденцию.

Четвертый этап. Выполним расчет по логарифмическому уравнению с конкретными днями из наших данных. Это можно сделать с помощью Excel, R, Python (особенно подойдут инструменты matplotlib.pyplot и scipy.optimize curve_fit) или любой программы для статистического анализа (например, SPSS или MATLAB) в зависимости от ваших предпочтений.

Независимо от выбранного способа, регрессия предусматривает следующую формулу:

где:

x – количество дней, например x = 3 для 3-го дня ARPU;
y – итоговый ARPU за конкретный день x, например результат уравнения за 61-й день.

Исходя из данных выше была выведена следующая логарифмическая формула:

Таким образом, вышеприведенную формулу можно использовать для прогнозирования ARPU за 60+ дней. Мы будем использовать вычисленное среднее значение за первые 60 дней в качестве реальных данных, а затем продолжим со следующими днями, принимая x за соответствующий день.

Иногда формула будет требовать ручной корректировки. Одним из корректируемых параметров может быть отрезок оси y (параметр b в уравнении выше), чтобы поднять или опустить кривую уравнения для большего соответствия кривой реальных данных. Еще одним параметром может быть момент времени, когда рост дохода начинает снижаться. Если такой момент происходит позже, чем выбранный отрезок времени реальных данных (в примере выше это 60 дней), можно добавить другую формулу, которая позволит лучше прогнозировать доход (например, линейную регрессию).

Остается только поиграть с данными, разделить их на сегменты, выявить отличия и сравнить данные с ценой за установку (CPI), чтобы определить прибыльность игры.

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

А теперь попробуйте выполнить расчеты самостоятельно!