RFM-сегментация в Mindbox: как собрать расчет и автоматизировать обновление сегментов
Как собрать RFM-анализ внутри Mindbox: баллы, пороги, динамические сегменты, пределы платформы и признаки, что расчет пора выносить во внешнюю аналитику.
База в Mindbox есть, заказы падают, рассылки уходят по расписанию. Но стоит спросить, сколько в базе лояльных клиентов, а сколько — давно спящих, и в ответ обычно тишина или «ну, примерно половина». Половина чего — никто не знает.
RFM-анализ снимает этот вопрос за день: клиент получает три числа, и структура базы становится видна целиком. Как собрать такой расчет внутри платформы, где Mindbox начнет буксовать и что делать тогда — рассказывает Валерия Старостина, CRM-маркетолог ClientCore.
ЧИТАЙТЕ ТАКЖЕ
«У ресторанной сети в базе 60 тысяч гостей, а рассылка одна на всех: «попробуйте новое меню». Ее получает и менеджер, который завтракает у вас каждый будний день, и гость, заходивший один раз — на…»
RFM раскладывает каждого клиента по трем осям. Recency — давность последней покупки. Frequency — как часто человек покупает. Monetary — сколько денег принес. По каждой оси клиент получает балл от 1 до 5: «пятерка» по Recency означает «купил недавно», «единица» — «про него пора забыть или срочно возвращать». Матрица из таких кодов дает карту базы: видно, сколько людей в ячейке «покупают часто и много», сколько — в «были лояльны, но пропали». Из этой карты и растут сценарии.
Считать удобно прямо внутри Mindbox по простой причине: баллы живут в карточке клиента рядом с коммуникациями. Сегмент сразу доступен в рассылках и сценариях, никаких ручных выгрузок в Excel перед каждым запуском. Изменился балл — изменился состав сегмента, и очередная цепочка ушла по актуальным людям.
Цена рассылок «всем подряд» известна. В FINNTRAIL, например, каждое письмо до работы с нами получала вся база разом — без единого сегмента. После персонализации рассылок выручка email-канала выросла на 15% (кейс). RFM — один из рабочих способов завести такие сегменты системно, на данных о покупках.
Что проверить в данных до настройки
RFM считается по заказам, поэтому качество расчета равно качеству заказной истории в Mindbox. Перед настройкой стоит ответить на три вопроса. Все ли заказы попадают в платформу — включая офлайн-чеки и возвраты. Нет ли дублей: две карточки одного человека размывают Frequency вдвое. Хватает ли глубины истории: комфортный минимум — три цикла повторной покупки, обычно это 12–24 месяца.
Норма
в расчет идут только оплаченные завершенные заказы
дубли клиентов склеены до запуска
история покрывает хотя бы год продаж
Red flag
в Monetary попадают отмененные заказы и покупки сотрудников
офлайн-продажи живут отдельно и в Mindbox не выгружаются
история короче одного цикла повторной покупки
Примерно в каждом втором проекте старт RFM сдвигается на неделю: открываем заказы и находим тестовые покупки менеджеров на пару миллионов рублей. Пока это не вычистишь, баллы врут по всей базе — Monetary раздувается, а „лучшие клиенты“ оказываются сотрудниками колл-центра».
Валерия Старостина
CRM-маркетолог, ClientCore
Как собрать пересчет RFM-баллов в Mindbox
Сама сборка укладывается в четыре шага.
Шаг 1. Пороги. Recency привязывают к циклу покупки: если в среднем клиент возвращается за 45 дней, то R=5 — покупка за последние 30–45 дней, R=1 — давно за пределами цикла. Пороги для Frequency и Monetary считают по квантилям на выгрузке заказов — один раз, руками, затем фиксируют в настройках.
Шаг 2. Поля. В карточке клиента создают дополнительные поля: r-балл, f-балл, m-балл (целые от 1 до 5) и строковое поле сегмента — например, «champions» или «at_risk». Строка удобна для фильтров в рассылках и подстановки в персонализацию.
Шаг 3. Пересчет. Ночной скрипт забирает заказы через API, считает баллы по каждому клиенту и возвращает значения в поля. Утром сегменты уже обновлены. Mindbox сам квантили по базе не считает — эта часть всегда живет рядом с платформой, и это нормально.
Шаг 4. Контроль. Раз в квартал сверяют распределение: если в «пятерке» по Monetary сидит 40% базы, шкала устарела и пороги пора пересчитать.
Пересчет ставим на 3–4 ночи, когда никто не шлет рассылки. На базе в 300 тысяч контактов полный цикл занимает около часа: забрать заказы, посчитать, вернуть поля. Утром маркетолог видит свежую матрицу и не трогает ничего руками».
Валерия Старостина
CRM-маркетолог, ClientCore
Динамические сегменты: как работает автообновление
Динамический сегмент — это сегмент по условиям, состав которого Mindbox пересчитывает сам при каждом изменении данных клиента. Обновился r-балл после ночного расчета — и человек без всяких ручных операций переехал из «засыпающих» в «активные». Рассылка, запланированная на сегмент, всегда уходит по свежему составу. На этом и держится сегментация в Mindbox в связке с RFM: баллы обновляет скрипт, состав групп платформа пересобирает сама.
Заводить все 125 ячеек матрицы 5×5×5 не нужно. На практике хватает 8–12 групп: champions с высокими R и F, новички с высоким чеком, засыпающие лояльные, потерянные. Каждой группе — свой сценарий, иначе сегментация останется красивым отчетом.
Норма
названия читаются без расшифровки: «засыпающие_лояльные», а не «seg_rfm_17»
каждый сегмент привязан минимум к одному сценарию
состав сверяют с выгрузкой раз в квартал
Red flag
заведены все 125 ячеек, работают с пятью
сегменты статические: выгрузка из Excel перед каждой рассылкой
сегмент есть, а ни одна коммуникация на него не смотрит
Где Mindbox начинает буксовать
Нативного RFM-инструмента в платформе нет. Квантили и перцентили Mindbox сам не считает, пороги задаются руками. Массовый пересчет всей базы по расписанию — тоже не штатная история: сценарии заточены под события по конкретному клиенту, поэтому ночной пересчет делают внешним скриптом.
Пороги «уплывают». База выросла, средний чек изменился, а шкала осталась прошлогодней: баллы начинают сравнивать клиентов с прошлым, а не друг с другом. Отсюда правило ревизии раз в квартал.
Тяжелые условия — отдельная зона риска. Агрегаты по заказам с вложенными условиями на большой базе считаются не мгновенно. Если рассылка по сегменту собирается полчаса, это повод перенести сложную логику в поля, а в условиях сегмента оставить простое «rfm_segment = ...».
Когда расчет стоит вынести во внешнюю аналитику
Признаки того, что пора: активных контактов за полмиллиона; нужны отдельные шкалы по категориям, потому что у корма цикл покупки месяц, а у амуниции — год; RFM нужен по брендам или регионам; баллы связывают с прогнозом оттока. Схема при этом простая: SQL или Python считает баллы на витрине заказов, через API они попадают в поля Mindbox, а внутри платформы остаются сегменты и коммуникации.
Норма
база до пары сотен тысяч активных контактов
один бренд, одна витрина заказов, один цикл покупки
пороги заданы по бизнес-логике и всех устраивают
Red flag
отдельные шкалы нужны по четырем-пяти категориям
маркетинг ждет сборку тяжелого сегмента по полчаса
пороги не пересматривали больше года
Когда у клиента несколько категорий с разными циклами, единая шкала RFM начинает врать: любитель ежемесячных покупок корма всегда „горячий“, а покупатель дорогой амуниции навсегда застревает в „спящих“. Такие проекты считаем снаружи, а внутрь платформы возвращаем только готовые баллы и название сегмента».
Валерия Старостина
CRM-маркетолог, ClientCore
Как работать с ячейками матрицы
Сегменты без тактик денег не приносят, поэтому каждой группе назначают свою механику. Champions получают ранний доступ к новинкам и закрытые распродажи — без скидочного пресса, они и так покупают. Новички с высоким Monetary — онбординг и дожим до второй покупки внутри их цикла. Засыпающие — win-back каскад: email, затем push, затем SMS с нарастающим оффером. Потерянные — редкие касания в дешевом канале, без попыток выкупить внимание скидкой 50%.
Эффект точечной работы измерим. У MINIDINO рассылки уходили всей базе без разбора сегментов; мы пересобрали логику, сделав ставку на точность попадания, и получили +110% к эффективности email-рассылок за квартал (кейс). RFM-матрица как раз дает карту, по которой такая точность настраивается.
ЧИТАЙТЕ ТАКЖЕ
«Первая покупка часто воспринимается как победа. По сути, это оплаченный тест-драйв: клиент попробовал продукт, сервис и доставку — и теперь решает, нужны ли вы ему дальше.»
Раз в сутки достаточно почти всегда: Recency движется медленно, и ежечасный пересчет ничего не меняет. Исключение — цикл покупки в несколько дней, как в доставке еды: там пересчет два-три раза в день оправдан.
Можно ли собрать RFM-сегментацию в Mindbox без внешних скриптов?
Частично. В условиях сегментации есть агрегаты по заказам: дата последнего, количество и сумма за период. На них собирают упрощенную версию RFM. Ограничение в том, что пороги задаете вы сами, а не квантили по базе — шкала будет экспертной, а не статистической.
Сколько сегментов заводить на старте?
Полная матрица дает 125 ячеек, но работать с ними все равно будут единицы. Рабочий минимум — 6–10 групп, у каждой своя цель и свой сценарий. Остальные ячейки появятся сами, когда базовые сценарии заработают.
Что делать, если история заказов в Mindbox короче года?
Считать на том, что есть, пометить пороги как предварительные и пересмотреть их после накопления истории. Параллельно старые заказы можно импортировать в платформу через API или файлом — тогда шкала сразу станет честнее.