Перейти к содержимому
Назад в Академию

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

09.03Email, CRM и retention
Содержание статьи

Владелец интернет-магазина кофе в Алматы, того же, что в уроке про Conversions API, выгружает из CRM всех, кто покупал за последний год: 2 400 человек. План простой - разослать всем промокод на 15% с текстом «Давно не заказывали». Но в этом списке есть люди, которые берут зерно каждый месяц и закажут на следующей неделе без всякого промокода. Есть те, кто однажды купил дрип-пакеты в подарок, и зерно им, может быть, вообще не нужно. И есть восемьдесят человек, которые месяцами заказывали регулярно, а потом пропали. Промокод не скажет, почему они ушли, а это самые дорогие потери магазина. Магазин и цифры в уроке условные.

RFM-анализ делит базу на такие группы по трём цифрам из истории заказов. Разберём, как посчитать их по выгрузке из CRM, как разложить клиентов на сегменты и что делать с каждым.

Три цифры о каждом клиенте

R (recency, давность) - сколько дней прошло от последнего оплаченного заказа клиента до даты расчёта. F (frequency, частота) - сколько оплаченных заказов он сделал за период, M (monetary, деньги) - на какую сумму.

Давность в этой тройке главная. IBM прямо называет её самым важным признаком, когда нужно предсказать, кто откликнется на новое предложение. Частота и деньги рассказывают, каким клиентом человек был раньше.

Почему мало одной суммы, видно на двух покупателях магазина. Оба пришли летом, так что вся их история укладывается в 90 дней. Алия три раза заказала килограмм зерна с коробкой дрип-пакетов, по 20 000 ₸, последний раз пять дней назад. Бек один раз купил кофемолку с килограммом зерна за 60 000 ₸, 50 дней назад.

Одинаковая сумма, разные R и F

История за 90 дней
ПокупательR: дней с последнего заказаF: заказовПокупки
Алия533 заказа по 20 000 ₸
Бек5011 заказ на 60 000 ₸

M одинаковый; давность и частота покупок различаются.

Одна сумма покупок скрывает разную историю клиентов.

По сумме они одинаковы. По истории Алия заказывает каждый месяц, а Бек сделал одну крупную покупку, и три четверти его суммы - кофемолка, которую второй раз не покупают. Если сортировать базу по M, Бек окажется рядом с Алией, хотя его следующий заказ, если он будет, - это килограмм зерна, вчетверо дешевле кофемолки с зерном.

Выгрузка из CRM: что считать заказом и клиентом

Прежде чем считать, запишите правила. Без них два расчёта по одной базе дадут разные сегменты, и вы не поймёте почему.

  • Дата расчёта одна на всех: 1 октября 2026 года. R считается от неё, а не от дня, когда вы открыли таблицу.
  • Заказ - тот, что получил в CRM статус «оплачен», как и при отправке в Meta. Отменённые и возвращённые не считаются.
  • Клиент - контакт в CRM, а не номер телефона в заказе. Если человек заказывал с двух номеров, CRM могла завести на него два контакта, и заказы разделятся между ними. Дубли склеивают до расчёта, с учётом того, как в CRM устроены контакты и сделки.
  • Окно. R считается по последнему заказу, F и M - за 12 месяцев.

Окно в 90 дней выглядит удобнее, но прячет тех, кто нужен больше всех. Дамир с января по июль заказывал килограмм эфиопского зерна за 15 000 ₸ примерно раз в 30 дней, последний раз 15 июля. За 12 месяцев у него F = 7 и M = 105 000 ₸. В окно 90 дней, с 3 июля по 1 октября, попадает только июльский заказ: F = 1, M = 15 000 ₸, и Дамир выглядит как человек, который один раз попробовал и ушёл.

Посчитать три цифры можно в Google Таблицах. Выгрузите оплаченные заказы за год: ID клиента, номер заказа, дата, сумма. Создайте сводную таблицу через «Вставка» → «Сводная таблица», в строки поставьте ID клиента, в значения дату, номер заказа и сумму (как создать сводную таблицу). У даты выберите в «Суммировать по» MAX, это последний заказ, а второй раз добавьте дату с MIN, это первый. У номера заказа COUNTA, у суммы SUM (какие функции есть в сводной таблице). В соседнем столбце посчитайте R: дата расчёта минус дата последнего заказа.

У магазина вышло 2 400 клиентов, 7 200 оплаченных заказов и 108 000 000 ₸ за год, в среднем 15 000 ₸ за заказ.

Баллы: пороги по ритму покупок

R = 5 дней - значение. R-балл 3 - место на шкале, где больше баллов у тех, кто покупал недавно. Это разные вещи, и в таблице их держат в разных столбцах.

В классической схеме каждую цифру делят на несколько групп и склеивают баллы в код: при пяти группах лучший код 555, а всего комбинаций 125. Для магазина с 2 400 клиентами это в среднем около 19 человек на комбинацию, и никто не будет писать 125 разных сообщений. Делить на пять равных групп по F тоже не выйдет: у 1 560 клиентов из 2 400 ровно один заказ. Это 3,25 группы по 480 человек, то есть первые три группы и четверть четвёртой состоят из клиентов с F = 1, и баллы 1, 2, 3 и часть четвёрок значат одно и то же.

Поэтому пороги ставят по ритму самого магазина. Средний интервал клиента берут из той же сводной таблицы: дата последнего заказа минус дата первого, делённые на F - 1. У 840 клиентов, которые заказывали больше одного раза, медиана такого интервала 28 дней. Отсюда шкала:

БаллR: дней с последнего заказаF: заказов за 12 месяцев
3до 304 и больше
231-602-3
1больше 601

R до 30 дней - клиент в своём обычном ритме. 31-60 - пропустил один заказ. Больше 60 - пропустил два и больше. Четыре заказа в привычном ритме магазина - это хотя бы три месяца подряд.

Порог «больше 60 дней» один на всех, а ритм у клиентов разный. Точнее сравнивать R с личным интервалом клиента, тем же, по которому ставили пороги. У Дамира от 14 января до 15 июля 182 дня и шесть интервалов, около 30 дней на интервал. На 1 октября у Дамира R = 78: для него это два пропущенных заказа. Клиент, который берёт зерно раз в два месяца, при тех же 78 днях просто немного задерживается.

M в этой схеме сортирует клиентов внутри сегмента и подсказывает, кому из пропавших писать первым. Отдельных баллов для денег у магазина нет, потому что типичный заказ - килограмм зерна примерно за 15 000 ₸, и сумма почти повторяет частоту. Там, где M расходится с F, как у Бека, это повод посмотреть, что человек купил.

Пять сегментов и что делать с каждым

СегментПравилоКлиентовЧто делать
ПостоянныеR 3, F 2 или 3300Без скидок. Новые лоты зерна показывать им первыми
НовичкиR 3, F 1220Через три-четыре недели после заказа напомнить, что зерно заканчивается
Пора напомнитьR 2, любой F320Одно сообщение о зерне, которое человек брал в прошлый раз
Ценные, но пропалиR 1, F 380Выяснить, почему перестали заказывать
ДавниеR 1, F 1 или 21 480Редкая рассылка о новых лотах или ничего

Доли сегментов у вашей базы будут свои: они зависят от того, что продаёт бизнес и как давно он работает.

Алия с R 5 дней и тремя заказами попадает в постоянные. Скидку постоянным не дают: они закажут и так, и промокод только уменьшит выручку с заказов, которые случились бы без него. Бек с R 50 дней - в «пора напомнить». Его килограмм зерна, купленный с кофемолкой, мог уже закончиться, и сообщение про зерно ему уместно. А вот обращаться к нему как к клиенту на 60 000 ₸ не стоит.

Новичкам напоминание нужно вовремя. Медиана интервала 28 дней, поэтому писать имеет смысл на третьей-четвёртой неделе после первого заказа, когда пачка подходит к концу, а не на следующий день после доставки.

Ценные, но пропали

Это сегмент Дамира: 80 клиентов, у каждого не меньше четырёх заказов за год, и ни одного за последние 60 дней. За год они сделали 520 заказов на 7 800 000 ₸. Это 3% клиентов и 7% выручки магазина.

Три цифры здесь читаются так. F и M - прошлое: Дамир полгода заказывал каждый месяц и принёс 105 000 ₸. R - настоящее: с июля он не заказывает. Вместе это повод выяснить, почему он остановился. Приветствие для новичков ему не подходит, он давний клиент. Скидка всей базе тоже мимо: она достанется и тем, кто купил бы без неё, а причину паузы так и не покажет.

Порядок работы с сегментом:

  1. Отсортируйте 80 клиентов по M, начните с тех, кто принёс больше.
  2. Откройте в CRM последний заказ каждого: статус, доставка, жалобы, что было в заказе.
  3. Разложите найденное. У магазина вышло так: у 18 клиентов, в том числе у Дамира, закончился лот, который они брали, у 10 в карточке жалоба на опоздавшую доставку, а у 52 причины в CRM нет, потому что их никто не спрашивал.
  4. Напишите каждому лично, от имени владельца, а не рассылкой. Дамиру: «В сентябре пришла новая Эфиопия, с другой фермы. Отложить вам килограмм?» Тем, кто жаловался, сначала извинение и вопрос, всё ли теперь в порядке с доставкой. Остальным 52 - вопрос, что пошло не так.
  5. Ответы запишите причиной из списка, как причины отказа в CRM. Через пару месяцев станет видно, на чём магазин теряет постоянных: на ассортименте, доставке или цене.

Измерить, сколько клиентов вернули сообщения, на восьмидесяти людях не выйдет. Если отложить половину в контроль, получится по 40 человек, и разница в два-три вернувшихся может оказаться случайной. На таком сегменте ценность работы в причинах, а не в цифре возврата. Когда сегмент вырастет до сотен человек, часть его оставляют без сообщений и сравнивают, как в A/B-тесте.

Чего RFM не скажет

  • Причину паузы. R показывает, что клиент перестал заказывать, а почему - выясняют по заказам и в разговоре.
  • Прибыль. M - выручка. Кофемолка Бека и зерно Алии могут давать магазину разную маржу при одинаковых 60 000 ₸. Если решение зависит от прибыли, вместо выручки берут вклад, как в юнит-экономике.
  • Будущее новичков. У клиента, пришедшего две недели назад, F не может быть больше одного-двух, поэтому новички и выделены в отдельный сегмент, а не сравниваются с постоянными.
  • Что изменилось после расчёта. RFM - снимок на дату. Сегменты пересчитывают раз в месяц, а перед отправкой убирают тех, кто заказал после даты расчёта или отписался от сообщений.

Если вы продаёте то, что покупают раз в несколько лет, например мебель, F почти у всех будет равен единице, и RFM мало что даст. С подпиской, где все платят одинаково каждый месяц, RFM тоже мало что различит: там смотрят, как долго остаются клиенты разных месяцев (когорты и LTV), и откуда они пришли (сегментация по каналам).

Задание: RFM по своей базе

Нужна выгрузка заказов бизнеса с повторными покупками: магазина вашего клиента, доставки, салона. Если клиента пока нет, попросите выгрузку у знакомого владельца без имён и телефонов, только с ID клиента.

Выполнено 0 из 6

Если сегмент «ценные, но пропали» вышел пустым, проверьте, умещается ли он в окно: четыре заказа и два пропущенных - это пять интервалов. При медиане 90 дней это больше года, и за 12 месяцев такого клиента не будет. Тогда снижают порог F до трёх заказов или берут окно 18-24 месяца. Если пустыми вышли и постоянные, бизнес, скорее всего, продаёт то, что не покупают повторно, и RFM ему не подходит. А если в сегменте сотни человек, начните с первых двадцати по M: на них вы поймёте причины быстрее, чем на рассылке всем сразу.

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

Нужна помощь с аналитикой вашего проекта?