Расчет и оценка LTV при анализе данных

анализ данных

Всем привет, меня зовут Кай.

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

Учитывая, что некоторые студенты более привыкли к использованию Excel, сегодня мы рассмотрим расчет и оценку LTV с использованием Excel и Python соответственно.

1. Узнайте LTV

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

иLTVЧасто встречаются такжеCAC(Customer Acquisition Cost)стоимость привлечения пользователяа такжеROI(Return On Investment)рентабельность инвестиций.

вCACЭто относится к стоимости, необходимой для того, чтобы продукт приобрел одного пользователя.Мы представили общие показатели данных рекламы в " "CP*какCPA,CPMДругие методы выставления счетов могут быть преобразованы в затраты на привлечение одного пользователя.

иROI = LTV / CAC:еслиROI>1, мы можем понять, что стоимость приобретения была возмещена; отрасль обычно считает, чтоROI≥3, потенциал бесконечен, а еслиROI<1, плакать! !

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

Да, мой друг прав. Итак, здесь мы снова представимPBP(Payback Period)цикл окупаемостииДень N – LTV(LTV за N дней).

оN日-LTV, который относится к общему доходу, который каждый новый пользователь вносит в продукт в среднем за N дней.

оPBP, то есть когдаN日-LTV / CACКогда >=1, значение N означает, что стоимость приобретения возмещается на N-й день.

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

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

Основываясь на приведенных выше концепциях, мы подробно представим далееМатематическая логика LTV,Рассчитайте N-day-LTV, используя исторические данныеа такжеОцените LTV, используя исторические данные.

2. Математическая логика LTV

Давайте еще раз посмотрим на концепцию:LTV(Life Time Value) пожизненная ценность, это,Средний общий доход, внесенный каждым пользователем в продукт с начала использования до конца использования продукта..

2.1 Самая прямая формула расчета

Тогда мы получим простейшую формулу расчета:

LTV=добавить пользователя вLTобщий доход, внесенный в течениеКоличество новых пользователейLTV=\frac{Общий доход от новых пользователей в LT}{Количество новых пользователей}

LT(Life Time) — время жизни пользователя, если мы хотим вычислитьN日-LTV, затем напрямую измените LT в формуле на N дней.

Например, если в определенный день добавляется 100 новых пользователей, и в первый день они пополняют счет на 200 юаней, то首日-LTV = 200/100 = 2元; пополнить 300 юаней на второй день, затем2日-LTV = (200+300) / 100 = 5元, и так далее...

Эта формула часто используется для точного расчета N-day-LTV с использованием известных исторических данных.

2.2 Формула расчета LTV

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

LTV=i=0NпервоеiЕжедневное удержание пользователей*первоеiежедневное удержание пользователейarpuКоличество новых пользователейLTV=\sum_{i=0}^{N}\frac{Пользователи, удержанные в день i * ARPU удержанных пользователей в день i}{Количество новых пользователей}

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

Как понять?

>> LTV = 1*день 1 апрель + уровень удержания 1 дня*день 1 апрель+…

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

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

LTV=i=0Nпервоеiежедневный коэффициент удержания*первоеiежедневное удержание пользователейarpuLTV=\sum_{i=0}^{N} Коэффициент удержания в i-й день * ARPU удержанных пользователей в i-й день

Если мы можем предсказать продолжение на основе исторических данных留存率и соответствующую дату храненияarpu, то можно оценитьLTV.

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

案例数据01

Следующие части площади являются значениями LTV:

图1:计算每日留存用户付费总额求LTV

>> LTV = LT * apru

Осторожно, вы можете обнаружить, что если предположить,apruявляется постоянным значением (это предпосылка), то...

Тем не менее согласно определению LTV, предполагая, что arpu является постоянной величиной, тогдаLTV = LT * apru. А LT — это жизненный цикл пользователя, то есть общий жизненный цикл всех пользователей/общее количество пользователей, поэтому формула расчета LT выглядит следующим образом:

LT=i=0NпервоеiЕжедневное удержание пользователейКоличество новых пользователейLT=\frac{\sum_{i=0}^{N}Количество удержанных пользователей в i-й день}{Количество новых пользователей}

Также по концепции удержания вышеприведенная формула эквивалентна:

LT=1+i=1Nпервоеiежедневный коэффициент удержанияLT=1 + \sum_{i=1}^{N} Коэффициент удержания в день i

можно увидеть,LT равен сумме 1 + коэффициент удержания в последующем., если есть модель оценки коэффициента удержания, можно получить оценочное значение LTV.

Например: на основе案例数据01, мы можем получитьLT, то есть сумма всех коэффициентов удержания (включая 100% первого дня)

Следующая область является значением LT:

图2:计算留存率求LT

Тогда предполагаемыйarpu- среднее значение исторических данных, тогдаLTV = LT*arpu.

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

Вообще говоря,Мы напрямую рассчитываем постоянное значение arpu на основе исторических данных и используем метод LT*arpu для расчета значения LTV..

Далее давайте посмотрим, как использовать Excel и Python для оценки коэффициента удержания и расчета значения LTV соответственно!

3. Рассчитайте и оцените LTV

В этом разделе мы используем инструменты Excel и Python, которые вы можете выбрать в соответствии со своими предпочтениями.

Примечание. Все исходные данные, использованные в расчетах в этом разделе, приведены в Части 2.案例数据01Исходные данные первых 10 дней

3.1 Расчет в Excel и оценка LTV

>> Рассчитайте и оцените x-day-LTV напрямую, используя исторический LTV

Операционные процедуры:

  1. Постройте исторический N-day-LTV в виде графика
  2. Щелкните правой кнопкой мыши выбранную кривую -> добавить линию тренда
  3. Выберите подходящую модель в опции линии тренда (мощность я выбрал здесь, вы можете сравнить логарифм, экспоненту и т. д.)
  4. Прогноз тренда можно продвигать вперед и назад, и вы можете выбрать продвижение вперед

图3:操作流程

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

图4:通过现有历史LTV计算和预估x日-LTV

Сравниваем результаты подгонки :(Если вы хотите узнать данные прогноза LTV на N-й день, вы можете напрямую применить формулу функции подбора.)

图5:拟合与现有数据结果

Рассчитываем по формуле функции подгонки120日-LTV = 15.387*120^0.6632 = 368.19.

>> Расчетный коэффициент удержания и значение apru для расчета LTV

Здесь мы представляемLT*arpuПроцесс операции:

  1. Подгонка формулы функции удержания к существующим данным удержания
  2. Затем найти площадь этой функции LT (определенный интеграл)
  3. Среднее значение на основе существующего ARPU
  4. Произведение последних двух — расчетный LTV.

вернуться к части 2案例数据01, мы используем функцию линии тренда Excel, чтобы найти подходящую функцию следующим образом:

图6:拟合留存率函数公式

Мы сравниваем результаты подгонки следующим образом:

图7:拟合与实际结果对比

Согласно логике расчета, разъясненной ранее,LT = 1 + 后续留存率求和, вы можете обратиться двумя способами:

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

图8:在线定积分计算

Для arpu первых 10 дней мы берем среднее значение 15,17, а результаты 120-day LTV следующие:

120日LTV = (1+25.35) * 15.17 = 399.73

Расчет определенного интеграла онлайн

this.number Empire.com/definite int…

3.2. Расчет Python и оценка LTV

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

>> Рассчитайте и оцените x-day-LTV напрямую, используя исторический LTV

Также используйте часть 2案例数据01, выполнить силовую посадку. Подгоночная функция может быть получена какLTV = 15.273*x^0.6675, что очень близко к результату подгонки Excel, а последующая логика вычислений такая же.

from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import numpy as np

# 定义幂拟合函数, y = a * x^b 
def target_func(x, a, b):
    return a * (x ** b)
# 基础数据(前10天数据)
xdata = df.天数.to_list()
ydata = df.LTV.to_list()
# 绘制原始数据(蓝色)
plt.figure(figsize=(10, 6.5)) 
plt.plot(xdata,ydata,'b-')
# 求拟合函数的参数
popt, pcov = curve_fit(target_func, xdata, ydata)
# popt数组中,三个值分别是待求参数a,b
x2data = range(1,121)
y2 = [target_func(i, popt[0],popt[1]) for i in x2data]
# 将120日的LTV值显示出来
plt.text(x2data[119], y2[119], round(y2[119],2), ha='right', va='bottom', fontsize=16)
plt.plot(x2data,y2,'r--')
print(popt)

图9:python幂拟合结果-LTV

>> Расчетный коэффициент удержания и значение apru для расчета LTV

Тот же логический расчет сохраняет функцию подгонки и делает кривую следующим образом, функцию подгонки можно получить как0.5927*x^(-0.2760), и результаты подгонки Excel также очень близки. (Следует отметить, что сохраненная посадка будет отсчитываться от удержания на следующий день)

# 定义幂拟合函数, y = a * x^b 
def target_func(x, a, b):
    return a * (x ** b)

xdata = df.天数.to_list()[:9]
ydata = df.留存率.to_list()[1:]
# 绘制原始数据(蓝色)
plt.figure(figsize=(10, 6.5)) 
plt.plot(xdata,ydata,'b-')
popt, pcov = curve_fit(target_func, xdata, ydata)
#popt数组中,三个值分别是待求参数a,b
x2data = range(1,120)
y2 = [target_func(i, popt[0],popt[1]) for i in x2data]
plt.plot(x2data,y2,'r--')
print(popt)

图10:python幂拟合-留存

рассчитатьLTV =LT * arpu:

from sympy import *

x = symbols('x')
# 计算定积分
sum_R = integrate(popt[0] * (x**popt[1]), (x, 1, 119))
# 计算LTV
LTV = (1+sum_R)*15.17
print(LTV)
397.884700260928

4. Дополнение

Что касается расчета LTV, в дополнение к вышеизложенномуИспользуйте исторический N-day-LTV для подходящего прогнозаКроме того, вы также можете использоватьLT*arpu для подходящего прогнозаВ форме мы также можем развернуть группу пользователей до формы платных пользователей.付费用户的LT*arppuЧтобы разобраться, процесс работы в основном такой же, и здесь он не будет расширяться.

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

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