← Назад к вопросам
Как построить и интерпретировать RFM-анализ?
2.0 Middle🔥 231 комментариев
#Метрики продукта#Работа с продуктом и бизнесом
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
RFM-анализ: сегментация клиентов по поведению
RFM (Recency, Frequency, Monetary) — это метод сегментации клиентов на основе трёх ключевых параметров поведения. Это один из самых практичных инструментов для определения ценности клиента и выбора стратегии его удержания.
Три составляющих RFM
R — Recency (Давность) Сколько дней прошло с последней покупки клиента?
- R = Сегодня минус Дата последней покупки
- Низкое значение (недавнее) — хороший знак
F — Frequency (Частота) Как часто клиент совершает покупки за определённый период (обычно год)?
- F = Количество транзакций за последний год
- Высокое значение — клиент лояльный и активный
M — Monetary (Денежная стоимость) Сколько денег потратил клиент всего или за последний период?
- M = Сумма всех платежей за последний год
- Высокое значение — клиент высокого стоимости
Построение RFM в SQL
WITH rfm_data AS (
SELECT
user_id,
MAX(DATE(order_date)) as last_purchase,
CURRENT_DATE - MAX(DATE(order_date)) as recency,
COUNT(DISTINCT DATE(order_date)) as frequency,
SUM(order_amount) as monetary
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL 365 DAY
GROUP BY user_id
),
rfm_scores AS (
SELECT
user_id,
recency,
frequency,
monetary,
NTILE(4) OVER (ORDER BY recency DESC) as r_score,
NTILE(4) OVER (ORDER BY frequency ASC) as f_score,
NTILE(4) OVER (ORDER BY monetary ASC) as m_score
FROM rfm_data
WHERE frequency > 0
)
SELECT
user_id,
recency,
frequency,
monetary,
r_score,
f_score,
m_score,
CONCAT(r_score, f_score, m_score) as rfm_segment
FROM rfm_scores
ORDER BY monetary DESC
Интерпретация баллов
Ballers (4-4-4) — VIP клиенты
- Покупали недавно, часто, на большие суммы
- Стратегия: максимум внимания, персональный сервис, эксклюзивные предложения
- Удержание: приоритет номер 1
Loyal Customers (3-3-4 или 4-3-4)
- Постоянные покупатели, хорошее среднее значение
- Стратегия: бонусы, программы лояльности, рекомендации
- Удержание: укреплять отношения
Potential High-Value (4-2-3)
- Недавно совершили крупную покупку, но редко
- Стратегия: win-back кампании, предложить экосистему товаров
- Удержание: реактивировать
At Risk (1-3-3)
- Раньше покупали часто, но давно не было
- Стратегия: специальные скидки, win-back письма
- Удержание: срочно вернуть
New Customers (4-1-1)
- Недавно первая покупка, малый объём
- Стратегия: welcome series, помощь в освоении
- Удержание: вторая покупка
Lost и Churned (1-1-1)
- Не покупали давно, редко покупали
- Стратегия: очень дешёвые скидки или удалить
- Удержание: нецелесообразна
Визуализация матрицы RFM
Высокая Частота вверху, Высокая Денежная Стоимость вправо:
- Верхний правый квадрант: BALLERS (VIP)
- Верхний левый: LOYAL CUSTOMERS
- Нижний правый: POTENTIAL HIGH-VALUE
- Нижний левый: AT RISK и LOST
Стратегия по сегментам
| Сегмент | Скидка | Персонал | Сроки | |
|---|---|---|---|---|
| Champions | 2x/неделя | Нет | Менеджер | АСАП |
| Loyal | 1x/неделя | 5-10% | Чат | 3 дня |
| Potential | 2x/месяц | 10-20% | неделя | |
| At Risk | 3x/неделя | 20-30% | Звонок | СРОЧНО |
| Lost | 1x/месяц | 40-50% | SMS | поздно |
Метрики для отслеживания
SELECT
rfm_segment,
COUNT(*) as count,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER(), 1) as pct,
ROUND(AVG(monetary), 2) as avg_clv,
ROUND(SUM(monetary), 0) as total_revenue
FROM rfm_scores
GROUP BY rfm_segment
ORDER BY total_revenue DESC
Важные замечания
- Выбор периода — обычно 12 месяцев, но в e-commerce может быть 90 дней
- Минимальный объём данных — нужно минимум 1000 активных клиентов
- Пересчёт — обновляй RFM минимум ежемесячно
- Комбинирование — не забывай про LTV, NPS, CAC для полной картины
- Действие — анализ без действия бесполезен, нужна стратегия по каждому сегменту
RFM даёт 80 процентов инсайтов с 20 процентами усилий — это мощный инструмент для быстрой сегментации и начала работы с удержанием клиентов.