RFM-анализ для розницы: как учитывать офлайн-чеки и сезонность
Стандартная RFM уверена: ваш лучший клиент ушел. На деле он просто ждет декабря. Как учесть офлайн-чеки и сезонность, чтобы модель перестала врать.
Картина знакомая: открываете RFM-дашборд в марте, а сегмент «потерянных» вырос на треть. Маркетинг бьет тревогу, готовит реактивационные рассылки со скидкой 20%, жжет маржу. В декабре эти «потерянные» возвращаются сами — как возвращались каждый год. Просто в вашей категории покупают раз в 10 месяцев, а модель об этом не знала.
RFM-анализ для розницы упирается в две вещи, о которых учебники молчат: офлайн-чеки и сезонность. Первая ломает исходные данные, вторая — логику оценки. Как перенастроить модель, чтобы она видела реальную базу, рассказывает Егор Череватенко, CRM-маркетолог ClientCore.
ЧИТАЙТЕ ТАКЖЕ
«RFM показывает, сколько клиент потратил, но молчит о том, стабилен ли его спрос. Разбираем, как ABC/XYZ-анализ закрывает слепые зоны RFM и делает сегментацию рабочим инструментом, а не отчетом для…»
Почему стандартная RFM-модель ошибается на рознице
Классическая RFM-сегментация клиентов выросла из каталожной торговли и e-commerce: там каждый заказ привязан к профилю, дата и сумма известны до копейки. Подставил три числа — получил сегмент. В рознице картина другая.
Recency наказывает тех, кто покупает по циклу. Клиент оптики обновляет очки раз в 12–24 месяца: через 90 дней тишины модель записывает его в «дрейфующие», хотя для категории он активный. Родитель, закупивший школьную форму в августе, в сентябре выглядит ушедшим. Покупатель новогодних подарков дает всплеск Frequency на две недели и год молчания — квантили превращают его в аномалию.
Смотрел недавно сегментацию сети товаров для дачи: модель отправила в „спящие“ 41% базы. Начали проверять вручную — две трети этих людей покупали строго с апреля по июнь, два года подряд. Модель их хоронила, а они просто ждали сезона».
Егор Череватенко
CRM-маркетолог, ClientCore
Frequency искажается похожим образом: один чек на 40 позиций перед праздником и 40 визитов по одному товару — разное поведение, но по F первый покупатель выглядит случайным прохожим.
Сначала данные: склейка офлайн-чеков и профилей
Второй источник ошибок — сырые данные. В типичной рознице 30–60% чеков пробивается без карты лояльности. Эти покупки живут в кассовой системе, но для RFM их не существует: клиент совершил пять визитов, модель видит два. Recency и Frequency занижены у всей базы, причем неравномерно — сильнее всего у тех, кто ленится доставать карту.
Склейка профилей — отдельная боль. Один человек заводит карту на кассе, потом регистрируется в интернет-магазине с другой почтой, потом оформляет заказ по телефону. В CRM живут три профиля с разной историей, и каждый получает свою рассылку. Надежный ключ склейки — телефон: он меняется реже почты и фамилий.
Проверьте еще, как учитываются возвраты. Если они попадают в Monetary с плюсом, топ-сегмент наполовину состоит из людей, вернувших товар, — модель ставит их на пьедестал за покупку, которой не было.
Норма
доля идентифицированных чеков измерена и отслеживается как KPI
офлайн-чеки попадают в CRM в течение суток после покупки
профили склеены по телефону, дубли схлопываются автоматически
возвраты вычитаются из Monetary и Frequency
Red flag
RFM считается только по онлайн-заказам, офлайн «потом докрутим»
возвраты включены в выручку
у клиента несколько профилей, и никто не знает, сколько их на самом деле
Настройка Recency и Frequency под сезонный спрос
Главная правка для сезонного ритейла — перестать мерить давность покупки в абсолютных днях. Работают два приема.
Первый: считать R-балл внутри категорийного цикла. Если нормальный интервал покупки в категории — 10 месяцев, то «давно не покупал» начинается на 12–15-м месяце, а не на 90-м дне. Практически это означает квантили по категориям или Recency относительно ожидаемой даты следующей покупки.
Второй прием — сравнение с тем же периодом год назад. Клиент, купивший в прошлом декабре и молчащий до ноября, в норме. Он становится «дрейфующим», только если не вернулся к декабрю текущего года. Считать так сложнее, зато модель перестает реактивировать людей, которые вернутся сами.
Frequency под сезон тоже стоит почистить: разовые оптовые закупки (садовый центр в мае, школа в августе) разумно объединять в одно «сезонное событие», иначе всплеск искажает квантили.
Правило простое: реактивацию сезонных клиентов запускаем за 6–8 недель до пика, когда они еще не выбрали, где купить. Кампания в разгар сезона проигрывает той, что ушла раньше: по нашим замерам у „ранних“ писем open rate выше на треть».
Егор Череватенко
CRM-маркетолог, ClientCore
Работает и обратная механика — подогрев базы в низкий сезон. В проекте для ресторанов «Урюк» мы запустили розыгрыш сертификатов в период спада: выручка от акции оказалась в 20,7 раза выше затрат на призовой фонд, а программа лояльности получила 2435 новых участников (кейс). Сезонный провал в данных — часто просто окно для механики, которую конкуренты проспали.
Monetary: почему сумма чеков врет
У Monetary в рознице три подводных камня. Возвраты уже обсуждали. Второй — корпоративные и оптовые чеки: закупщик подметает полку на 300 тысяч для офиса, и модель назначает его VIP-клиентом с персональными предложениями. Такие чеки стоит выделять отдельным признаком и выводить из B2C-модели.
Третий — оборот вместо маржи. Клиент со стабильным чеком 15 тысяч в месяц и маржой 35% ценнее промо-охотника, который за год набирает 200 тысяч оборота по акциям с маржой около нуля. Если платформа позволяет, считайте M по марже или хотя бы по выручке за вычетом скидки.
Был клиент, у которого в топ-1% по Monetary попал покупатель с одним чеком на 480 тысяч — товар он вернул через две недели. Модель успела отправить ему персональное предложение и скидку VIP-сегмента. После этого случая ввели правило: чек учитывается в M только после закрытия окна возврата».
Егор Череватенко
CRM-маркетолог, ClientCore
Норма
Monetary считается по выручке net: минус возвраты и отмены
оптовые и корпоративные чеки выделены в отдельный сегмент
чек попадает в модель после закрытия окна возврата
Red flag
топ по M состоит из разовых крупных чеков годичной давности
покупка по акции весит столько же, сколько покупка по полной цене
один B2B-закупщик перекашивает квантили всей базы
Как часто пересчитывать модель
Для массовой розницы с коротким циклом покупки (косметика, аптеки, продукты) разумный ритм — пересчет раз в месяц. Для длинных циклов (оптика, мебель, электроника) — раз в квартал, но R-метрику по «дрейфующим» проверять чаще, чтобы не пропустить точку возврата.
Окно данных должно закрывать минимум один полный сезонный цикл: для большинства категорий это 12 месяцев, для длинных — 24. Меньше — модель снова не увидит сезонных покупателей и запишет их в ушедшие.
В Mindbox сегменты пересчитываются автоматически, и само по себе это дает эффект: переход клиента из «лояльных» в «дрейфующие» — готовый триггер для цепочки. Такой переход виден через 30–60 дней после отклонения от цикла, когда вернуть клиента еще дешево. Разовый Excel от аналитика такого не даст — он устаревает в день выгрузки.
Что делать с сегментами перед пиком и после него
Практический календарь для сезонной розницы:
За 6–8 недель до пика — реактивация прошлогодних сезонных покупателей: напоминание, подборка, повод вернуться. Эти люди еще не решили, где купить, и обходятся дешевле любого перформанса.
В пик — не жечь базу скидками. Тот, кто купил в прошлом декабре по полной цене, вернется и без промокода: ему достаточно повода и ассортимента. Скидку получают те, чей цикл подходит к концу, а покупки нет.
После пика — работа со вторым чеком. Новички сезона — самая хрупкая часть базы: без онбординга 70–80% из них не вернутся. Welcome-цепочка, кросс-продажа через 2–3 недели, затем перевод в регулярный контент.
Ставка на точность сегментов окупается лучше, чем рост охвата. В проекте для MINIDINO мы пересобрали логику рассылок вместо отправок всей базе разом — и получили +110% к эффективности email за квартал без увеличения числа кампаний (кейс).
ЧИТАЙТЕ ТАКЖЕ
«20% клиентов приносят 80% выручки, но рассылки все равно уходят всем одинаковые. Разбираем, как посчитать ABC-сегментацию и что делать с каждой группой.»
Подходит ли RFM-анализ для интернет-магазина без офлайн-точек?
Да, и работает он там проще: все заказы идентифицированы, данные чище. Но сезонность никуда не девается. Если вы продаете новогодние товары или садовый инвентарь, R-балл все равно придется привязывать к циклу категории, иначе модель будет хоронить живых клиентов каждое межсезонье.
Какой период брать для расчета?
Минимум один полный сезонный цикл. Для категорий с покупкой раз в 2–3 месяца достаточно 12 месяцев истории, для длинных циклов — 18–24. Если истории меньше, чем цикл, честнее считать RFM только по активным клиентам, а остальных пометить как «недостаточно данных».
Что делать с чеками без карты лояльности?
Присвоить их конкретному клиенту нельзя, поэтому в персональный RFM они не идут. Но их долю стоит держать в голове как поправку: если анонимны 40% чеков, выводы по Frequency занижены примерно настолько же. Параллельно работайте с идентификацией на кассе — мотивация кассиров, QR в чеке, бонус за привязку карты обычно дают заметный рост уже за квартал.
Как понять, что модель настроена неверно?
Простой тест: выгрузите сотню клиентов из сегмента «потерянные» и просмотрите их историю глазами. Если половина покупает раз в год в одно и то же время — модель хоронит сезонных клиентов. Второй тест: сравните распределение сегментов с тем же месяцем прошлого года. Резкие перетекания без причины в бизнесе означают, что ломаются данные: дубли, возвраты, задержка выгрузки чеков.