RFM-анализ для интернет-магазина: как учесть возвраты, отмены и скользящие окна

Типичная история: магазин построил RFM-матрицу, разметил клиентов на «чемпионов» и «спящих», запустил кампании — а цифры не сошлись.

Типичная история: магазин построил RFM-матрицу, разметил клиентов на «чемпионов» и «спящих», запустил кампании — а цифры не сошлись. «Чемпионы» не покупают, «почти потерянные» оформляют заказы, а по выручке лучше всех выглядит группа, которой в матрице вообще нет. Классический RFM честно перемножает три метрики. Проблема в исходных данных: в e-commerce заказ — еще не покупка.

Возвраты, отмены, частичные отказы и фиксированное окно анализа превращают методику в красивую картинку, к клиентам отношения не имеющую. Ниже — пять шагов, как настроить RFM-анализ для интернет-магазина так, чтобы сегменты совпадали с реальным поведением базы. Егор Череватенко, CRM-маркетолог ClientCore, настраивает RFM на e-commerce-проектах и знает, где методика ломается.

ЧИТАЙТЕ ТАКЖЕ

«Как собрать RFM-таблицу, которую CRM-команда откроет после встречи: структура файла, границы шкал, матрица сегментов и правила передачи в регулярную работу.»

RFM-таблица и матрица: как выглядит расчет, который можно отдать в работу CRM-команде

Почему стандартный RFM в e-commerce считает не то

RFM — три числа: Recency (дни с последней покупки), Frequency (количество покупок), Monetary (сумма). Методика пришла из каталожной розницы, где почти каждый заказ завершался выкупом. В онлайн-рознице возвращается каждый пятый-шестой заказ: в одежде и обуви доля возвратов доходит до 25–30%, в электронике держится на уровне 5–10%, и у каждой категории своя норма.

Пока заказ со статусом «в пути» или «отменен» попадает в расчет, метрики врут все разом. Recency обнуляется на несостоявшуюся покупку. Frequency копит заказы, которые клиент не выкупил. Monetary суммирует деньги, которые вернулись. Клиент купил куртку за 40 000 ₽ и вернул ее — а модель ставит его в «чемпионов». Таких клиентов в топ-сегменте набирается достаточно, чтобы winback по «спящим» и апсейл по «чемпионам» давали случайный результат.

Открыли аналитику у клиента из fashion-ритейла: в топовый сегмент попало 18% клиентов с долей возвратов выше 40%. После очистки данных и пересчета стоимость контакта по кампаниям снизилась на треть — рассылки просто перестали уходить „покупателям“ отмененных заказов».
Егор Череватенко

Егор Череватенко

CRM-маркетолог, ClientCore

Шаг 1. Почистите заказы: что считать покупкой

Первое решение — какие статусы заказов вообще попадают в RFM. Рабочий набор: «оплачено», «доставлено», «выкуплено». Все промежуточные — «оформлен», «в пути», «ожидает оплаты» — проходят мимо расчета. Для наложенного платежа, где отказ при получении — обычная ситуация, считать нужно факт выкупа.

Второе решение — как обрабатывать возвраты. Есть две рабочие схемы. Консервативная: заказ, по которому был возврат, выпадает из расчета целиком — подходит при полных отказах. Точная: Monetary считается как сумма минус возвращенная часть — подходит для частичных возвратов. Выбирать нужно одну схему и фиксировать ее для всей базы.

Норма
  • в расчет идут только оплаченные и выкупленные заказы
  • Monetary — за вычетом возвращенных сумм
  • правило обработки возвратов записано и одинаково для всех сегментов
Red flag
  • в расчет попали заказы «в пути» и «отмененные»
  • возврат обнуляет Recency, будто покупки и не было
  • для разных категорий действуют разные правила без причины

Отдельная история — систематические возвраты: клиент возвращает каждый третий заказ. Такого стоит пометить отдельным флагом риска: ему не место в программе лояльных, даже при высокой сумме покупок.

Сегменты собираются на «грязных» заказах?

Проверим, какие статусы попадают в ваш RFM, и настроим фильтрацию под вашу CRM

🇷🇺

Шаг 2. Выберите окно — и сделайте его скользящим

Окно анализа — период, из которого RFM берет заказы. Ошибка раз — задать фиксированный период вроде «календарный год». Ошибка два — настроить окно один раз и не трогать. Пока окно не скользит, Recency неизбежно расползается: в декабре у купивших в январе R равен 340, и RFM показывает подавляющую часть базы «потерянной».

Рабочая логика — скользящее окно с регулярным пересчетом: каждый месяц (каждую неделю, если цикл короткий) RFM считается по последним N месяцам. Размер окна обязан закрывать естественный цикл покупки в категории. Продукты, косметика, капсулы — 3–6 месяцев. Одежда, обувь, аксессуары — около 12. Мебель, стройматериалы, техника — 18–24 месяца, иначе в «потерянные» попадет клиент, который ведет себя нормально.

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

В одном проекте окно стояло фиксированное — календарный год. Каждый январь половина базы улетала в „спящие“, потому что Recency считался заново. Перевели на скользящие 12 месяцев с пересчетом каждый месяц — сегменты стабилизировались за два цикла, и реакции на кампании стали предсказуемыми».
Егор Череватенко

Егор Череватенко

CRM-маркетолог, ClientCore

Шаг 3. Настройте пороги Frequency под свою категорию

Стандартное деление на квантили в e-commerce почти всегда проваливается: когда 70–80% базы сделали одну покупку, квантиль нарисует сегменты, внутри которых сидят одинаковые клиенты. Рабочий способ — взять распределение интервалов между покупками внутри категории и ставить границы по нему.

Пример подбора: в одежде лояльный клиент покупает 2–4 раза в год, граница F для «лояльных» получается в 2–3 покупки на окне в 12 месяцев. В косметике покупку повторяют раз в 2–3 месяца — там лояльные начинаются с 4–6 покупок в год. В мультикатегорийном магазине F лучше считать по основной категории клиента, а общий по магазину брать вспомогательным числом.

Норма
  • границы F выведены из распределения интервалов между покупками
  • в мультикатегорийном магазине F считается по основной категории клиента
  • пороги пересматривались после первых двух пересчетов
Red flag
  • квантили в базе, где 70–80% клиентов покупали один раз
  • один порог F для продуктов и мебели одновременно
  • пороги ни разу не пересмотрены с запуска

Пока рассылки уходят всей базе без деления, матрица бесполезна. Мы проверяли это в проекте MINIDINO: вместо рассылок всей базе собрали логику на сегментных правилах — эффективность email выросла на 110% за квартал (кейс).

Шаг 4. Проверьте сегменты до запуска кампаний

Перед включением сегментов в CRM-кампании пройдите три проверки. Первая — доли: «чемпионы» в 30% базы или «почти потерянные» в 60% сигналят, что пороги кривые. Вторая — экономика по ячейкам: средний чек и LTV «чемпионов» должны стабильно превосходить остальные сегменты; если этого не происходит, Monetary считается на грязных заказах. Третья — миграция: после 2–3 пересчетов клиенты должны перемещаться между соседними ячейками, а не прыгать из «чемпионов» в «потерянные» и обратно.

Дальше — пробный запуск. Берем одну ячейку, удобнее всего «на пороге ухода» с высоким Monetary, и запускаем winback-цепочку против контрольной группы. Сегмент, на котором проверка сходится плохо, отправляем на перенастройку — не в продакшен.

Шаг 5. Встройте RFM в CRM и назначьте пересчет

RFM, живущий в Excel-выгрузке, устаревает до первой рассылки. Рабочая схема — динамические сегменты в CRM с пересчетом по расписанию: ежемесячно для большинства категорий, еженедельно при коротком цикле, ежеквартально при длинном. В Mindbox это решается сегментами с обновлением по событию заказа либо плановым пересчетом — кампании уходят уже обновленным ячейкам.

Где RFM-сегментация в CRM дает основную выгоду: массовые рассылки идут с разным содержанием и частотой по ячейкам; вход клиента в «на пороге ухода» запускает winback-триггер; «спящие» попадают в стоп-лист для акций до реактивации. RFM-маркетинг раскрывается именно в автоматических сценариях — ручные выгрузки снимают половину пользы. Такой подход мы применяли в FINNTRAIL: вся база получала одно письмо без единого сегмента; после персонализации выручка email-канала прибавила 15%, а сборка письма занимает два часа вместо полутора недель (кейс).

ЧИТАЙТЕ ТАКЖЕ

«Красивая RFM-матрица есть, а прироста выручки нет. Пять ошибок, которые превращают сегментацию в декорацию, и проверка, приносит ли ваша модель деньги.»

Ошибки RFM-анализа: почему красивая матрица сегментов не дает прироста выручки

Хотите RFM-маркетинг, который приносит выручку?

Настроим в вашей CRM динамические сегменты с регулярным пересчетом и кампании под каждую ячейку

🇷🇺

Часто задаваемые вопросы

Возвратов у нас 3–5% — их все равно нужно фильтровать?

Зависит от доли и распределения. Если возвраты меньше 5% и равномерно размазаны по клиентам, искажение минимально, и правило можно зафиксировать как есть. В fashion с 20–30% возвратов без корректировки Monetary сегменты врут системно — там чистка обязательна.

Как часто пересчитывать RFM-сегменты?

Под цикл покупки. Короткий цикл (продукты, косметика) — еженедельно. Одежда и большинство категорий — ежемесячно. Длинные циклы (мебель, техника) — ежеквартально. Если пересчитывать реже, чем длится цикл, в «потерянные» начнут попадать живые клиенты.

Что делать с клиентами, у которых одна покупка?

F=1 у большей части базы — нормальная ситуация для e-commerce. Такие клиенты обрабатываются через R и M: для тех, кто ждет вторую покупку, нужна отдельная ветка коммуникаций — welcome-программа и сценарий второй покупки, а не общие ячейки матрицы.

Можно посчитать RFM в Excel, не внедряя в CRM?

Для проверки методики на исторических данных — да, Excel подходит и часто удобнее. Для рабочих кампаний — нет: выгрузка устаревает раньше первого запуска. Переходите в CRM с автоматическим пересчетом, как только пороги и фильтры закрепились.

Над проектом работали

Егор Череватенко

Егор Череватенко

CRM-маркетолог, ClientCore