RFM-анализ клиентской базы помогает понять, кто покупает регулярно, кто приносит больше выручки, а кто давно не возвращался. Методика делит покупателей на сегменты по истории заказов. Это позволяет запускать персональные рассылки, сокращать лишние рекламные расходы и повышать повторные продажи. Разберём, как провести RFM-анализ и внедрить его в маркетинг интернет-магазина.
Что такое RFM-анализ и зачем он интернет-магазину
RFM-анализ — это метод сегментации покупателей по трём показателям. Он помогает оценить поведение каждого клиента на основе реальных транзакций.
Аббревиатура RFM расшифровывается так:
- R (Recency) — давность последней покупки.
- F (Frequency) — частота покупок за выбранный период.
- M (Monetary) — денежная ценность клиента, то есть сумма его покупок.
В отличие от сегментации по возрасту или региону, RFM-анализ показывает фактическое покупательское поведение. Он помогает понять, кому предложить новинку, кого поощрить бонусами, а кому напомнить о магазине.
Представим ситуацию. Интернет-магазин отправляет одинаковую скидку всей базе подписчиков. Постоянные покупатели получают ненужную льготу, а неактивные клиенты игнорируют письмо. В результате компания тратит бюджет без точного понимания отдачи.
RFM-анализ решает эту проблему. Маркетолог выделяет группы с разным поведением и подбирает для каждой отдельный сценарий коммуникации.
Какие задачи решает RFM-анализ клиентской базы
Методика помогает:
- находить постоянных покупателей и развивать их лояльность;
- возвращать клиентов, которые перестали заказывать;
- выявлять покупателей с высоким средним чеком;
- определять группы с потенциалом повторных продаж;
- персонализировать email- и SMS-рассылки;
- оценивать результаты рекламных кампаний по сегментам.
RFM не предсказывает будущее с абсолютной точностью. Он показывает, что происходило с покупателем раньше. На основе этих данных маркетолог выбирает подходящую стратегию.
Как работает RFM-анализ клиентской базы
Для расчёта понадобятся три показателя. Их рассчитывают отдельно для каждого клиента за выбранный период.
R — давность последней покупки
Recency показывает, сколько времени прошло с последнего заказа. Обычно считают количество дней между датой анализа и датой последней покупки.
Чем меньше дней прошло, тем выше актуальность клиента для коммуникации.
Например, покупатель оформил заказ три дня назад. Другой клиент покупал 120 дней назад. Первый, вероятно, лучше подходит для предложения сопутствующих товаров. Второму может потребоваться сценарий реактивации.
Пороговые значения зависят от ниши. Для магазина продуктов недавней может считаться покупка за последние несколько дней. Для магазина мебели интервал в несколько месяцев может быть нормальным.
F — частота покупок
Frequency отражает количество заказов за выбранный период. Этот показатель помогает отличать разовые покупки от регулярных.
Допустим, один клиент оформил заказ один раз за год. Другой совершил восемь покупок за тот же период. Второй демонстрирует более устойчивую привычку покупать в магазине.
При расчёте важно определить, что считать покупкой. Обычно используют оплаченные и не отменённые заказы. Возвраты обрабатывают по правилам аналитической модели.
M — денежная ценность клиента
Monetary показывает общую сумму покупок клиента за анализируемый период. Для расчёта используют выручку от заказов с учётом согласованных правил возвратов и скидок.
Например, первый клиент потратил 5 000 рублей за три заказа. Второй — 35 000 рублей за два заказа. Первый покупает чаще, но второй приносит большую сумму.
Поэтому нельзя оценивать ценность покупателя только по частоте. RFM объединяет три характеристики и даёт более полную картину.
Как провести RFM-анализ: пошаговая инструкция
Для первого расчёта необязательно внедрять сложную аналитическую платформу. Можно начать с выгрузки заказов из CRM, CMS интернет-магазина или базы данных.
Шаг 1. Соберите данные о заказах
Минимальный набор полей:
- идентификатор клиента;
- идентификатор заказа;
- дата заказа;
- статус заказа;
- сумма заказа;
- информация о возвратах.
Дополнительно полезны источник привлечения, категория товара и регион. Эти поля пригодятся при дальнейшем анализе сегментов.
Проверьте качество данных перед расчётом. Удалите тестовые заказы, исключите отменённые покупки и устраните дубли. Объедините заказы одного человека, если он покупал под разными идентификаторами и вы можете надёжно связать эти записи.
Шаг 2. Выберите период анализа
Часто используют последние 6–12 месяцев. Но универсального периода нет.
Выбирайте его с учётом цикла повторных покупок и сезонности. Для товаров повседневного спроса подойдёт более короткий интервал. Для дорогой техники или мебели понадобится более длинная история.
Также учитывайте дату среза. Если анализ выполняется на 31 октября, все показатели должны рассчитываться относительно этой даты.
Шаг 3. Рассчитайте R, F и M
Для каждого клиента определите:
- R — число дней после последнего заказа;
- F — количество подходящих заказов;
- M — общую сумму покупок.
Результат можно представить в виде таблицы:
| Клиент | Последняя покупка | Заказов | Сумма покупок |
|---|---|---|---|
| Клиент А | 3 дня назад | 8 | 42 000 ₽ |
| Клиент Б | 75 дней назад | 2 | 7 500 ₽ |
| Клиент В | 140 дней назад | 5 | 18 000 ₽ |
Это условные данные для примера. Они показывают, как клиенты различаются по давности, частоте и денежной ценности.
Шаг 4. Присвойте клиентам оценки
Часто используют шкалу от 1 до 5. Для каждого показателя определяют пять групп.
Важная особенность: направление шкалы для R отличается от F и M. Чем меньше дней прошло с покупки, тем выше оценка R. Для F и M, напротив, высокие значения обычно получают более высокие оценки.
Есть два распространённых подхода:
- Квантильная сегментация. Делит клиентов на группы примерно одинакового размера по каждому показателю.
- Бизнес-пороги. Использует заранее установленные интервалы, основанные на цикле покупок и экономике магазина.
Квантили удобны для первичного исследования. Бизнес-пороги легче применять в регулярных маркетинговых сценариях. Выбор зависит от задачи.
Шаг 5. Сформируйте RFM-код
Соедините три оценки в последовательность. Например, код 555 означает высокие оценки по всем показателям. Код 155 указывает на давнюю покупку, но высокие частоту и денежную ценность по выбранным порогам.
Важно: сам по себе код не определяет маркетинговое действие. Сначала нужно изучить распределение клиентов, затем объединить близкие комбинации в понятные сегменты.
Пример RFM-анализа клиентской базы на Python
Если заказов много, расчёт можно автоматизировать. Ниже пример для таблицы orders.csv с полями customer_id, order_id, order_date, status и amount.
import pandas as pd
orders = pd.read_csv("orders.csv")
orders["order_date"] = pd.to_datetime(orders["order_date"])
# Оставляем только завершённые заказы
orders = orders[
orders["status"].eq("completed")
].copy()
# Дата среза для воспроизводимого расчёта
snapshot_date = pd.Timestamp("2026-10-31")
# Рассчитываем R, F и M по каждому клиенту
rfm = orders.groupby("customer_id").agg(
last_order=("order_date", "max"),
frequency=("order_id", "nunique"),
monetary=("amount", "sum")
)
rfm["recency"] = (
snapshot_date - rfm["last_order"]
).dt.days
# Чем меньше recency, тем выше оценка
rfm["R"] = pd.qcut(
rfm["recency"].rank(method="first"),
5,
labels=[5, 4, 3, 2, 1]
).astype(int)
# Чем больше заказов и расходов, тем выше оценка
for column, score in [
("frequency", "F"),
("monetary", "M")
]:
rfm[score] = pd.qcut(
rfm[column].rank(method="first"),
5,
labels=[1, 2, 3, 4, 5]
).astype(int)
rfm["rfm_code"] = (
rfm["R"].astype(str)
+ rfm["F"].astype(str)
+ rfm["M"].astype(str)
)
print(rfm.head())
Код демонстрирует базовую механику. Перед запуском проверьте формат дат, статусы заказов и правила учёта возвратов. Для небольших баз с повторяющимися значениями квантильные границы могут требовать дополнительной настройки.
Также учитывайте клиентов без покупок за выбранный период. Их нельзя автоматически считать обычными покупателями с низкой оценкой. Для них нужен отдельный сценарий анализа.
Какие сегменты выделить после RFM-анализа
После расчёта оценок объедините клиентов в группы. Названия сегментов должны отражать поведение, а правила — учитывать специфику бизнеса.
| Сегмент | Характеристика | Что делать |
|---|---|---|
| Лучшие клиенты | Высокие R, F и M | Предлагать новинки, ранний доступ и бонусы |
| Лояльные покупатели | Высокие R и F | Развивать повторные продажи и программу лояльности |
| Крупные покупатели | Высокий M | Предлагать персональные подборки и сервис |
| Новые клиенты | Недавняя первая покупка, низкий F | Запускать приветственную цепочку |
| Перспективные | Недавняя покупка, умеренный F | Стимулировать второй заказ |
| Требуют внимания | Снижаются R или F | Напоминать о товарах и предлагать полезный контент |
| Спящие клиенты | Низкий R, ранее заметные F или M | Запускать реактивацию |
| Неактивные малодоходные | Низкие оценки по всем показателям | Ограничивать дорогие коммуникации |
Это примерная схема, а не универсальный стандарт. Один и тот же код может иметь разное значение в разных нишах.
Например, покупатель дорогого дивана вряд ли оформит второй заказ через месяц. Поэтому низкая частота не означает потерю интереса. Сначала сопоставьте сегменты с естественным циклом потребления.
Как сегментировать клиентов для маркетинговых кампаний
После группировки определите цель для каждого сегмента. Не отправляйте всем одинаковые скидки.
Для постоянных клиентов используйте персональные рекомендации и ранний доступ к новинкам. Для новых покупателей подготовьте серию писем с инструкциями и сопутствующими товарами. Для спящих клиентов проверьте, какие категории они покупали раньше.
Скидку стоит предлагать только тогда, когда она помогает достичь цели. Иногда полезнее напомнить о гарантии, доставке или преимуществах товара.
Как оценить эффективность RFM-сегментации
Сегментация имеет смысл, если она меняет результаты маркетинга. Поэтому оценивайте не только размер сегментов, но и действия покупателей после коммуникации.
Отслеживайте следующие метрики:
- конверсию в повторный заказ;
- выручку на получателя сообщения;
- средний чек;
- долю реактивированных клиентов;
- маржинальную прибыль после скидок;
- отписки и жалобы на рассылки.
По возможности проводите A/B-тесты. Одной группе отправляйте персональное предложение, другой — контрольной — оставляйте стандартную коммуникацию. Так вы сможете оценить дополнительный эффект кампании.
Например, если реактивационная рассылка увеличила число заказов, проверьте маржу. Скидки и стоимость отправки могут съесть дополнительную прибыль. Сравнивайте результат с контрольной группой за одинаковый период.
Какие ошибки мешают RFM-анализу
Даже простой расчёт может привести к неверным выводам, если не учесть особенности данных.
Ошибка 1. Считать все заказы покупками. Отмены, тестовые операции и возвраты искажают показатели. Заранее определите правила фильтрации.
Ошибка 2. Использовать одинаковые пороги для разных ниш. Частота покупок продуктов и мебели различается. Учитывайте тип товара и цикл потребления.
Ошибка 3. Оценивать только выручку. Большой оборот не всегда означает высокую прибыль. При возможности анализируйте маржинальность.
Ошибка 4. Не обновлять сегменты. Покупатель может перейти из активной группы в неактивную. Пересчитывайте RFM по расписанию, например ежемесячно.
Ошибка 5. Игнорировать ограничения коммуникаций. Учитывайте согласия на рассылки, правила обработки персональных данных и отписки. Сегментация не отменяет требований законодательства.
Ошибка 6. Не проверять результат. Сам факт запуска рассылки не доказывает её эффективность. Используйте контрольные группы и оценивайте прибыль.
Как внедрить RFM-анализ в интернет-магазине
Начните с пилотного проекта. Он поможет проверить гипотезы без лишних затрат.
- Выгрузите историю заказов и проверьте качество данных.
- Рассчитайте R, F и M за подходящий период.
- Выделите несколько понятных сегментов.
- Подготовьте разные сценарии коммуникации.
- Запустите кампании на ограниченной аудитории.
- Сравните результаты с контрольной группой.
- Автоматизируйте расчёт и обновление сегментов.
По данным Baymard Institute, средний показатель отказа от оформления заказа в исследуемых интернет-магазинах составляет около 70%. Это ориентир из исследований поведения покупателей, а не универсальная цифра для любого магазина. Он показывает, почему важно изучать клиентский путь и не ограничиваться одной рассылкой.
RFM помогает работать с уже привлечённой аудиторией. Однако он не заменяет аналитику воронки, контроль качества сайта и исследование причин отказа от покупки.
Заключение: используйте RFM-анализ для роста повторных продаж
RFM-анализ клиентской базы помогает интернет-магазину перейти от массовых рассылок к более точной работе с покупателями. Вы увидите, кто приносит выручку, кому нужен дополнительный стимул и какие клиенты давно не возвращались.
Начните с корректной выгрузки заказов, выберите подходящий период и проверьте несколько маркетинговых гипотез. Затем автоматизируйте расчёт и регулярно измеряйте результат.
Если вам нужна помощь с аналитикой, интеграцией CRM или настройкой маркетинговых сценариев, команда веб-студии «Компьюти» поможет подобрать решение под задачи вашего интернет-магазина. Обсудите с нами проект, чтобы превратить данные о заказах в основу для более эффективного маркетинга.


