Разработка AI-сегментации клиентов: кластеризация + LLM-описание

Ручные правила сегментации устаревают быстрее, чем меняется база: клиенты переходят в другие группы, а разметка остаётся прежней. Мы разрабатываем AI-сегментацию клиентов под ключ — от подготовки данных до кластеризации и понятных описаний каждого сегмента. Ручной разметки становится в разы меньше, а команда получает готовые регламенты работы с базой.
Часто задаваемые вопросы

Почему AI-сегментация клиентов упирается в ручные правила

Сегодня сегмент чаще всего собирается руками: аналитик пишет условия отбора в SQL или конструкторе отчётов, выгружает базу из CRM, биллинга и системы поддержки и сводит всё в одну таблицу. Правила при этом статичные — «покупал за последние 90 дней», «средний чек выше порога», — а разрозненные выгрузки из систем сходятся только после сверки по ключу и ручного разбора расхождений.

Цена такой схемы проявляется не сразу. Клиент меняет поведение за недели, а правила отбора живут до следующего пересмотра, поэтому сегмент остаётся прежним и уводит коммуникацию мимо аудитории. Добавьте пересечения: один и тот же клиент попадает в три группы, потому что каждая собрана своим запросом, а за согласованностью границ между ними никто не следит.

Дальше всё упирается в пропускную способность аналитика. Каждый новый сценарий — это ещё один запрос, ещё одна сверка и ещё одна версия таблицы, которую через месяц невозможно воспроизвести. Объяснить, почему клиент оказался в группе, тоже нечем: за условием «средний чек выше порога» не стоит никакой модели поведения, только порог, выбранный на глаз.

AI-сегментация клиентов снимает это иначе. Модель ищет совместные закономерности по десяткам признаков сразу — частота, давность, состав корзины, каналы, реакция на прошлые кампании — и выделяет группы там, где ручная сегментация базы видит однородную массу. Языковая модель превращает каждый кластер в читаемое описание: за что группа отвечает, чем отличается от соседней и что с ней делать в кампании. Ниже разбираем, как это закрывается по шагам.

Сегментация по поведению: что уходит из ручной работы

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

Единый профиль клиента собирается в колоночном хранилище ClickHouse: история событий, частота покупок, давность последнего контакта, глубина категорий, канал привлечения, реакция на прошлые коммуникации. Признаки считаются в скользящих окнах на 7, 30 и 90 дней и нормируются — профиль не зависит от масштаба клиента, а обновляется инкрементально, без полного пересчёта.

Дальше — кластеризация на векторах поведения. Ключевое здесь не число групп, а их устойчивость: перед выкаткой проверяем, какая доля клиентов остаётся в своей группе между пересчётами, и отбрасываем размытые границы. Иначе границы смещаются при каждом запуске, и опереться на такой сегмент нельзя.

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

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

Сравнение подходов: правила, кластеризация, гибрид

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

Чистая кластеризация редко доходит до внедрения: метки вида «кластер 3» ничего не говорят бизнесу. Гибридный подход к сегментации снимает это ограничение — языковая модель описывает состав каждого кластера и предлагает понятное имя, а правила задают границы, за которые сегмент не выходит.

Вариант Когда подходит Ограничения
Правила по признакам Группы уже известны, нужна объяснимость: всегда видно, почему клиент попал в сегмент С ростом числа условий пороги конфликтуют, правила устаревают, новые группы не находятся
Кластеризация клиентов Состав групп неизвестен, поведенческих признаков много, есть история событий Число кластеров задаётся вручную, результат чувствителен к масштабу признаков и выбросам, метки нечитаемы без описания
Гибридный подход Нужны и известные срезы, и поиск новых: правила отсекают нерелевантное, кластеризация делит остаток Дороже в поддержке: нужно следить за дрейфом данных и пересматривать границы
Обучение на размеченной истории Есть накопленные метки прошлых кампаний и стабильный набор признаков Разметка субъективна и устаревает, модель воспроизводит прошлые решения вместо новых

Этапы внедрения: от аудита данных до передачи

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

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

  2. Схема признаков. Сырые поля переводим в поведенческие: частота и давность покупок, динамика за равные окна, доля возвратов, глубина пользования продуктом. Признак, который нельзя объяснить бизнес-логикой, в разбиение не идёт.

  3. Сборка расчёта. Признаки собираются в витрину с регулярным пересчётом: новый клиент попадает в сегмент на следующем цикле, история не пересчитывается с нуля. Версия набора фиксируется — результат воспроизводим.

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

  5. Проверка качества сегментов. Смотрим размер групп, различия по целевым действиям, стабильность на отложенном периоде. Убеждаемся, что разбиение не повторяет одну грубую переменную — регион или срок жизни клиента.

  6. Передача решения заказчику. Отдаём доступы, регламент пересчёта и инструкцию по чтению сегментов, обучаем команду. Остаёмся на связи, пока решение закрепляется в ваших процессах.

Что передаём на руки: артефакты и регламенты

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

  • Словарь данных. По каждому признаку — источник, формула расчёта, окно агрегации, единицы, доля пропусков и правило их заполнения, ответственный за поле.
  • Схемы потоков данных. Откуда приходят события и сделки, где считаются витрины, в какой момент подключается модель и куда уходят готовые метки.
  • Правила доступа. Кто работает с исходными данными, кто — только с обезличенными выгрузками, как оформляются разовые обращения и как они журналируются.
  • Регламент переобучения. Триггеры (сдвиг распределения, падение метрик, смена бизнес-правил), периодичность прогонов, порядок проверки качества до вывода новой версии в работу.
  • Карточки сегментов. Название, признаки-маркеры, типовые действия для команды, границы применимости — чтобы кластер не трактовали по-своему.
  • Инструкции для смежных команд. Как получить свежую сегментацию, как оспорить отнесение клиента, к кому идти при сбое расчёта.
  • Журнал версий модели. Какая версия дала текущие метки, чем отличается от предыдущей, как вернуться на прошлую без потери разметки.
  • Документация решения. Архитектурная схема, точки интеграции, чек-лист приёмки и порядок передачи новому инженеру.

Кейс: как сократили ручную разметку базы

Заказчик — сервис с базой около 380 тысяч клиентов — размечал аудиторию вручную: раз в квартал аналитик выгружал сделки в таблицы и перекрашивал группы по интуиции. Одна итерация разметки занимала порядка 120 человеко-часов, а к моменту готовности списка поведение части клиентов уже успевало измениться. В итоге каждая девятая рассылка уходила тем, кто давно не покупает.

Перевели признаки в витрину и заменили ручную разметку кластеризацией по поведению: частота покупок, средний чек в относительных величинах, давность последнего заказа, реакция на акции. Пересборку сегментов по расписанию запускаем в Airflow, поэтому группы обновляются без участия аналитика.

Метрики до и после

Параметр До После
Ручные часы на разметку базы 120 за итерацию около 6 на проверку
Частота обновления групп раз в квартал раз в сутки
Ошибки отбора в рассылке каждая девятая одна из шестидесяти
Переходы между сегментами без изменений в поведении 22% 4%
Сегментов, пригодных для кампаний 6 19

Устойчивость сегментов держим не точностью модели, а правилом перехода: клиент меняет группу, только если уходит от центра своего сегмента дальше заданного порога. Поэтому кампания, запущенная на группе, не рассыпается при следующей пересборке — доля переходов без изменений в поведении упала с 22% до 4%.

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

Чем кластеризация отличается от правил по признакам?

Правила по признакам задаёт человек: «покупал за последние 30 дней, сумма выше порога — активный клиент». Такая сегментация предсказуема, легко объясняется и воспроизводится, поэтому её берут, когда границы сегментов известны из логики работы с клиентами. Слабое место — пороги назначаются вручную, а на десятках признаков человек перестаёт видеть, какие сочетания реально различают аудиторию.

Кластеризация идёт от данных: алгоритм сам находит группы в многомерном пространстве — по частоте и давности покупок, составу корзины, реакции на коммуникации. k-means и устойчивые к выбросам варианты дают разбиение, которое никто не задавал: сегменты собираются из фактического поведения, а не из ожиданий команды. Выбор метода сегментации определяется структурой данных — плотные компактные группы, разреженные или вложенные требуют разных подходов.

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

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

Частые технические вопросы о данных и приватности

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

Ниже — ответы на сомнения, которые чаще всего звучат на этапе оценки. Они касаются качества данных, проверки результата и прав на решение.

Что делать, если данные неполные или разнородные?

Считаем заполненность по каждому полю и отбрасываем признаки, где доля пропусков делает вывод случайным. Остальные дополняем производными: частота покупок, давность последнего заказа, изменение среднего чека во времени. Если данных объективно мало, переходим на правила и агрегаты вместо обучения — результат остаётся воспроизводимым.

Как обезличиваются клиентские данные?

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

Как вы проверяете качество сегментов?

Считаем метрики устойчивости: как меняется состав кластеров при повторном запуске на подвыборке, нет ли пересечений между группами, совпадают ли они с бизнес-смыслом. Добавляем проверку на отложенном периоде — сегменты должны объяснять поведение клиентов, которых модель не видела. Если разметка не сходится, разбиение пересобирается.

Кому принадлежат модель и данные?

Данные остаются у заказчика, мы получаем к ним доступ на время работ. Код обучения, конфигурации и описания сегментов передаём в его репозиторий вместе с документацией — дообучение и запуск не требуют нашего участия. Отказ от сопровождения не ломает работу решения.

Что прислать для оценки и с чего начнём

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

  • Выгрузка истории взаимодействий за полный год: заказы, обращения, активность в продукте. Нужен срез, на котором видна и сезонность, и разовые покупки, — иначе кластеры соберутся вокруг выбросов.
  • Схема данных с описанием таблиц и ключей: где лежит выручка, частота покупок, давность последнего контакта, канал привлечения.
  • Текущие ручные сегменты и то, как их используют: рассылки, условия, работа отдела продаж — чтобы новый разрез не дублировал то, что уже работает.
  • Три-пять профилей клиентов от вашей команды: как выглядит лояльный, спящий, ушедший. По ним калибруем число групп и проверяем, что результат читается людьми, а не только алгоритмом.
  • Ограничения по персональным данным: что можно выгружать на разбор, где разрешено обрабатывать, кто со стороны заказчика подтверждает результат.

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

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139