Всем привет, меня зовут Кай.
Многие друзья после прочтения оставили сообщение в надежде опубликовать научно-популярный пост о расчете и оценке 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 Самая прямая формула расчета
Тогда мы получим простейшую формулу расчета:
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
Следующая формула расчета:
Примечание. В качестве новой даты для этой группы пользователей используется 0-й день (в соответствии с большинством текущих сторонних платформ анализа данных).
Как понять?
>> LTV = 1*день 1 апрель + уровень удержания 1 дня*день 1 апрель+…
Приведенная выше формула предназначена для расчета количества удержанных пользователей * удержанных пользователей в последующие дни среди новых пользователей, добавленных в определенный день.arpu
(то есть доход, вносимый каждый день) суммируется.
Оглядываясь назад на концепцию удержания, мы видим, что приведенная выше формула эквивалентна:
Если мы можем предсказать продолжение на основе исторических данных留存率
и соответствующую дату храненияarpu
, то можно оценитьLTV
.
Например: мы получили оценочные данные по коэффициенту удержания и arpu, подогнав их по историческим данным следующим образом.
Следующие части площади являются значениями LTV:
>> LTV = LT * apru
Осторожно, вы можете обнаружить, что если предположить,apru
является постоянным значением (это предпосылка), то...
Тем не менее согласно определению LTV, предполагая, что arpu является постоянной величиной, тогдаLTV = LT * apru
. А LT — это жизненный цикл пользователя, то есть общий жизненный цикл всех пользователей/общее количество пользователей, поэтому формула расчета LT выглядит следующим образом:
Также по концепции удержания вышеприведенная формула эквивалентна:
можно увидеть,LT равен сумме 1 + коэффициент удержания в последующем., если есть модель оценки коэффициента удержания, можно получить оценочное значение LTV.
Например: на основе案例数据01
, мы можем получитьLT, то есть сумма всех коэффициентов удержания (включая 100% первого дня)
Следующая область является значением 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
Операционные процедуры:
- Постройте исторический N-day-LTV в виде графика
- Щелкните правой кнопкой мыши выбранную кривую -> добавить линию тренда
- Выберите подходящую модель в опции линии тренда (мощность я выбрал здесь, вы можете сравнить логарифм, экспоненту и т. д.)
- Прогноз тренда можно продвигать вперед и назад, и вы можете выбрать продвижение вперед
После вышеуказанных шагов мы можем получить функцию подбора, мы можем видетьR²= 0,9999, очень близко к 1, соответствие очень высокое. (Я подозреваю, что эти данные генерируются таким образом)
Сравниваем результаты подгонки :(Если вы хотите узнать данные прогноза LTV на N-й день, вы можете напрямую применить формулу функции подбора.)
Рассчитываем по формуле функции подгонки120日-LTV = 15.387*120^0.6632 = 368.19
.
>> Расчетный коэффициент удержания и значение apru для расчета LTV
Здесь мы представляемLT*arpuПроцесс операции:
- Подгонка формулы функции удержания к существующим данным удержания
- Затем найти площадь этой функции LT (определенный интеграл)
- Среднее значение на основе существующего ARPU
- Произведение последних двух — расчетный LTV.
вернуться к части 2案例数据01
, мы используем функцию линии тренда Excel, чтобы найти подходящую функцию следующим образом:
Мы сравниваем результаты подгонки следующим образом:
Согласно логике расчета, разъясненной ранее,LT = 1 + 后续留存率求和
, вы можете обратиться двумя способами:
- Найдите определенный интеграл формулы подобранной функции
- Найдите все подходящие результаты и просуммируйте их.
Для arpu первых 10 дней мы берем среднее значение 15,17, а результаты 120-day LTV следующие:
120日LTV = (1+25.35) * 15.17 = 399.73
Расчет определенного интеграла онлайн
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)
>> Расчетный коэффициент удержания и значение 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)
рассчитать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 есть определенные различия. Однако это все-таки прогноз, поэтому он только для справки. Последующие прогнозы можно исправить, заменив входные данные после ежедневных обновлений источника данных.
В процессе реальной эксплуатации могут встречаться некоторые аномальные моменты.В это время выборочное отбрасывание выбросов может лучше скорректировать прогноз.Если вам интересно, вы можете добавить друзей автора для общения!