Наглядная математика: как рассчитать ценность пользователя с помощью интегралов

Младший геймдизайнер Nevosoft Руслан Герасим в своем блоге на Medium рассказал, как рассчитать среднее время жизни пользователя в проекте и доход от него за это время.

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

Итак, напомню, что такое LTV (англ. Lifetime Value). Фактически это доход с одного пользователя за время его существования в проекте. Знание LTV позволит оценить окупаемость инвестиций (ROI), определить лучшие каналы трафика и так далее.

Безусловно, время «жизни» в игре у каждого пользователя разное, как и количество внесенных средств, поэтому целесообразно взять среднее время жизни игрока (LT) и средний доход в день (ARPDAU).

Из всего вышесказанного вытекает метод прогнозирования LTV, основанный на знании среднего времени жизни LT и дохода с одного пользователя в день.

Интегральные функции распределения
(функции ухода и удержания)

Рассмотрим некоторую неотрицательную непрерывную случайную величину t, которая является временем до возникновения интересующего нас события, а именно до «смерти» — ухода пользователя. Плотность вероятности этой величины обозначим F (t). Как будет показано позднее, вид этой функции нас не интересует.

Возьмем интегральный закон распределения величины F (t). Данная функция говорит нам о вероятности того, что событие произойдет на промежутке времени [0, T):

a996f14ed3f683.gif

Таким образом, F (t) — функция ухода пользователя. Очевидно, значения этой функции лежат на промежутке от 0 до 1. Чтобы не было сомнений, рассмотрим пример. Будем отсчитывать время жизни проекта с нуля (то есть нулевой день — первый день жизни проекта). Пусть в нулевой день в игру пришло N человек — вероятность ухода пользователя равна 0 (в нулевой день уходов не происходит). В следующий день вероятность пользователя уйти составляет, например, 0,5. Умножая эту вероятность на N, мы получим количество ушедших человек.

Нетрудно догадаться, что функция удержания описывает вероятность события, обратного уходу:

6fd6d353daa198.gif

S (t) — функция удержания, которая получается путем аппроксимации (приближения — прим. ред.) наблюдательных данных Retention — Days степенной функцией (ax^b). В общем случае данная функция называется Survival function (функция выживаемости). Она применяется для прогнозирования исходов в медицине, социологии и так далее.

S (t) — вероятность того, что событие произойдет на промежутке времени [T, +∞), то есть не произойдет на [0, T):

711185a8e282a2.gif

Расчет lifetime

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

09c47df4920241.gif

Заметим, что

fb29e50f4a1d18.gif

Таким образом,

686f1e40c84e01.gif

Интегрируем по частям:

5b42470c7346c1.gif

Вспомним, что вероятность ухода в нулевой день равна F (0) = 0, а в последний день промежутка F (T) = 1 (все пользователи уйдут из проекта):

30b3bcb1ba2a43.gif

Следовательно,

733c2e1d261059.gif

В принципе, этого уже достаточно, чтобы посчитать среднее время жизни пользователя. Но мы привыкли работать не с уходом, а с удержанием (retention):

e08a5e9d4d1544.gif

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

d83f9d646a91fd.gif

Заключение

Остался последний шаг:

17d791f4af6653.gif

Теперь мы знаем, откуда берутся эти функции.

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

Если вы хотите написать материал для рубрики «Рынок игр», рассказать о разработке своей игры или кейсе её роста, присылайте материал на games@vc.ru.

Твитнуть
Поделиться
Поделиться

В избр.

Ком.

©  vc.ru