Как посчитать retention в excel

Обновлено: 05.07.2024

Пять метрик customer retention, без которых как без рук

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

(Мы продолжаем переводить цикл статей по UX/UI. Полную подборку можно найти в коллекции « Продуктовый дизайн»)

Кроме трафика и конверсии, важным фактором выживания и роста вашего бизнеса выступает показатель удержания пользователей — customer retention. Допустим, ваш сайт привлекает большой объем трафика, и, допустим, вы конвертируете приличную долю посетителей в покупателей, но что происходит после первой конверсии? Вы сможете удержать клиентов на долгое время, или они забудут о вас сразу после покупки?

Интересуетесь свежими статьями по дизайну? Вступайте в группу на Facebook.

Ищите системное погружение в тему? Загляните в блог для дизайнеров.

По данным компании RJmetrics, самые успешные онлайн бизнесы получают более 50% дохода от “повторных” клиентов. Чтобы построить стабильный, масштабируемый бизнес, вы должны постоянно отслеживать customer retention и снижать отток (churn rate) до минимума.

Что такое customer retention

Customer retention — это способность бизнеса удерживать существующих клиентов на протяжении времени.

Бизнес с низким показателем retention — как дырявое ведро. Конечно, можно бесконечно лить воду, чтобы ведро оставалось полным — а можно залатать дыры. По данным HBR, привлечь нового клиента стоит в 5–25 раз больше, чем удержать существующего. К тому же, исследования компании Bain & Company показывают, что увеличение показателя retention на 5% влечет за собой рост дохода на 25–95%.

Конечно, стоит выбрать дешевый вариант и залатать свое ведро.

В этой статье мы рассмотрим 5 ключевых метрик, которые помогут понять, как у вас дела с retention.

1. Коэффициент удержания клиентов (Customer Retention Rate)

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


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

Хотя общепринятой формулы для расчета коэффициента удержания нет, Джефф Хэден из Inc предлагает точный способ измерения retention.

Retention Rate = ((CE — CN) / CS)) x 100

CE = Количество клиентов на конец периода

CN = Количество новых клиентов, приобретенных за период

CS = Количество клиентов на начало периода

Скажем, в начале месяца у вас было 1000 клиентов. К концу месяца 150 человек ушло, но вы привлекли 200 новых клиентов — поэтому по итогам месяца у вас есть 1050 клиентов. Подставим данные в формулу и получим:

Это считается высоким уровнем retention? Как обычно, все зависит от сферы деятельности и от ваших целей. Но в целом, чем выше retention rate — тем лучше.

2. Пожизненная ценность клиента (Customer Lifetime Value)

Показатель customer lifetime value — это проекция потенциального дохода, который вы можете получить от клиента. Эта метрика рассчитывается на основании прежнего покупательского поведения клиента — так что не стоит сразу переводить ее в быстрые деньги.

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


В расчет customer lifetime value можно включить множество переменных, но давайте остановимся на этой простой формуле от Hubspot:

Customer Lifetime Value = (Средний чек) x (Количество повторных продаж) x (Среднее время удержания)

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

3. Коэффициент повторных покупок (Repeat Purchase Rate)

Repeat purchasing rate — это процент клиентов, которые купили ваши продукты более одного раза. Коэффициент повторных покупок показывает, сколько клиентов возвращаются после первой покупки — а, значит, им можно пользоваться как индикатором retention.

Чтобы рассчитать показатель, нужно разделить количество “повторных” клиентов на общее число клиентов.

Repeat purchase rate = Количество повторных клиентов / Общее число клиентов

Можно провести более детальный анализ показателя repeat purchasing rate: использовать когортный метод и рассчитать коэффициент по дням, неделям и месяцам. Если вы запускаете акцию, когортный анализ поможет определить, как она повлияла на количество повторных покупок.

4. Коэффициент использования вознаграждения (Redemption Rate)

Один из эффективных способов стимулировать повторные покупки — это рассылка купонов. Но какую долю купонов клиенты реально используют? Это нам подскажет коэффициент redemptiont:

Redemption rate = Количество использованных купонов / Общее число купонов

По коэффициенту redemption можно судить, насколько купон мотивирует пользователей купить продукт. Если redemption rate низкий (около 20%), то нужно копать глубже и разбираться, почему продукт не покупают. Возможно, условия акции недостаточно выгодные — или людям просто больше не интересно ваше предложение.

5. Индекс потребительской лояльности (Net Promoter Score)

Какова вероятность, что вы порекомендуете этот продукт другу или коллеге?

Это и есть net promoter score. Вы задаете клиентам этот простой вопрос, и они отвечают по шкале от 0 до 10, где 0 означает “точно не порекомендую”, а 10 — ”обязательно порекомендую”. Это очень мощная метрика, потому что клиенты рекомендуют друзьям только тот продукт, которым на 100% довольны.


В рамках NPS выделяют три категории клиентов:

Критики (0–6) — это люди, недовольные продуктом или сервисом. Они больше ничего у вас не купят и могут испортить репутацию бренда своими жалобами в СМИ и соц.сетях.

Нейтралы (7–8) — это удовлетворенные клиенты, но они не будут особенно восторгаться вашим брендом и могут даже уйти к конкурентам, если те предложат более выгодные условия.

Промоутеры (9–10) — это те, кто сделают все возможное, чтобы рассказать другим о вашем продукте. Они верны бренду и готовы запустить мощное сарафанное радио, которое поможет вам практически без издержек привлечь новых клиентов.

Рассчитать NPS просто: нужно вычесть долю критиков из доли промоутеров.


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

Мобильное приложение «Заметки о психике» | Mental Notes

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

Блог об аналитике, визуализации данных, data science и BI

Как посчитать Retention?

В этой заметке разберём как правильно построить отчет по Retention с использованием Redash и языка SQL.
Для начала, в двух словах, что это за метрика Retention rate, почему она важна, какой бывает и каким образом считается.

Retention rate

Метрика Retention rate довольно широко распространена и особенно известна в мобильной индустрии, поскольку позволяет понять насколько хорошо продукт вовлекает пользователей в ежедневное использование. Вспомним (или узнаем) как рассчитывается Retention:
Retention дня X — это N% процентов пользователей, которые вернутся к продукту в день X. Иными словами, если в какой-то конкретный день (день 0) пришло 100 новых пользователей, а на 1-ый день вернулось 15, то Retention 1-го дня составит 15 / 100 = 15%.
Чаще всего выделяют Retention дней 1, 3, 7 и 30 как наиболее описательные метрики продукта, однако полезно в целом рассматривать кривую Retention и делать выводы исходя из нее.

Кривая retention

В конечном итоге нас интересует построение такой кривой, которая показывает удержание пользователей с 0-го дня до 30-го.


Rolling Retention (RR)

Кроме классического Retention rate выделяют также Rolling Retention (далее RR). При расчете Rolling Retention помимо дня X учитываются также все последующие дни. Таким образом RR 1-го дня — количество пользователей, которые вернулись в 1-ый и последующие дни.

Сравним Retention и Rolling Retention 10-го дня:
Retention10 — количество пользователей, вернувшихся в 10-ый день / количество пользователей, установивших приложение 10 дней назад * 100%.
Rolling Retention10 — количество пользователей, вернувшихся в 10-ый день или позже / количество пользователей, установивших приложение 10 дней назад * 100%.

Гранулярность (retention временных отрезков)

В некоторых отраслях и соответствующих задачах полезно понимать Retention конкретного дня (чаще всего в мобильной индустрии), в других случаях полезно понимать удержание пользователя на разных временных интервалах: например, недельные отрезки или месячные (часто полезно в e-commerce, ретейле).


Как построить Retention отчет на языке SQL?

Выше мы разобрали как посчитать Retention в формулах. Теперь приложим это к языку SQL.
Допустим, что у нас есть две таблицы: user — храним данные об идентификаторах пользователей и мета-информацию, client_session — информация о посещениях пользователями мобильного приложения.
В запросе будут фигурировать только две эти таблицы, поэтому вы с легкостью сможете адаптировать запрос под себя.
примечание: в рамках данного кода я использую Impala в качестве СУБД.

Собираем размер когорт

Разберем этот довольно несложный запрос: по каждому дню мы считаем количество уникальных пользователей для отрезка [60 дней назад; 31 день назад].
Чтобы не лезть в документацию: команда ndv() в Impala аналог команды count(distinct).

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

В этом запросе ключевая часть содержится в команде datediff: теперь мы считаем для каждой когорты и для каждого datediff количество уникальных пользователей все той же командой ndv() (фактически, количество пользователей которые вернулись в дни от 0-го до 30-го).

Отлично, теперь у нас есть размер когорт и количество вернувшихся пользователей

Собираем все вместе

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


Построение единственной кривой Retention

Несколько модифицируем наш запрос и получим требуемые данные для построения одной кривой Retention:

Теперь у нас для каждого дня посчитан средний по всем когортам Retention rate.

У большинства игровых и мобильных компаний имеется кривая Retention, ранее мы писали о том, что такое Retention и как его посчитать. Вкратце — это метрика, которая позволяет понять насколько хорошо продукт вовлекает пользователей в ежедневное использование. А ещё при помощи Retention и ARPDAU можно посчитать LTV (Lifetime Value), пожизненный доход с одного пользователя. Зная средний доход с пользователя за день и кривую Retention мы можем смоделировать ее и спрогнозировать LTV.

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

В сегодняшнем материале мы подробно разберём, как смоделировать LTV для 180 дней при помощи SQL и просто линейной регрессии.

Как посчитать LTV?

В общем случае формула LTV выглядит как ARPDAU умноженное на Lifetime — время жизни пользователя в проекте.


Посмотрим на классический график Retention:

Lifetime — это площадь фигуры под Retention:

Откуда взялись интегралы и площади можно подробнее узнать в этом материале

Значит, чтобы посчитать Lifetime, нужно взять интеграл от функции удержания по времени. Формула приобретает следующий вид:


Для описания кривой Retention лучше всего подходит степенная функция a*x^b. Вот как она выглядит в сравнении с кривой Retention:

При этом x — номер дня, a и b — параметры функции, которую мы построим при помощи линейной регрессии. Регрессия появилась неслучайно — эту степенную функцию можно привести к виду линейной функции, логарифмируя:




ln(a) — intercept, b — slope. Остаётся найти эти параметры — в линейной регрессии для этого используют метод наименьших квадратов. Lifetime — кумулятивная сумма прогноза за 180 дней. Посчитав её, остаётся умножить Lifetime на ARPDAU и получим LTV за 180 дней.

Строим LTV

Перейдём к практике. Для всех расчётов мы использовали данные одной игровой компании и СУБД PostgreSQL — в ней уже реализованы функции поиска параметров для линейной регрессии. Начнём с построения Retention: соберём общее количество пользователей в период с 1 марта по 1 апреля 2021 года — мы изучаем активность за один месяц:

Теперь посмотрим, как ведут себя эти пользователи в последующие 90 дней:

Кривая Retention — отношение количества активных пользователей к размеру когорты текущего дня. В нашем случае она выглядит так:

По данным кривой посчитаем параметры для линейной регрессии. regr_slope(x, y) — функция для вычисления наклона регрессии, regr_intercept(x, y) — функция для вычисления перехвата по оси Y. Эти функции являются стандартными агрегатными функциями в PostgreSQL и для известных X и Y по методу наименьших квадратов.

Вернёмся к нашей формуле — мы получили линейное уравнение, и хотим найти коэффициенты линейной регрессии. Перехват по оси Y и коэффициент наклона можем найти по дефолтным для PostgreSQL функциям. Получается:

Подробнее о том, как работают функции intercept(x, y) и slope(x, y) можно почитать в этом мануале

Главные вопросы про удержание: что это, почему о нем следует знать и как его увеличить. Об этом академично, но доступно рассказывает аналитик devtodev Вера Карпова в новой статье нашей серии материалов «Показатели эффективности игр».


Чтобы проект приносил доход, в нем должны быть платящие пользователи.

Чтобы были платящие пользователи, в проекте должна быть какая-то аудитория, часть которой как раз и будет платить.

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

То, как долго пользователи возвращаются в проект определяет такая метрика как удержание (retention).

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

Удержание N = Кол-во пользователей, зашедших в день N / Кол-во пользователей, установивших приложение N дней назад * 100%

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

Рассмотрим пример: допустим, первого января 2017 года (01.01.2017) первый раз приложение запустили 1 020 человек.

Далее мы смотрим, сколько из них заходили в приложение в последующие дни и рассчитываем удержание по формуле, указанной выше.


Чаще всего график удержания выглядит следующим образом:


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

Удержание 1-го дня говорит о первом впечатлении пользователя о проекте, его реакции на интерфейс, удобство приложения и соответствие ожиданиям и задачам. Кроме того, удержание 1-го дня влияет на удержание последующих дней, поэтому этому показателю стоит уделять большое внимание. В первый день нужно добиться того, чтобы пользователь разобрался в продукте, понял его ценность, суть и преимущества (это называется активацией).

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

Установка -> активация -> возвращение -> совершение платежа

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

К 7-му дню пользователь лучше узнает продукт. Удержание 7-го дня говорит о том, нравится ли пользователям приложение.

Стоит помнить, что удержание сильно зависит от типа и жанра приложения.

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

Есть еще один вариант работы с удержанием: считать его не по календарным дням, а по часам. Это значит, что удержание 1-го дня, это процент пользователей, вернувшихся в продукт в период 24-48 часов с момента установки.

Вот как это выглядит в devtodev:


Посмотрим, как это может повлиять на результат.

На временной шкале точками обозначены сессии пользователей. Если считать удержание по календарным дням, то пользователь посчитается вернувшимся в 1, 2 и 4 дни с момента установки. Но если использовать расчет по часам, то первые 2 сессии попадут в один день и в итоге пользователь учтется вернувшимся в 1 и 3 дни с момента установки.


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

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

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

Зачем нужно следить за удержанием и стараться его увеличивать?

Удержание влияет на размер аудитории.

Хотите, чтобы аудитория становилась больше?

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

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

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

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


Удержание используется для расчета таких метрики как Lifetime и Lifetime value (LTV = ∑ retention * ARPDAU), которые являются наиболее важными метриками для любого проекта, определяют его успешность, позволяют выявлять наиболее эффективные каналы привлечения, находить финансово привлекательные сегменты пользователей

Как можно улучшить удержание?

Еще удержание можно увеличить следующим способом: сначала изучить поведение пользователей, которые остались в проекте (их сессии, последовательность действий, использование функционала), а затем провести этим путем новых пользователей.

Заключение

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

Ретеншн бывает разным. Измеряя показатели продукта, одним точно не стоит ограничиваться. Каким он бывает, – рассказывает аналитик devtodev Вера Карпова в новой статье нашей серии материалов «Показатели эффективности игр».


Когда говорят удержание (retention), обычно имеют в виду классический расчет метрики:

Удержание N = Кол-во пользователей, зашедших в день N / Кол-во пользователей, установивших приложение N дней назад * 100%

Но рассчитывать удержание можно по-разному.

4 типа удержания

Обычно выделяют еще четыре подхода к расчету удержания.

1) Повторяющееся удержание (rolling retention)

Повторяющееся удержание N-го дня показывает процент пользователей, которые вернулись в приложение в день N с момента установки или позже.

Оно учитывает вернувшимися в день N тех пользователей, которые зашли в приложение в день N или позже в любой другой день (N+m).

Например, повторяющиеся удержание 14-го дня равное 10%, означает, что в игру на 14-й день и после суммарно вернулось 10% пользователей.

2) Полное удержание (full retention)

Полное удержание N-го дня показывает процент пользователей, которые заходили в приложение каждый день до дня N.

Например, полное удержание 5-го дня – это процент пользователей, которые заходили в приложение в 1-й, 2-й, 3-й, 4-й и 5-й дни с момента установки.

3) Возвратное удержание (return retention)

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

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

4) Диапазонное удержание (bracket-dependent return retention)

Диапазонное удержание N-го дня является вариацией возвратного удержания. Как можно догадаться, оно фиксирует пользователей, вернувшихся в приложение в определенный период хотя бы один раз.

Для расчета этого удержания задается дополнительно к N параметр M, который ограничивает временной диапазон для возврата пользователей.

Удержание здесь рассчитывается как процент пользователей, вернувшихся в приложение в промежуток M-N дней.

Например, диапазонное удержание с 14-й по 20-й день будет показывать процент пользователей, которые запускали приложение в этот период с момента установки.

В чем особенность повторяющегося удержания?

Из всех описанных выше вариантов, наиболее часто используются повторяющееся удержание (rolling retention).

Его формула выглядит следующим образом:

Повторяющееся удержание N = Кол-во пользователей, зашедших в день N или позже / Кол-во пользователей, установивших приложение N-дней назад * 100%

Для начала рассмотрим на примере, как рассчитывается этот показатель.

Предположим, что у нас есть следующие данные о пользователях и их сессиях (зеленым выделены дни, когда пользователи заходили в приложение, а красным – дни с момента последнего визита, в которые не было заходов):


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

После чего, как и с классическим удержанием, считается доля этих пользователей от кол-ва пользователей в когорте.

Если сравнить эти два вида удержания, то получится такая картина:


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

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

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

Например, пользователь заходил в приложение последний раз на 7-й день с момента установки. Мы рассчитали показатель когорты за 25 дней, а этого пользователя перестали учитывать после 7-го. После чего он зашел на 26 день, а это значит, что повторяющееся удержание с 8 по 26 день должен быть рассчитан заново с учетом этого пользователя.

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

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

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

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


Заключение

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

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

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

Читайте также: