Трансформируем ваши данные в прибыль

Пн — Пт: с 10:00 до 19:00

ГлавнаяБлогПоведенческая сегментация клиентов: шаг дальше RFM
,

Поведенческая сегментация клиентов: шаг дальше RFM

6 минут(ы)

Введение

RFM — это простая модель сегментации клиентов по трем признакам: Recency (как давно была покупка), Frequency (как часто покупают) и Monetary (сколько денег приносят). Она действительно полезна как базовая отправная точка: быстро показывает качество и активность аудитории.

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

Если немного упростить, то поведенческие сегменты отвечают на вопрос как ведет себя клиент и дают более прикладные сценарии для маркетинга. Например, один и тот же RFM-сегмент может включать людей с совершенно разными намерениями: кто-то регулярно просматривает карточки, ищет и фильтрует, но не решается купить; кто-то, наоборот, покупает редко и никак не взаимодействует с контентом. С точки зрения рекламы и персонализации это разные ситуации, и работать с ними одинаково обычно неэффективно.

  • null
    Дорогие читатели и пользователи платформы StreamMyData! Хотим пригласить вас в наш телеграм канал, в котором публикуются важные новости, обновления, статьи и кейсы.

Перейдите от RFM к поведению

Настройте поведенческую сегментацию под ваш бизнес

Что такое поведенческая сегментация по событиям

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

Чаще всего события удобно воспринимать как путь: сначала интерес (просмотр, поиск), затем оценка (фильтры, сравнение, отзывы), потом действие (корзина, оформление), и уже после — покупка и повторные покупки. По этой логике легко выделять сегменты, которые отличаются не деньгами, а состоянием клиента в воронке.

С чего начать: минимальная структура событий

Чтобы аналитика поведения покупателей работала стабильно, важно заранее договориться о структуре. Минимально стоит обеспечить, чтобы у каждого события были:

  • user_id (или устойчивый идентификатор, который можно связать с CRM)
  • event_time
  • event_name
  • session_id (желательно)
  • источник/канал (utm, referrer, platform)
  • ключевые параметры события (например, product_id, category_id, order_id, cart_id, message_channel)

По событиям обычно удобно делать две большие группы: продуктовые (сайт/приложение) и коммуникационные (email/push/мессенджеры/колл-центр). Когда они связаны одним user_id, появляется возможность видеть не только что делал, но и как реагировал на контакт, и это напрямую влияет на сегментацию клиентов для рекламы.

session_id и utm/referrer/platform нужны, чтобы понимать контекст поведения: где и в какой сессии происходили действия, и какой канал привёл пользователя. Без этого сегментация и оценка эффективности коммуникаций быстро превращаются в догадки.

Примеры поведенческих сегментов, которые чаще всего дают эффект

– Часто смотрит, но редко покупает. Это люди, у которых много product_view или category_view за последние 7-14 дней, но нет покупок или покупка была давно. Часто это сигнал сомнений: не хватает доверия, цены, условий доставки, или ассортимент не совпадает с ожиданиями. В рекламе и персонализации это сегмент для прогрева: социальные доказательства, отзывы, подборки, преимущества сервиса, напоминания о просмотренных товарах, иногда — ограниченные стимулы (но не обязательно скидки).

– Бросает корзину. Здесь всё проще: есть add_to_cart, но нет purchase в окне, например, 1-3 дня. Такой сегмент хорошо активируется цепочками ремаркетинга и триггерных сообщений. При этом полезно различать: бросил на корзине (ещё выбирает) или ушёл на шаге оплаты/доставки (вероятно, столкнулся с барьером).

– Идёт в оформление, но не платит. Если вы фиксируете checkout_start, payment_start, payment_error, то можно отделить людей, которые почти купили, от тех, кто просто положил в корзину. Для рекламы и CRM это самый горячий сценарий. Иногда достаточно подсказать альтернативный способ оплаты, показать условия возврата или поддержки.

– Активен в мессенджерах. События вида message_sent, message_open, message_reply, chat_started помогают выделить людей, которые охотно общаются в канале. Это ценно, потому что у сегмента обычно высокая конверсия при корректной частоте и содержании. Важно не путать доставлено и прочитано/ответил, иначе сегмент получится шумным.

Покупает только по скидкам. Если у вас есть признаки промо в заказе (promo_used, discount_amount, coupon_code), можно выделять клиентов, которые почти всегда покупают со скидкой. Их лучше вести не через общий скидочный шум, а через персональные условия, закрытые распродажи, уведомления о снижении цены на интересующие категории.

– Возвращается, но интересуется узко. Иногда человек стабильно активен, но только в одной категории или на ограниченном наборе товаров. Такие сегменты хорошо подходят для подборок, рекомендаций, cross-sell внутри контекста, а также для исключений (не показывать нерелевантную рекламу).

Как это считать: базовый подход к SQL и логике

Практически поведенческая сегментация строится одинаково: мы выбираем окно времени (например, 7/14/30 дней), считаем признаки поведения (частоты событий, последнюю дату, уникальные товары/категории), а затем накладываем правила, которые превращают признаки в сегменты.

Ниже пример “скелета”. Он показывает принцип: агрегации по пользователю и потом правила сегментации.

WITH
base AS (
  SELECT
    user_id,
    event_name,
    event_time,
    product_id,
    session_id
  FROM events
  WHERE event_time >= today() - INTERVAL 30 DAY
),
agg AS (
  SELECT
    user_id,
    countIf(event_name = 'product_view')    AS views_30d,
    countIf(event_name = 'add_to_cart')     AS add_to_cart_30d,
    countIf(event_name = 'checkout_start')  AS checkout_30d,
    countIf(event_name = 'purchase')        AS purchases_30d,
    maxIf(event_time, event_name = 'purchase')     AS last_purchase_time,
    maxIf(event_time, event_name = 'add_to_cart')  AS last_add_to_cart_time
  FROM base
  GROUP BY user_id
)
SELECT
  user_id,
  CASE
    WHEN add_to_cart_30d > 0
      AND purchases_30d = 0
      AND last_add_to_cart_time >= now() - INTERVAL 3 DAY
      THEN 'cart_abandoners'
    WHEN views_30d >= 10 AND purchases_30d = 0
      THEN 'high_intent_browsers_low_purchase'
    WHEN checkout_30d > 0 AND purchases_30d = 0
      THEN 'checkout_dropoffs'
    ELSE 'other'
  END AS segment
FROM agg;

Числа вроде 10 просмотров — пример. В реальном проекте пороги подбирают по распределениям и конверсии: например, “high intent” = верхний перцентиль по просмотрам/добавлениям, или точка, где вероятность покупки начинает резко расти. Окна 7/14/30 дней — это не стандарт для всех, а удобные базовые масштабы. Их выбирают от цикла покупки и скорости принятия решения: корзина — 1–3 дня, выбор — 7–14, общая активность — 30+.
Логика окна времени обычно такая:

  • Скорость цикла покупки: если товар покупают часто — окна короче; если цикл длинный (техника, мебель) — длиннее.
  • Память намерения: “бросил корзину” — это часы/1–3 дня, “смотрит и выбирает” — чаще 7–14 дней, “общая активность” — 30+ дней.
  • Короткие окна дают свежий сигнал, но мало данных; длинные — больше данных, но намерение может устареть.

Это некий базовый вариант. На практике сегменты становятся точнее, если добавить несколько важных уточнений.

Во‑первых, лучше считать не только количество, но и уникальность: сколько уникальных товаров смотрел, сколько разных категорий, сколько разных сессий. Частые просмотры в одной сессии и регулярные возвращения — разные истории.

Во‑вторых, важно отделять нет покупки от покупка была давно. Например, для сценария часто смотрит — редко покупает полезно иметь дополнительное условие про last_purchase_time, чтобы не смешивать новичков и тех, кто раньше покупал.

В‑третьих, полезно строить сегменты не только правилами, но и скорингом: когда у каждого пользователя есть некие баллы намерения(простая числовая оценка, насколько пользователь близок к покупке, на основе взвешенных действий + давности), а сегмент — диапазон. Но даже простые правила обычно дают хороший результат, если события качественные.

Как объединить RFM и поведение (чтобы сегменты стали ещё полезнее)

Самый практичный вариант — оставить RFM как слой ценности и добавить поведенческие статусы как слой действия. Тогда коммуникации становятся более управляемыми: вы понимаете и ценность клиента, и что с ним делать сейчас.
Например, можно сделать такую логику: сначала вычислить RFM‑группы, затем внутри каждой группы добавить поведенческий ярлык. В итоге появятся сочетания вроде: высокая ценность + бросает оформление, средняя ценность + реагирует в мессенджере, низкая ценность + активно смотрит категорию X. Это уже напрямую превращается в набор аудиторий для рекламы и сценариев для CRM.

Использование в рекламе и персонализации

Поведенческие сегменты особенно сильны там, где нужна точность момента и сообщения. Обычно это три направления.

Первое — ретаргетинг по намерению. Брошенная корзина, начало оформления, просмотр конкретной категории, повторные визиты без покупки — всё это даёт понятный креатив и посадочную.

Второе — исключения, которые экономят бюджет. Например, если человек уже купил, его можно временно исключить из дожима и переключить на допродажу. Если человек активно реагирует на мессенджер‑канал, можно снизить частоту платной рекламы и перенести часть коммуникаций в более дешевый канал.

Третье — look‑alike по поведению. Вместо того чтобы строить похожие аудитории на всех покупателей, можно брать покупателей с высоким намерением и быстрым циклом принятия решения или покупателей категории X с высокой повторяемостью. Такие аудитории часто получаются чище.

Важные ошибки, из‑за которых сегментация не работает

Поведенческая сегментация ломается не из‑за SQL запросов, а из‑за деталей данных и постановки.

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

Сделайте сегменты точнее

Настройте уникальность и уберите дубликаты событий со StreamMyData

Вывод

Поведенческая сегментация клиентов — это следующий шаг после RFM, который добавляет к оценке ценности клиентов понимание намерения и текущего состояния воронки. Через сегментацию по событиям вы получаете сегменты, которые проще применить: в триггерных сценариях, в персонализации, в исключениях и в построении аудиторий для рекламы. Ключ к успеху — нормальная структура событий, корректные окна времени и четкое соответствие: сегмент → действие → измерение результата.

Еще больше интересных и познавательных статей вы найдете в нашем блоге