редакции Выбор
RFM-анализ клиентской базы и визуализация данных в Google Data Studio
Что такое RFM-анализ клиентской базы?
RFM — это аббревиатура от Recency, Frequency и Monetary, что можно перевести на русский язык как давность, частота и сумма покупок. В основе RFM-анализа лежат ключевые индикаторы поведения пользователей: дата последней покупки, частота покупок и общая сумма всех покупок.
Для некоторых видов бизнеса, для которых не подходит использование LTV (общей суммы покупок), можно заметить эту метрику на вовлеченность (Engagement). В таком случае анализ будет правильнее назвать RFE, вместо RFM. В качестве метрики вовлеченности может быть количество достижений целей на сайте, просмотры страниц, комментарии пользователей, количество оценок и т.п.
RFM-анализ помогает ответить на следующие вопросы.
- Кто ваши самые ценные клиенты?
- Какие из клиентов имеют высокий потенциал?
- На каких клиентов стоит обратить внимание, чтобы не потерять?
- Каким клиентам стоит напомнить о себе в первую очередь?
Я проводила RFM-анализ для своих клиентов двумя разными способами. В первом случае мы делили клиентов на сегменты в зависимости от средних показателей по проекту. Во втором — были конкретные правила для отнесения пользователя к той или иной группе.
Давайте покажу на примере сегментацию на основе средних значений и в конце добавлю пару слов о том, как преобразовать результаты для второго метода.
Пример RFM-анализа и визуализация данных в Google Data Studio
Пример отчета в Google Data Studio можно найти по ссылке. Шаблон построен на тестовых данных и не содержит коммерческой тайны.
Отчет начинается с основных метрик проекта:
- Выручка
- Количество заказов
- Количество покупателей
- Средняя частота покупок
- Средний чек
- Средняя выручка на одного пользователя
Следующий блок — опускаемся чуть ниже по уровню детализации и рассматриваем объём выручки отдельно для каждого сегмента.
Дальше добавляем деталей и в таблице показываем основные метрики для каждого сегмента в отдельности. Метрики такие же, как в самом начале отчета, но здесь мы уже можем сделать некоторые выводы. Например, что Чемпионы и Лояльные покупатели совершают покупки чаще среднего. При этом у них высокий средний чек и выручка на одного клиента значительно выше среднего значения по компании.
Мне нравится график ниже, на котором наглядно показаны сегменты пользователей по количеству покупок и суммарной выручке.
В конце отчета спускаемся еще на один уровень детализации ниже и посмотрим основные метрики по каждому отдельному User-ID. Возможно, в таком виде таблица выглядит не особо полезной. Но, если связать данные с email адресом клиента, то, зная, к какому сегменту он принадлежит, можно:
- отправить более релевантную рассылку,
- использовать данные для создания аудиторий контекстной рекламы,
- настройки look-alike компаний Facebook Ads.
Заглянем под капот отчёта?
Если зайти в режим редактирования отчета и посмотреть источники трафика, то вы найдете там 1 таблицу Google Sheets. Саму таблицу можно посмотреть на вкладке RFM по ссылке.
Поначалу выглядит сложно, но давайте разбираться.
Импорт данных из Google Analytics
Все начинается с вкладки Report Configuration, на которой настраивается регулярная выгрузка данных из Google Analytics. Я импортирую данные из GA с помощью стандартного дополнения к Google Sheets от GA. Установить дополнение можно бесплатно по ссылке.
На вкладке Report Configuration необходимо добавить View-ID вашего аккаунта Google Analytics и поменять диапазон дат, при желании.
Очень важный момент! С помощью дополнения для Google Sheets невозможно просто взять и выгрузить User-ID, даже если у вас настроено соответствущее представление в GA. Сначала вам следуюет создать кастомный параметр и уже туда передавать значение вашего User-ID. Официальную справку Google по теме можно найти по ссылке.
Когда специальный параметр создан, подставьте его номер в поле Dimensions на вкладке Report Configuration. В моем примере указаны параметры 6 и 7. Их там два, потому что мы отслеживали также является ли пользователь зарегистрированным на сайте или нет и передавали данную информацию также в качестве специального параметра.
Ну и в вашем аккаунте GA должна быть уже настроенная расширенная электронная коммерция, чтобы в отчете мы могли видеть данные о транзакциях и выручке.
Когда предварительная работа по настройке GA завершена и вы подкорректировали параметры выгрузки данных, можно запускать импорт и настраивать автоматическое обновление отчета. Это все делается просто в настройках дополнения к Google Sheets.
Результаты будут выгружены на вкладку RFM Report и там же будут обновляться согласно расписанию.
Формулы для расчета
На следующем шаге я немного преобразую данные с вкладки RFM Report, чтобы мне было удобнее с ними работать. Результат находится на вкладке RFM Report_Work.
Далее возвращаемся на нашу вкладку RFM, где и происходит основная магия.
- Первый столбец unique_customer_id показывает только уникальные User-ID. Для этого я использую формулу, в которой ссылаюсь на столбец User-ID вкладки RFM Report_Work.
=UNIQUE(‘RFM Report_Work’!$A$2:$A)
- last_purchase_date — последняя дата покупка расчитывается по формуле, в которой мы ищем максимальную дату для каждого уникального User-ID.
=if(A2="","", MAXIFS(‘RFM Report_Work’!C:C,’RFM Report_Work’!A:A,A2))
- R — Recency считается по формуле ниже. Мы считаем среднюю дату покупки и сравниваем конкретного пользователя со средним значением и в зависимости от результата присваиваем ему номер от 1 до 5.
=iferror((ROUNDDOWN(RANK.AVG(B2,B$2:B, TRUE) / ((COUNT(B$2:B) + 1) / 5), 0) + 1),"")
- purchase_count — считаем количество покупок для каждого пользователя по формуле.
=if(A2="","", countif(‘RFM Report_Work’!$A$2:$A,$A2))
- F — Frequency расчитывается примерно по тому же принципу, что и давность покупки. Находим среднее значение для компании, сравниваем значение текущего пользователя со средним и присваиваем номер от 1 до 5.
=if(A2="", "", ROUNDDOWN(RANK.AVG(D2,D$2:D, TRUE) / ((COUNT(D$2:D) + 1) / 5), 0) + 1)
- total_revenue — суммарная выручка по каждому клиенту отдельно.
=if(A2="", "", sumif(‘RFM Report_Work’!$A$2:$A,$A2,’RFM Report_Work’!$E$2:$E))
- M — Monetary — по аналогии с другими метриками анализа находим среднее и сравниваем значение конкретного клиента со средним.
=if(A2="", "", ROUNDDOWN(RANK.AVG(F2,F$2:F, TRUE) / ((COUNT(F$2:F) + 1) / 5), 0) + 1)
- RFM — итоговое число для каждого клиента, на основе которого клиент относится к какому-либо сегменту. RFM получаем, соединяя вместе числа каждого отдельного параметра. Если R = 2, F = 4, M = 5, то RFM = 245. Формула выглядит так.
=if(A2="", "", VALUE(CONCATENATE(C2,E2,G2)))
- Customer Segments подставляем со вкладки Association table в зависимости от значения колонки RFM.
=iferror(VLOOKUP(H2,’Association table’!$A$1:$C$125,2,0),"")
- Macro Cluster подставляется по такому же принципу.
=iferror(VLOOKUP(H2,’Association table’!$A$1:$C$125,3,0),"")
- Member — мой частный случай, который я оставила, чтобы показать, что так тоже можно. Мы подставляем максимальное значение параметра «Зарегистрирован на сайте» для каждого пользователя. Таким образом в результате сможем посмотреть, влияет ли наличие регастрации на сегменты. Например, что из Чемпионов большая часть на сайте зарегистрирована. А из тех клиентов, которые находятся в зоне риска у большинства регистрации нет. Формула.
=if(A2="","", MAXIFS(‘RFM Report_Work’!D:D,’RFM Report_Work’!A:A,A2))
На этом мы закончим разбор основной вкладки отчета.
Сегментация пользователей
Мы не рассмотрели с вами вкладки Customer Segments Info, Customer Segments и Association table.На вкладке Customer Segments Info указано какие значения RFM какому сегменту соответствуют. Далее эти данные пробразованы в более удобную для работы таблицу Association table.
А на вкладке Customer Segments можно посмотреть сколько всего клиентов для каждого значения RFM.
Еще один вариант сегментации
Как и обещала в начале, делюсь еще одним варианто сегментации. Если у вас есть конкретные показатели, по которым вам бы хотелось сегментировать пользователей, то можно использовать ваши индивидуальные данные.
Если вы посмотрите на вкладку Bonus_Segments, то найдете таблицу правил для сегментации пользователей. Здесь мы указаываем несколько временных периодов, минимальный и максимальный пороги выручки и количество совершенных пользователем покупок. И уже в зависимости от этих данных делим пользователей на сегменты.
А на вкладке Bonus_RFM описываем эти условия формулами.
***
На этом хочу завершить материал и, надеюсь, что он был полезен.
Если отчет вам понравился, но сложно разобраться самостоятельно — пишите. Я могу помочь провести RFM-анализ на ваших данных.
Оригинал статьи находится на моем сайте gaille.me