Surrika

RFM анализ: как делить покупателей по давности, частоте и сумме

RFM анализ делит покупателей на группы по давности последней покупки, числу покупок и сумме за период. Каждый признак получает оценку от 1 до 3, вместе они дают код сегмента от 111 до 333. По коду видно, кому писать про возврат и кому предложить программу лояльности.

Формула

Деление покупателей на группы по трем признакам: как давно покупали, как часто и на какую сумму.

Сегмент = оценка давности (R) + оценка частоты (F) + оценка суммы (M), каждая от 1 до 3 по выбранным границам

Recency
сколько дней прошло с последней покупки
Frequency
сколько покупок за период
Monetary
сколько денег принес покупатель за период

Пример расчета

Дней с последней покупки 40
Покупок за год 3
Сумма за год 96 000 ₽
Сегмент R3 F3 M3

Давно ли: до 180 дней, R3. Часто ли: 3 покупки, F3. Сумма выше 80 000 ₽, M3. Сегмент 333, лучшие покупатели

  • Границы оценок подбирают под цикл покупки: для мебели «давно» это год, для кофе неделя.
  • Сегменты нужны, чтобы писать им по-разному: вернуть уходящих и не беспокоить тех, кто только что купил.

Тот же вопрос к выгрузкам в Surrika

Пример посчитан на выгрузках вымышленного мебельного магазина: продажи сайта и трех маркетплейсов, реклама, сделки CRM и остатки за 2024-2025 годы.

Сколько покупателей в каждой группе по давности последней покупки и числу покупок?

Покупатели по давности и частоте

SQL, по которому посчитано

WITH won AS (
    SELECT customer_id, date, amount FROM deals WHERE status = 'Выиграна'
),
customers AS (
    SELECT customer_id,
           date_diff('day', max(date), (SELECT max(date) FROM deals)) AS recency,
           count(*) AS frequency
    FROM won
    GROUP BY customer_id
)
SELECT CASE WHEN recency <= 180 THEN 'R3, до полугода' WHEN recency <= 365 THEN 'R2, до года' ELSE 'R1, больше года' END AS recency_group,
       CASE WHEN frequency >= 3 THEN 'F3, 3 и больше' WHEN frequency = 2 THEN 'F2, 2 покупки' ELSE 'F1, 1 покупка' END AS frequency_group,
       count(*) AS customers
FROM customers
GROUP BY ALL
ORDER BY recency_group DESC, frequency_group DESC

Когда смотрят RFM анализ и какие решения по нему принимают

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

Из каких выгрузок и колонок берут цифры

Нужны три колонки на покупателя: идентификатор клиента, дата последней покупки, число и сумма покупок за выбранный период. Их берут из таблицы заказов, где есть номер клиента, дата оформления и сумма. Период задают один для всей базы, иначе давность, частота и сумма будут считаться за разные отрезки времени. Затем каждому клиенту ставят оценку от 1 до 3 по своим границам: по числу дней с последней покупки, по числу заказов, по сумме. В примере вымышленного магазина запрос считает, сколько покупателей попало в каждую пару групп по давности и числу покупок.

Как читать результат RFM анализа

Смотрите на размер группы и на сочетание оценок. В примере вымышленного магазина 77 покупателей попали в R3 и F3, им подходит дополняющий товар или повышенный кешбэк. Еще 615 человек с R3 сделали только одну покупку, им полезно напоминание о категории, которую они не пробовали. Строка R2 с 460 покупателями при F1 показывает тех, кто остывает, а 36 клиентов в R2 и F3 дают повод выяснить причины ухода. Числа 77, 615, 460 и 36 взяты из выгрузки примера, в вашей базе доли будут другими.

Чем RFM отличается от когортного анализа, LTV и ABC-анализа

RFM раскладывает покупателей по трем признакам поведения и дает оценку от 1 до 3 по каждому, когортный анализ следит за группой клиентов во времени и показывает, как меняются их покупки в следующие месяцы. LTV считает деньги, которые покупатель принесет за все время, RFM смотрит на то, что уже произошло за выбранный период. ABC-анализ делит товары или клиентов по доле в выручке и не учитывает давность покупки. Для рассылок и персональных предложений RFM удобнее, для прогноза выручки нужен LTV. Когортный анализ и RFM дополняют друг друга: первый показывает динамику группы, второй дает срез базы на дату.

Частые ошибки

Общие границы для всех категорий

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

Разные периоды для частоты и суммы

Если частоту считать за год, а сумму за месяц, в сегмент 333 попадет клиент с несопоставимой историей. Задайте один период для частоты и суммы и отдельно проверьте, от какой даты считается давность.

Одно письмо на всю базу

Одна скидка для всех не возвращает уходящих и тревожит тех, кто купил недавно. Текст и повод собирают под группу: напоминание для давних клиентов, программа лояльности для кода 333, новая категория для тех, кто купил один раз.

Вопросы

Что такое RFM анализ простыми словами?

Деление покупателей на группы по трем признакам: как давно покупали, как часто и на какую сумму. Каждый признак получает оценку от 1 до 3, вместе они дают код сегмента.

Как читать код сегмента 333?

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

Сколько сегментов дает RFM анализ?

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

Какую выгрузку нужно подготовить для RFM анализа?

Таблицу заказов с номером клиента, датой покупки и суммой за один период. Из нее считают дату последней покупки, число заказов и общую сумму по каждому клиенту.

Чем RFM отличается от ABC-анализа?

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

Посчитайте это на своих выгрузках

Бросьте выгрузки на доску Surrika и задайте вопрос обычными словами. Ответ придет графиком, а под ним будет SQL, по которому он посчитан.

14 дней бесплатно, карта не нужна.

По теме

Все метрики и методы