Pull to refresh

Применяем data science для определения жизненного цикла клиента

Reading time5 min
Views9.7K

Привет, Хабр! Представляю вашему вниманию перевод моей статьи "Understanding the Customer Lifetime Value with Data Science".


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

Есть много маркетинговых статей, о том, как важны LTV и сегментирование клиентов. Но, как Data Scientist’а, меня больше интересуют формулы и я хочу понимать, как модель на самом деле работает. Как предсказать LTV, используя только 3 признака? В этом посте я покажу некоторые модели, которые используются для маркетинговой сегментации клиентов и объясню математику, на которой они основаны. Здесь будет много формул, но не переживайте: все уже готово в библиотеках Python. Цель этого блога показать, как математика делает всю работу.


Beta-geometric/negative binomial модель для определения вероятности, что клиент “жив”


Рассмотрим такой пример [из онлайн-сервиса для заказа поездок (такси) по городу]: пользователь зарегистрировался 1 месяц назад, сделал 4 поездки и последняя поездка состоялась 20 дней назад. Основываясь только на этих данных, эта модель может предсказать вероятность, что клиент будет активен в течение определенного периода времени (как показано на графике), а также число транзакций в будущем (которое является основой для понимания ценности клиента в течение всей его “жизни” — взаимоотношений клиента и компании).



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


Эта модель была предложена Fader, Hardie and Lee и называется Beta Geometric / Negative Binomial distribution model (BG/NBD).


BG/NBD модель обладает такими свойствами:


Когда пользователь активен, количество его транзакций за период t описывается распределением Пуассона с параметром транзакций λ.


Распределение Пуассона помогает предсказать происходящие события, используя данные о том, как часто события происходили в прошлом. Например, если пользователь делал в среднем 2 поездки в неделю ($λ=2$ на графике ниже), то вероятность того, что он сделает 3 заказа на следующей неделе равна 0.18.



  1. Гетерогенность параметра транзакций среди пользователей (что означает, как клиенты отличаются друг от друга в покупательском поведении) имеет Гамма распределение с параметрами r (форма) и α (масштаб).

Гамма распределение подходит для процессов со временем ожидания между событиями с распределением Пуассона (в нашем случае для параметра транзакций λ). Например, рассмотрим пользователя, который делает в среднем 2 транзакции в неделю. В таком случае, вероятность того, что время ожидания до того, как пользователь сделает 3 покупки будет больше 4 недель, равна области на графике справа от вертикальной пунктирной линии (под голубой линией распределения) — 0.13.



  1. Пользователи могут стать неактивными после любой транзакции с вероятностью p, и точка их ухода (когда они становятся неактивными) распределена между покупками по Геометрическому закону.

Геометрическое распределение похоже на Бернулли исходы и используется для моделирования количества исходов до (и включая) первый успешный исход. Если для некоторого пользователя $p=0.2 $, то его вероятность быть неактивным после 3 транзакций равна 0.12 (синяя линия на графике).



  1. Гетерогенность (вариации между пользователями) в вероятности ухода имеет Бета распределение с параметрами формы α и β.

Бета распределение лучшим образом подходит для представления вероятностных распределений вероятностей — случай, когда мы не знаем вероятность заранее, но у нас есть некоторое обоснованные априорные предпосылки, описываемые α и β (мат. ожидание Бета распределения $α / (α+β))$.


Для предыдущего примера с пользователем, у которого априорная вероятность ухода равна 0.2, оранжевая линия на графике с $α = 2$ и $β = 8$ описывает функцию плотности вероятности для вероятности ухода пользователя.



  1. Параметр транзакций и вероятность ухода независимо распределены между пользователями.

Математическая нотация для признаков пользователя X:


$X = x, t_x, T$


где $ x $ — число транзакций за некоторый период времени $(0, T]$, и $t_x (<=T)$ — время последней покупки.
Основываясь только на этих признаках, модель предсказывает будущие покупательские предпосылки пользователей:
$P(X(t) = x)$ — вероятность $x$ транзакций за период $t$ в будущем,
$E(Y(t) | X = x, t_x, T)$ — ожидаемое число транзакций за период для пользователя с определенным поведением.


Теперь мы можем найти эти два главных показателя. Не вдаваясь в детали, я покажу финальные формулы (больше выкладок в статьях).


Вероятность быть активным:



Ожидаемое число транзакций:



где $ _2F_1$ — гипер-геометрическая функция Гаусса



Гамма-гамма модель для оценки LTV


До этого момента, мы использовали только частоту и недавность покупок клиента. Но в дополнение к этому, мы можем применить денежную составляющую его транзакций. Добавим новые данные в наш пример: пользователь сделал эти 4 поездки по цене 10, 12, 8, 15. Гамма-гамма модель помогает предсказать наиболее вероятную ценность транзакции в будущем.
Суммирую все вместе, теперь у нас есть все элементы, чтобы определить LTV клиента:


LTV = ожидаемое число транзакций $*$ цена транзакии $*$ маржа


где первый элемент из BG/NB модели, второй — из Гамма-гамма модели, а маржа устанавливается бизнесом.


Математическая нотация для гамма-гамма модели:
Пользователь совершил $x$ транзакций с ценностью $z_1, z_2, …$ и $m_x = Z_i/x$ — наблюдаемое среднее ценности транзакции.
$E(M)$ — скрытое среднее ценности транзакции, и то, что нам интересно — $E(M | m_x, x)$ — ожидаемая денежная ценность пользователя, основанная на его покупательском поведении.


Свойства Гамма-гамма модели:
Денежная ценность транзакций пользователя случайна и находится в пределах их средних транзакционных ценностей.


Средняя ценность транзакции варьируется среди пользователей, но не варьируется для конкретного пользователя во времени.


Средняя ценность транзакции имеет Гамма распределение среди пользователей.


В статьях подробно описывается вывод формулы через еще несколько Гамма распределений. В итоге получается:



где p параметр формы и v параметр масштаба гамма распределения для транзакций $Zi, q$ параметр формы и $γ$ параметр масштаба для гамма распределения v (допущение модели, что p постоянно — коэффициенты вариации на индивидуальном уровне одни и те же для пользователей). Чтобы найти параметры модели, мы можем использовать метод максимума правдоподобия.


Мы закончили с математикой и теперь мы можем оценить LTV пользователей. Но что насчет точности этой модели?


Оценка точности модели


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


График показывает распределение реальных и предсказанных транзакций для данных из тестовой группы: ошибка здесь составляет 2.8%.



Как применять


Как я говорила в начале, все модели уже имплементированы. Например, библиотека Python “lifetimes” содержит все функции и метрики, необходимые, чтобы определить LTV. Детально написанная документация содержит много примеров и объяснений. Там также есть примеры sql запросов, чтобы получать данные в необходимом формате. Так что приступить к работе можно всего за несколько минут.


Заключение


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


Я хочу заметить, что иногда можно отойти от часто используемых gradient boosted trees и попробовать другие подходы, которые имеют сравнимый уровень точности. Статистическое обучение все еще может быть использовано на практике и может помочь бизнесу лучше понимать клиентов.


References


Fader, Peter & G. S. Hardie, Bruce & Lok Lee, Ka. (2005). “Counting Your Customers” the Easy Way: An Alternative to the Pareto/NBD Model. Marketing Science.
Fader, Peter & G. S. Hardie, Bruce (2013). The Gamma-Gamma Model of Monetary Value.
Fader, Peter S., Bruce G. S. Hardie, and Ka Lok Lee (2005), “RFM and CLV: Using Iso-value Curves for Customer Base Analysis,” Journal of Marketing Research.

Tags:
Hubs:
Total votes 14: ↑14 and ↓0+14
Comments0

Articles