Введение в прогнозирование LTV мобильных приложений (перевод с англ.)

Как и обещал продолжаю цикл постов про моделирование и прогнозирование LTV. Так как тема большая, способов прогнозирования несколько (и часть из них требует дата-аналитического бэкграунда и инструментария), то буду описывать ее «методом салями» — по небольшим кусочкам и постепенно разбавляя постами на другие темы. Поэтому продолжаем ее переводом статьи маркетолога Гейба Квакьи (Gabe Kwakyi) «Intro to Forecasting Lifetime Value for Mobile Apps» от июля 2018 года. Мне она показалась довольно насыщенной и хорошей в качестве точки для погружения в тему моделирования LTV. Перевод с моими комментариями ниже. Также я постарался сохранить по возможности оригинальные ссылки на полезные ресурсы из статьи и частично дополнил их своими.

Что такое LTV?
LTV, или пожизненная ценность пользователя, — это очень информативная метрика, цель которой — дать лицам, принимающим решения, представление о денежной ценности нового пользователя. Более того, при использовании модели прогнозирования, LTV можно рассчитать для некоторого момента в будущем, используя текущие данные. В простейшей форме LTV рассчитывается как денежный вклад, который средний пользователь будет генерировать в течение своей пользовательской жизни.

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

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

Когда дело доходит до моделирования LTV, можно использовать несколько обобщенных подходов.

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

Второй и наиболее точный подход к моделированию LTV — вероятностный подход. Создавать вероятностные модели может быть сложно, поскольку они требуют более глубокого понимания статистики, особенно нюансов между различными распределениями вероятностей (например, распределением Пуассона, экспоненциальным и гамма-распределением). В вероятностном подходе тип отношений бизнеса со своими пользователями (т. е. договорные или недоговорные) сочетается с используемым типом данных (т. е. дискретным или непрерывным), и исходя из этого может быть выбрана соответствующая модель. Преимущество вероятностных моделей заключается в том, что они могут исследовать поведение и взаимодействие на уровне отдельного пользователя и, таким образом, создать модель потребительской ценности (consumer-lifetime-value; CLV) , которую можно агрегировать в модель LTV.

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

Построение модели LTV.
Метод, на котором мы сосредоточимся в этом посте, — это подход, основанный на регрессии, впервые представленный мне в презентации Эрика Сюферта «Два метода моделирования LTV с помощью электронной таблицы» (Eric Seufert, "Two Methods for Modeling LTV with a Spreadsheet") (это произошло в 2013 году в Хельсинки, где независимый аналитик Эрик Бенжамин Сюферт представил исчерпывающую модель регрессивного прогнозирования, которую пересказывает не только Квакьи, но и почти все в Рунете. Она состоит собственно из презентации — посмотреть можно тут, и из эксель-файла, в котором представлены данные и формулы — скачать можно тут. Но будьте осторожны — там 100К+ строчек данных и файл весит прилично — прим. автора перевода). В ней он разбивает LTV на две составляющие:

1) Срок службы = удержание.

2) Ценность = монетизация.

Затем он использует регрессионный подход для прогнозирования продолжительности жизни и называет его «подходом удержания», при котором LTV рассчитывается следующим образом:

LTV = ARPDAU * User-Days

При этом ARPDAU — это средний доход на одного активного пользователя в день, а «User-Days» — это количество дней, в течение которых средний пользователь будет активен в то время, которое мы хотим прогнозировать (формула Сюферта очень похожа на примитивный подход для расчета: LTV = ARPU * Lifetime, который критиковал Олег Якубенков. Его статью мы разбирали в нашем TG канале. Вероятно, в том числе и после пересказов Сюферта формула LTV = ARPU * Lifetime стала популярна в Рунете - прим. автора перевода). Используя смоделированные данные ARPDAU (средний доход на одного активного пользователя в день), мы задаем себе вопрос: для пользователей, привлеченных в определенный период времени и в определенном сегменте, какова будет их пожизненная ценность на какую-то дату в будущем, например, через 21 или 30 дней после установки?

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

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

Построение модели.
Как упоминалось ранее, мы построили нашу кривую удержания, рассчитав показатель удержания на каждый день после установки. Затем, исходя из предположения, что степенная функция (y = a * x^b) лучше всего описывает данные об удержании и с «днями после установки» для всех доступных «x» и «коэффициентом удержания» для всех доступных «y» мы высчитали параметры a и b с помощью следующих функций в Excel:

"a" = EXP(INDEX(LINEST(LN(все доступные значения x),LN(все доступные значения y)),2))

"b" = INDEX(LINEST(LN(все доступные значения x),LN(все доступные значения y)),1)

Используя все наши доступные исторические данные, мы можем оценить параметры «a» и «b», что дает нам модель: y = 0,6 * (x) ^-0,4, где x = количество дней после установки, на которое мы хотим составить прогноз.

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

Визуализация модели.
В этом посте мы не будем слишком глубоко погружаться в тему R-квадрата, но это один из часто используемых способов оценки того, насколько хорошо модель соответствует данным. Для начала мы использовали все доступные данные и нанесли на график фактический и прогнозируемый коэффициенты удержания. Затем, используя функцию линии тренда в Excel, мы обнаружили, что степенная функция имеет R-квадрат 98,33%, как видно на графике 1. Это указывает на то, что менее двух процентов изменений не объясняется нашей моделью. Но что происходит, когда мы не используем все доступные данные, и как это повлияет на точность моделей?

График 1 Кривая удержания пользователей.
График 1 Кривая удержания пользователей.

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

Как показано на графике 2, мы начали с обучения модели, используя данные об удержании за первые 7 дней, а затем спрогнозировали количество пользовательских дней, которые у нас будут через 14, 21 и 30 дней после установки.

График 2. Прогнозируемая кривая удержания пользователей.
График 2. Прогнозируемая кривая удержания пользователей.

Как видите, при использовании исторических данных за первые 7 дней разница между фактическими и прогнозируемыми пользовательскими днями незначительна. Здесь важно отметить, что значение, которое мы используем в нашем уравнении LTV — это количество пользовательских дней (интеграл для прогнозируемого периода), а не сам коэффициент удержания.
Затем мы использовали данные за 14 дней для обучения модели и прогнозирования числа пользователей на 21 и 30 дней после установки, как показано на графике 3.

График 3. Прогнозируемая кривая удержания обученных пользователей.
График 3. Прогнозируемая кривая удержания обученных пользователей.

Обучение модели с дополнительными семидневными данными действительно привело к меньшей разнице между фактическими и предсказанными значениями как для 21-дневного, так и для 30-дневного прогнозов.
Используя 0,15 доллара США в качестве смоделированных данных скользящего ARPDAU и наше уравнение LTV (LTV = ARPDAU * User-Days), мы можем провести такое же сравнение, но с точки зрения LTV, как показано в таблице 1.

Таблица 1. Прогноз LTV пользователя на 21 и 30 дней.
Таблица 1. Прогноз LTV пользователя на 21 и 30 дней.

Когда мы смотрим на разницу между прогнозируемым и фактическим значениями LTV, мы видим, что разрыв между прогнозом и фактическим положением вещей меньше для 21-дневного прогноза, чем для 30-дневного прогноза. Это подчеркивает общеизвестное ограничение прогнозирования: ваши краткосрочные прогнозы будут более точными, чем долгосрочные. На это есть несколько причин, и мы расскажем о них в следующих постах. А пока просто имейте в виду, что чем дальше ваши прогнозы, тем менее точными они будут.

График 4. Прогноз LTV пользователя.
График 4. Прогноз LTV пользователя.

Используя все доступные данные об удержании для обучения нашей модели и нашего уравнения LTV, мы создаем кривую LTV и делаем прогнозы для 60, 90, 180 и 360 дней после установки (график 4). Как бы ни было заманчиво восхищаться нашей способностью создавать хрустальный шар из электронной таблицы и принимать всевозможные решения на основе наших предсказаний, мы должны иметь в виду, что эта базовая модель предполагает, что ARPDAU (0,15 доллара США) является постоянным.

Опять же, прогнозы обычно теряют свою точность на более далекой перспективе. Помня об этом, можно гарантировать, что мы не будем принимать решения, основанные, во-первых, на менее точных данных, но, что более важно, это мотивирует нас продолжать поиск способов повышения точности прогнозной аналитики. Хотя существуют дополнительные методы, которые могут помочь повысить точность вводных данных ARPDAU в долгосрочной перспективе, мы предположили, что постоянный ARPDAU составляет 0,15 доллара США просто как часть сегодняшнего введения в LTV.

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


Выводы.

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

1) Проверка регрессии (кое-что по теме можно почитать, например, тут - прим. автора перевода).

3) Размер выборки («Сколько данных я должен использовать?»).

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

...

Послесловие от автора перевода.

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

11
Начать дискуссию