Инструменты

Как удержать клиентов с помощью когортного анализа: простое руководство на Python для малого бизнеса

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

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

Успех бизнеса часто зависит от количества его клиентов и для расширения клиентской базы существуют две основные стратегии:

  1. Бесплатное привлечение. Это когда потребители обнаруживают ваш бизнес естественным путём: через поисковые запросы, сарафанное радио или благодаря удачному стечению обстоятельств и этот метод не требует прямых финансовых вложений .
  2. Платное привлечение. Здесь, вы активно инвестируете в рекламные кампании вашего бизнеса: оплата может варьироваться от стоимости показов и кликов до оплаты за конкретные действия потребителя, например, за переход на веб-сайт или загрузку приложения. По сути вы покупаете новых клиентов.

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

Ценность клиента определяется по следующим критериям:

  1. продолжительность отношений клиента с вашим бизнесом;
  2. частота и объем покупок: как часто и на сколько покупают;
  3. окупаемость вложений в привлечение клиента.

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

Прежде всего, давайте определим: что же такое когортный анализ?

Когортный анализ — это ?

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

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

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

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

Когорта Событие Месяц Тип кофе Средний чек Посещения Кол-во отзывов
Когорта 1 первое посещение Март Американо 200₽ 7 3
Когорта 1 первое посещение Март Капучино 270₽ 4 1
Когорта 2 первое посещение Апрель Американо 300₽ 15 5
Когорта 2 первое посещение Апрель Капучино 320₽ 7 2

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

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

Что такое когортный анализ?
Какую проблему решает когортный анализ?
Какие типы когорт обычно используются в анализе?

Retention Rate, Churn Rate и горизонт анализа

Каждая компания мечтает о верных клиентах, которые не только пользуются её продуктами или услугами годами, но и рассказывают о них друзьям и семье. Но как узнать, что клиенты действительно с вами надолго? Здесь на помощь приходят два волшебных показателя: Retention Rate и Churn Rate.

Retention Rate

Retention Rate, или коэффициент удержания, можно понимать как долю “старых друзей” среди всех ваших клиентов. Представьте, что у вас есть кафе, и каждый месяц к вам заходят постоянные посетители и новички. Retention Rate — это процент посетителей, которые уже были у вас в прошлом месяце и решили вернуться снова. Если этот показатель высок, значит, ваши клиенты довольны и вероятнее всего продолжат возвращаться, а ваше кафе для них — как дом родной. Если говорить проще — этот показатель помогает понять, насколько хорошо компания удерживает своих клиентов и насколько успешно она развивает долгосрочные отношения с ними.

Как рассчитать Retention Rate?

Для расчета Retention Rate используется следующая формула:$$ \text{Retention Rate} = \left( \frac{\text{Количество активных пользователей на текущий день}}{\text{Количество активных пользователей на первый день}} \right) \times 100\% $$Давайте разберем формулу подробнее:

  1. Количество активных пользователей на первый день: Это число клиентов, которые были с вами в начале измеряемого периода. Например, если вы хотите рассчитать ежемесячный Retention Rate, это будет количество клиентов на первый день месяца.
  2. Количество активных пользователей на текущий день: Это число клиентов, которые остались с вами на конец периода. Для ежемесячного расчета это будет число на последний день месяца.

Для примера возьмём данные заказов с сайта кавказской кухни «Matao».

Первого июня 2023 года на сайте зарегистрировались 83 новых пользователей. На следующий день 67 из них снова зашли на сайт. Третьего июня вернулись только 42 пользователей из первоначальных 83. Каждый следующий день количество вернувшихся продолжало уменьшаться, пока 7 июня не достигло пяти.

Table from Image
Дата 1 июня 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня
Число клиентов 83 67 42 29 19 12 5

Retention Rate на 2 июня для пользователей, пришедших 1 июня, составил $$\left(\frac{67}{83}\right) \times 100 = 80\%$$

Customer Retention Table with Highlights
Дата 1 июня 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня
Число клиентов 83 67 42 29 19 12 5
Retention rate 1.00 0.80 0.50 0.34 0.23 0.14 0.06

Retention Rate меняется в зависимости от того, с какого момента мы начинаем считать. Например, 2 июня на сайте «Matao» появилось 124 новых пользователя. На следующий день вернулось 104 из них, на третий день – уже 75, и число это продолжало уменьшаться до 9 пользователей, которые вернулись через неделю. Так, коэффициент удержания будет различаться для каждого из этих дней.

Customer Retention Table with Highlights
Новые пользователи, зарегистрированные 1 июня
Дата 1 июня 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня
Число клиентов 83 67 42 29 19 12 5
Retention rate 1.00 0.80 0.50 0.34 0.23 0.14 0.06
Новые пользователи, зарегистрированные 2 июня
Дата 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня 8 июня
Число клиентов 125 104 75 52 39 18 9
Retention rate 1.00 0.83 0.60 0.42 0.31 0.14 0.07

Таблица, представляющая данные за 2 июня, сдвинута на один день по сравнению с первой таблицей, что затрудняет прямое сравнение пользователей, привлеченных в разные дни. Чтобы решить эту проблему, предлагается изменить даты на число дней, прошедших после регистрации пользователя. Этот параметр в аналитике обычно называют «временем жизни» пользователя или лайфтайм.

Customer Retention Table with Highlights
Новые пользователи, зарегистрированные 1 июня
Дата 1 июня 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня
Лайфтайм 0 1 2 3 4 5 6
Число клиентов 83 67 42 29 19 12 5
Retention rate 1.00 0.80 0.50 0.34 0.23 0.14 0.06
Новые пользователи, зарегистрированные 2 июня
Дата 2 июня 3 июня 4 июня 5 июня 6 июня 7 июня 8 июня
Лайфтайм 0 1 2 3 4 5 6
Число клиентов 125 104 75 52 39 18 9
Retention rate 1.00 0.83 0.60 0.42 0.31 0.14 0.07

Теперь мы можем совместить информацию за первое и второе июня в одну таблицу.

Combined Retention Data Table
Дата регистрации Лайфтайм 0 1 2 3 4 5 6
1 июня Число клиентов 83 67 42 29 19 12 5
Retention Rate 1.00 0.80 0.50 0.34 0.23 0.14 0.06
2 июня Число клиентов 125 104 75 52 39 18 9
Retention Rate 1.00 0.83 0.60 0.42 0.31 0.14 0.07

Сводная таблица позволяет наглядно сравнить активность пользователей, привлеченных первого и второго июня. Показатель удержания на первый день после регистрации ниже для пользователей, зарегистрированных 1-го июня, составляя 80% по сравнению с 83% у пользователей, зарегистрированных 2-го июня. И пользователи, пришедшие во второй день месяца, демонстрируют более высокий уровень удержания по сравнению с теми, кто зарегистрировался 1-ого июня, указывая на их более продолжительное использование сайта.

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

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

Consolidated User Retention and Rate Table
Лайфтайм 0 1 2 3 4 5 6
Удержанные пользователи (Обе когорты вместе) 208 171 117 81 58 30 14
Retention Rate (Обе когорты вместе) 1.00 0.82 0.56 0.38 0.28 0.14 0.06

Churn Rate

Churn Rate, или коэффициент оттока, можно сравнить с числом друзей, которые перестали с вами общаться. Если мы возьмем тот же пример с кафе, представьте, что у вас есть группа постоянных посетителей. Churn Rate — это процент из этой группы, который в один прекрасный день решил, что больше не будет приходить в ваше кафе. Если это число высокое, значит, что-то пошло не так и многие из ваших “старых друзей” решили уйти, возможно, чтобы поискать лучшее место. Этот показатель помогает понять, насколько сильно ваше кафе “теряет друзей” и насколько важно вам работать над их удержанием.

Как рассчитать Churn Rate?

Для расчета Churn Rate берется количество клиентов на конец интересующего периода (например, на день [math] n[/math] ) и делится на количество клиентов на начало этого же периода (то есть на день [math] n-1[/math] ). Полученное значение затем вычитается из единицы, что позволяет определить долю клиентов, которые ушли от вас:$$\text{Churn Rate} = 1 – \left( \frac{\text{Количество активных пользователей на } n\text{-ый день}}{\text{Количество активных пользователей на } (n – 1)\text{-ый день}} \right)$$

Посчитаем Churn Rate на первый день «жизни» для пользователей «Matao», привлечённых 2 июня: [math]1 – \left(\frac{104}{125}\right) = 0.16[/math]. То есть 16%.

Лайфтайм
Дата регистрации 0 1 2 3 4 5 6
Сумма 83 67 42 29 19 12 5
Retention Rate 0.19 0.37 0.30 0.34 0.36 0.58
2 июня 125 104 75 52 39 18 9
Churn Rate (2 июня) 0.16 0.27 0.30 0.25 0.53 0.5

Вы являетесь владельцем интернет-магазина швейцарского шоколада “ШокоРай”. В ноябре в вашем магазине зарегистрировались новые пользователи. Сегодня 1 декабря, и вы хотите проанализировать Retention Rate за первые две недели. Какие дни регистрации пользователей попадут в анализ?
В сервисе потокового видео “Видеомания” за прошлый месяц зарегистрировалось 500 новых подписчиков. Количество подписчиков, продливших подписку на текущий месяц, составило 400 человек. Чему равен Churn Rate за прошлый месяц?

Горизонт анализа данных

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

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

Предположим, 10 сентября аналитик компании Innovate Tech Мухаммад, получил от директора маркетинга Софии задание: вычислить общий Retention Rate для пользователей, зарегистрировавшихся в сентябре. Её интересует информация о том, сколько пользователей продолжили пользоваться приложением на 7-й день после регистрации. Мухаммад обладает следующей статистикой:

Styled Table
Лайфтайм
Дата регистрации 0 1 2 3 4 5 6
1 сентября 130 98 92 87 76 65 54
2 сентября 160 112 95 100 92 79 61
3 сентября 180 115 100 95 90 78 62
4 сентября 195 165 128 118 110
5 сентября 175 137 114 98
6 сентября 220 185 155
7 сентября 2450 2070

Поскольку горизонт анализа ограничен 7 днями, Мухаммад сможет рассчитать Retention Rate только для первых трех когорт, соответствующих 1, 2 и 3 сентября. А если София захочет изучить показатели удержания пользователей в сентябре на следующий день после регистрации, то горизонт анализа сократится до 2 дней. В таком случае Мухаммад сможет включить в анализ данные всех когорт.

Styled Table
Лайфтайм
Дата регистрации 0 1 2 3 4 5 6
1 сентября 130 98 92 87 76 65 54
2 сентября 160 112 95 100 92 79 61
3 сентября 180 115 100 95 90 78 62
4 сентября 195 165 128 118 110
5 сентября 175 137 114 98
6 сентября 220 185 155
7 сентября 2450 2070

Удержание пользователей, зарегистрировавшихся с 1 по 3 сентября,
на седьмой день после регистрации.

Лайфтайм
0 1 2 3 4 5 6
Cумма 470 325 287 282 258 222 177
Retention Rate 1 0.69 0.61 0.60 0.54 0.47 0.38

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

Лайфтайм
0 1 2 3 4 5 6
Cумма 1305 1019 684 498 368 222 177
Retention Rate 1 0.78 0.52 0.38 0.28 0.17 0.14

И создание графика наглядно продемонстрирует, почему такой подход нецелесообразен, поскольку мы увидим резкое падение Retention Rate после второго дня, отражая пробелы в данных и подчеркивая необходимость учета момента анализа для более точной оценки удержания пользователей.

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

  • Прекратить успешную рекламную кампанию: ошибочно решив, что она неэффективна.
  • Уволить сотрудников: несправедливо обвинив их в низких показателях.
  • Принять другие неверные решения: которые могут негативно повлиять на бизнес.

Причина ошибкиНеверный график построен на неполных данных.

Python

Для просмотра кода на Python в Jupyter Notebook и для выполнения практической части анализа, перейдите в интерактивное окружение

Пред.
Разбор временной сложности алгоритма: оценка эффективности

Разбор временной сложности алгоритма: оценка эффективности

Содержание Show Анализ алгоритмовПостоянное времяЛогарифмическое времяЛинейное

След.
Задача №1: FizzBuzz

Задача №1: FizzBuzz

FizzBuzz, кажущаяся на первый взгляд игривой и простой задача программирования,