Как посчитать LTV? Просто о сложном.
На днях у меня был интересный диалог с Дмитрий Кудренко и Андрей Панкратов на тему алгоритма расчета LTV. Поэтому сегодня будем говорить о том, как рассчитать LTV и какие нюансы возникают при расчёте LTV.
Быстрый старт
Дима и Андрей проделали отличную работу и создали модель с шаблоном в Google Sheets, который на основе таблицы заказов бизнеса рассчитывает Когорты, Churn rate и LTV.
----------------
Давайте рассмотрим основные шаги расчёта LTV.
(a) Рассчитываем количество "ушедших" клиентов по периодам.
Т.к. в модели churn период = 1 год, то отток "Когорты 1" начинаем считать с 1-го квартала 2014 года.
(b) Зная количество "ушедших" по периодам, рассчитываем количество "активных" клиентов по периодам.
Т.к. в модели churn период = 1 год, то на первом году никто не считается "ушедшим". А вот начиная с 1-го квартала 2014 года, от количества клиентов прошлого периода отнимаем количество "ушедших" за текущий период.
Например, на конец 4-го квартала 2013 года у нас было 38 клиентов. За 1-й квартал 2014 года "ушло" 22 клиента. Значит на конец 1-го квартала 2014 года у нас осталось 16 "активных" клиентов.
(c) Используя динамику "активных" клиентов по периодам, рассчитываем churn rate в каждом периоде, а затем совокупный churn rate за n-1 период.
Например, churn rate за 5-й квартал равен отношению количества "ушедших" клиентов за 5-й квартал к количеству "активных" клиентов за 4-й квартал, а именно 22 / 38 = 57.9%.
(d) Рассчитываем валовую прибыль на одного клиента по периодам.
Теперь у нас есть все данные, необходимые для расчета LTV (CLV).
Хотя алгоритм расчёта LTV и не сложен, но, тем не менее, он многошаговый.
Альтернативный расчет
Когда мне нужно сделать быстрый расчет, я, обычно, делаю его несколько иначе.
(0) В отличие от подхода ребят - загружать данные в облако Google Sheets и использовать формулы для работы с массивами, я загружаю все данные на локальной машине в PowerPivot (Excel Add-on, позволяет работать с сотнями миллионов строк) и использую язык расчетов DAX (позволяет сделать индивидуальный расчёт в каждой ячейке сводной таблицы, работает очень быстро).
(1) Я не привожу расчеты к уровню клиента.
Я считаю LTV как = GM (acc) / # customers (acc). Это эквивалентно расчету фактического LTV для всех клиентов, затем берется среднее.
(2) Я не прогнозирую LTV. Я считаю фактический LTV или, говоря по-другому, LTD (LifeTime to Date).
Я уже писал ранее, что LTV - величина прогнозная. Она зависит от (a) цикла и сумм повторных покупок, (b) Gross Margin, и (c) Churn rate. Спрогнозировать динамику всех 3-х параметров - задача нетривиальная. Поэтому я упрощаю и делаю расчёт LTV "на сейчас".
Как мы видим, результаты двух подходов ("на сейчас" и прогнозный) получились довольно разные:
LTD = $1,192
LTV = $1,448, дельта +21%.
Причина здесь в том, что при прогнозе LTV ребята считали AMPU только по "активным" клиентам за соответствующий период. Таких клиентов всегда меньше, а значит GM на каждого такого клиента выше. Я же при расчете учитывал всех клиентов.
На этом можно было и остановиться, но... Для полноты восприятия я покажу вам, что происходит с клиентами на самом деле.
Глубинное погружение
Т.к. клиентов из "Когорты 1" немного (всего 38), то я визуализировал историю покупок каждого клиента по месяцам.
Так мы сможем изучить фактический цикл покупок каждого клиента (Customer LifeCycle), а не ограничиваться "прогнозными" или "средними" значениями.
О чем говорит рисунок выше?
(1) Мы приняли, что churn период = 1 год. Поэтому на рисунке "Ушедшие клиенты" мы видели, что лишь через 1 год после формирования когорты от нас ушли первые клиенты (22 человека). На самом деле эти клиенты ушли намного раньше.
Практически все эти клиенты сделали единственную покупку и после этого "ушли" навсегда. Я назвал бы таких клиентов "one-time" buyers.
Отметьте, что % one-time buyers составляет 58%(!) от всех клиентов когорты.
(2) У всех этих one-time buyers фактический LTV намного ниже, чем прогнозный LTV и расчетный LTD. Медиана у one-time buyers = всего $290, а это значит, что половина из них принесла менее, чем $290. Разница между $290 и $1,448 разительна!
Получается, что любой расчет LTV пытается усреднить value всех клиентов, в то время как, как минимум, 58% клиентов такой value никогда не принесут.
(3) Модель ребят рассчитывала оптимальный CAC = $483 при прогнозном LTV = $1,448.
Если говорить про one-time buyers, то 82% (18 из 22) из них не окупятся, т.к. их фактический LTV < CAC = $483.
Если говорить про всех клиентов когорты, то 53% (20 из 38) из них не окупятся, т.к. их фактический LTV также ниже CAC.
Отдельно хочу сказать про срок окупаемости. За первые 6 месяцев окупилось лишь 32% клиентов (12 из 38).
(4) Теперь давайте посмотрим на тех ТОП-клиентов, у которых фактический LTV оказался выше прогнозного LTV.
ТОП-клиентов всего 7 (18% от всех клиентов когорты), но они сгенерировали 69%(!) всех продаж когорты.
Фактический LTV таких ТОП-клиентов превышает прогнозный LTV в 1.5 - 7.7 раза.
Интересно то, что даже среди этих ТОП-клиентов, за первые 6 месяцев не окупили себя 3 из 7 клиентов.
(5) Обратите также внимание на то, что за первые 6 месяцев "Когорта 1" принесла лишь 37% своего value.
Это значит, что больше половины оставшегося value, клиенты когорты будут приносить намного позже (ориентировочно на 2-м и м.б. 3-м году жизни).
Эти выкладки подтверждают, что работа с LTV - это игра "в долгую". Поэтому, чем раньше и системнее вы начнете работать с retention, тем больший value вы сможете "выжать" из каждой когорты.
РЕЗЮМЕ
1. Чтобы понять какой из двух подходов лучше подходит для вашего бизнеса посчитайте прогнозный LTV, затем расчетный LTD и после проанализируйте разницу.
2. Если ваши ТОП-клиенты будут "активными" достаточно долго, то, возможно, с точки зрения прибыли, лучше использовать прогнозный LTV, чтобы не ограничить себя в CAC и т.о. не упустить покупку высокодоходного клиента.
3. Если у вас очень много (65-85%) one-time buyers, то, вероятно, с точки зрения прибыли, лучше понизить свой CAC, рассчитав его через LTD или любым другим понижающим способом.
Недооцените LTV - будете меньше зарабатывать. Переоцените LTV - будете терпеть убытки. Такая вот правда жизни.
P.S. Недавно я также показывал как посчитать LTV с помощью классического метода Pareto/NBD.
Единой схемы расчета LTV для разных бизнес-моделей - нет.
Например, для SaaS компаний все достаточно просто. Клиент покупает подписку. У подписки, как правило, есть срок действия. Если в последний день окончания подписки клиент не продлевает подписку, то на следующий день такой клиент считается "ушедшим".
Для e-commerce компаний все не так однозначно. Клиент мог купить товар или несколько товаров, потом какой-то период времени (иногда продолжительный) не покупать, а затем снова вернуться к покупкам. В этом случае понять когда клиент действительно "ушел" уже нетривиальная задача.
Например, для SaaS компаний все достаточно просто. Клиент покупает подписку. У подписки, как правило, есть срок действия. Если в последний день окончания подписки клиент не продлевает подписку, то на следующий день такой клиент считается "ушедшим".
Для e-commerce компаний все не так однозначно. Клиент мог купить товар или несколько товаров, потом какой-то период времени (иногда продолжительный) не покупать, а затем снова вернуться к покупкам. В этом случае понять когда клиент действительно "ушел" уже нетривиальная задача.
Дима и Андрей проделали отличную работу и создали модель с шаблоном в Google Sheets, который на основе таблицы заказов бизнеса рассчитывает Когорты, Churn rate и LTV.
----------------
СПРАВКА
LTV = AMPU / Churn rate
AMPU - Average Margin Per User. Вычисляется за период (в модели период равен 1 квартал).
Churn rate = 1 - Retention rate.
Активные клиенты. Это клиенты, у которых с момента последней покупки не прошел 1 год (период churn в модели ребят).
Retention rate. Рассчитывается как соотношение "ушедших" клиентов текущего периода к "активным" клиентам предыдущего периода. Этот расчет начинается после 1 года неактивности клиента.----------------
Давайте рассмотрим основные шаги расчёта LTV.
(a) Рассчитываем количество "ушедших" клиентов по периодам.
Т.к. в модели churn период = 1 год, то отток "Когорты 1" начинаем считать с 1-го квартала 2014 года.
Ушедшие клиенты. Нажмите на картинку, чтобы увеличить ее. |
(b) Зная количество "ушедших" по периодам, рассчитываем количество "активных" клиентов по периодам.
Т.к. в модели churn период = 1 год, то на первом году никто не считается "ушедшим". А вот начиная с 1-го квартала 2014 года, от количества клиентов прошлого периода отнимаем количество "ушедших" за текущий период.
Например, на конец 4-го квартала 2013 года у нас было 38 клиентов. За 1-й квартал 2014 года "ушло" 22 клиента. Значит на конец 1-го квартала 2014 года у нас осталось 16 "активных" клиентов.
Активные клиенты. Нажмите на картинку, чтобы увеличить ее. |
(c) Используя динамику "активных" клиентов по периодам, рассчитываем churn rate в каждом периоде, а затем совокупный churn rate за n-1 период.
Например, churn rate за 5-й квартал равен отношению количества "ушедших" клиентов за 5-й квартал к количеству "активных" клиентов за 4-й квартал, а именно 22 / 38 = 57.9%.
% оттока. Нажмите на картинку, чтобы увеличить ее. |
(d) Рассчитываем валовую прибыль на одного клиента по периодам.
AMPU. Нажмите на картинку чтобы увеличить ее. |
Теперь у нас есть все данные, необходимые для расчета LTV (CLV).
LTV. Нажмите на картинку, чтобы увеличить ее. |
Хотя алгоритм расчёта LTV и не сложен, но, тем не менее, он многошаговый.
Альтернативный расчет
Когда мне нужно сделать быстрый расчет, я, обычно, делаю его несколько иначе.
(0) В отличие от подхода ребят - загружать данные в облако Google Sheets и использовать формулы для работы с массивами, я загружаю все данные на локальной машине в PowerPivot (Excel Add-on, позволяет работать с сотнями миллионов строк) и использую язык расчетов DAX (позволяет сделать индивидуальный расчёт в каждой ячейке сводной таблицы, работает очень быстро).
(1) Я не привожу расчеты к уровню клиента.
Я считаю LTV как = GM (acc) / # customers (acc). Это эквивалентно расчету фактического LTV для всех клиентов, затем берется среднее.
LTD. Нажмите на картинку чтобы увеличить ее. |
(2) Я не прогнозирую LTV. Я считаю фактический LTV или, говоря по-другому, LTD (LifeTime to Date).
Я уже писал ранее, что LTV - величина прогнозная. Она зависит от (a) цикла и сумм повторных покупок, (b) Gross Margin, и (c) Churn rate. Спрогнозировать динамику всех 3-х параметров - задача нетривиальная. Поэтому я упрощаю и делаю расчёт LTV "на сейчас".
Как мы видим, результаты двух подходов ("на сейчас" и прогнозный) получились довольно разные:
LTD = $1,192
LTV = $1,448, дельта +21%.
Причина здесь в том, что при прогнозе LTV ребята считали AMPU только по "активным" клиентам за соответствующий период. Таких клиентов всегда меньше, а значит GM на каждого такого клиента выше. Я же при расчете учитывал всех клиентов.
На этом можно было и остановиться, но... Для полноты восприятия я покажу вам, что происходит с клиентами на самом деле.
Глубинное погружение
Т.к. клиентов из "Когорты 1" немного (всего 38), то я визуализировал историю покупок каждого клиента по месяцам.
Так мы сможем изучить фактический цикл покупок каждого клиента (Customer LifeCycle), а не ограничиваться "прогнозными" или "средними" значениями.
Customers LifeCycles.
Нажмите на картинку чтобы увеличить ее. |
О чем говорит рисунок выше?
(1) Мы приняли, что churn период = 1 год. Поэтому на рисунке "Ушедшие клиенты" мы видели, что лишь через 1 год после формирования когорты от нас ушли первые клиенты (22 человека). На самом деле эти клиенты ушли намного раньше.
Практически все эти клиенты сделали единственную покупку и после этого "ушли" навсегда. Я назвал бы таких клиентов "one-time" buyers.
Отметьте, что % one-time buyers составляет 58%(!) от всех клиентов когорты.
(2) У всех этих one-time buyers фактический LTV намного ниже, чем прогнозный LTV и расчетный LTD. Медиана у one-time buyers = всего $290, а это значит, что половина из них принесла менее, чем $290. Разница между $290 и $1,448 разительна!
Получается, что любой расчет LTV пытается усреднить value всех клиентов, в то время как, как минимум, 58% клиентов такой value никогда не принесут.
(3) Модель ребят рассчитывала оптимальный CAC = $483 при прогнозном LTV = $1,448.
CAC : LTV. Нажмите на картинку чтобы увеличить ее. |
Если говорить про one-time buyers, то 82% (18 из 22) из них не окупятся, т.к. их фактический LTV < CAC = $483.
Если говорить про всех клиентов когорты, то 53% (20 из 38) из них не окупятся, т.к. их фактический LTV также ниже CAC.
Отдельно хочу сказать про срок окупаемости. За первые 6 месяцев окупилось лишь 32% клиентов (12 из 38).
(4) Теперь давайте посмотрим на тех ТОП-клиентов, у которых фактический LTV оказался выше прогнозного LTV.
ТОП-клиентов всего 7 (18% от всех клиентов когорты), но они сгенерировали 69%(!) всех продаж когорты.
Фактический LTV таких ТОП-клиентов превышает прогнозный LTV в 1.5 - 7.7 раза.
Интересно то, что даже среди этих ТОП-клиентов, за первые 6 месяцев не окупили себя 3 из 7 клиентов.
(5) Обратите также внимание на то, что за первые 6 месяцев "Когорта 1" принесла лишь 37% своего value.
Это значит, что больше половины оставшегося value, клиенты когорты будут приносить намного позже (ориентировочно на 2-м и м.б. 3-м году жизни).
Эти выкладки подтверждают, что работа с LTV - это игра "в долгую". Поэтому, чем раньше и системнее вы начнете работать с retention, тем больший value вы сможете "выжать" из каждой когорты.
РЕЗЮМЕ
1. Чтобы понять какой из двух подходов лучше подходит для вашего бизнеса посчитайте прогнозный LTV, затем расчетный LTD и после проанализируйте разницу.
2. Если ваши ТОП-клиенты будут "активными" достаточно долго, то, возможно, с точки зрения прибыли, лучше использовать прогнозный LTV, чтобы не ограничить себя в CAC и т.о. не упустить покупку высокодоходного клиента.
3. Если у вас очень много (65-85%) one-time buyers, то, вероятно, с точки зрения прибыли, лучше понизить свой CAC, рассчитав его через LTD или любым другим понижающим способом.
Недооцените LTV - будете меньше зарабатывать. Переоцените LTV - будете терпеть убытки. Такая вот правда жизни.
P.S. Недавно я также показывал как посчитать LTV с помощью классического метода Pareto/NBD.
Comments
Post a Comment