Главное Авторские колонки Вакансии Образование
Выбор редакции:
😼
Выбор
редакции
2 703 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

RFM-анализ клиентской базы и визуализация данных в Google Data Studio

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

Что такое RFM-анализ клиентской базы?

RFM — это аббревиатура от Recency, Frequency и Monetary, что можно перевести на русский язык как давность, частота и сумма покупок. В основе RFM-анализа лежат ключевые индикаторы поведения пользователей: дата последней покупки, частота покупок и общая сумма всех покупок.

Для некоторых видов бизнеса, для которых не подходит использование LTV (общей суммы покупок), можно заметить эту метрику на вовлеченность (Engagement). В таком случае анализ будет правильнее назвать RFE, вместо RFM. В качестве метрики вовлеченности может быть количество достижений целей на сайте, просмотры страниц, комментарии пользователей, количество оценок и т.п.

RFM-анализ помогает ответить на следующие вопросы.

  1. Кто ваши самые ценные клиенты?
  2. Какие из клиентов имеют высокий потенциал?
  3. На каких клиентов стоит обратить внимание, чтобы не потерять?
  4. Каким клиентам стоит напомнить о себе в первую очередь?

Я проводила RFM-анализ для своих клиентов двумя разными способами. В первом случае мы делили клиентов на сегменты в зависимости от средних показателей по проекту. Во втором — были конкретные правила для отнесения пользователя к той или иной группе.

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

Пример RFM-анализа и визуализация данных в Google Data Studio

Пример отчета в Google Data Studio можно найти по ссылке. Шаблон построен на тестовых данных и не содержит коммерческой тайны.

Отчет начинается с основных метрик проекта:

  1. Выручка
  2. Количество заказов
  3. Количество покупателей
  4. Средняя частота покупок
  5. Средний чек
  6. Средняя выручка на одного пользователя


Следующий блок — опускаемся чуть ниже по уровню детализации и рассматриваем объём выручки отдельно для каждого сегмента.


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


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


В конце отчета спускаемся еще на один уровень детализации ниже и посмотрим основные метрики по каждому отдельному User-ID. Возможно, в таком виде таблица выглядит не особо полезной. Но, если связать данные с email адресом клиента, то, зная, к какому сегменту он принадлежит, можно:

  1. отправить более релевантную рассылку,
  2. использовать данные для создания аудиторий контекстной рекламы,
  3. настройки 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

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.