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

Иллюстрация показывает рабочий контур направления; конкретные шаги и интеграции разобраны ниже.
Как это выглядит без автоматизации
В большинстве магазинов витрина показывает всем одно и то же: топ продаж, собранный вручную в прошлом квартале, и блок «с этим покупают», проставленный руками у пары сотен карточек. Посетитель, который ищет конкретную вещь под свою задачу, пробивается через каталог сам. А когда всё-таки появляется блок рекомендаций, никто не может сказать, сколько денег он приносит — потому что сравнивать не с чем.
Одна витрина на всех типов покупателей
Оптовик, разовый частник и постоянный клиент видят одинаковую подборку хитов. При каталоге в 20–30 тысяч позиций посетитель физически не доходит до того, что ему подошло бы: до 70% ассортимента не получает ни одного показа в месяц.
Кросс-продажи держатся на памяти контент-менеджера
Связки «к этому нужно вот это» проставлены вручную у 200–400 карточек из 25 000. Остальные блоки либо пустые, либо заполнены случайной выборкой из категории. Каждое обновление ассортимента ломает половину связок, и никто их не перепроверяет.
Рекомендации ведут туда, где нет товара
Подборки строятся по вчерашней выгрузке каталога, а остатки живут в учётной системе. В итоге 5–10% позиций в блоках и рассылках отсутствуют на складе: клиент кликает и упирается в «нет в наличии» — это худший из возможных результатов показа.
Показывается то, что и так купят
Ручные подборки тянут вверх хиты с минимальной наценкой, потому что их проще всего продать. Товары с нормальной маржой и живым остатком не попадают в витрину вовсе. Выручка блока растёт, валовая прибыль — нет.
Во что это обходится: 9 000 заказов в месяц × 4 200 ₽ = 37,8 млн ₽ выручки. Даже консервативные 3% прироста, которые даёт персонализация, — это 1,13 млн ₽ выручки и около 250 000 ₽ валовой маржи, ежемесячно остающиеся на столе. Плюс половина ставки контент-менеджера (около 45 000 ₽ с налогами), который вручную собирает подборки и письма.
Возможности системы
Мы строим рекомендательный сервис внутри вашего контура: он собирает поведение посетителей, обучается на вашей истории заказов и отдаёт персональную выдачу в любое место — карточку товара, корзину, главную, письмо, пуш в приложении. Поверх модели работает слой бизнес-правил: остатки, цена, маржа, стоп-листы. И с первого дня рядом живёт контрольная группа, чтобы прирост можно было предъявить в рублях, а не в ощущениях.
Персональная выдача под каждое место показа
Для главной, карточки, корзины, поиска и письма нужны разные модели: «вам может понравиться», «часто берут вместе», «дополните до бесплатной доставки», «вы смотрели, но не купили». Мы собираем набор сценариев под ваш путь клиента, а не один универсальный блок.
Фильтр по остаткам в реальном времени
Перед выдачей сервис сверяется с учётной системой: позиции без остатка, снятые с продажи или недоступные в регионе клиента отсекаются. Клиент не видит товар, который нельзя купить сегодня.
Ранжирование с учётом маржи
Из десятков подходящих кандидатов система поднимает те, что выгоднее продать: наценка, оборачиваемость, залежавшийся остаток. Вес маржи в формуле настраивается — от чистой релевантности до агрессивного продвижения своих марок.
Правила бизнеса поверх модели
Несовместимые товары, возрастные ограничения, запрет показывать более двух позиций одного бренда, обязательное присутствие собственной торговой марки. Правила задаются в интерфейсе и применяются мгновенно, без переобучения модели.
Работа с холодным стартом
Новый посетитель без истории получает выдачу по контексту: категория, поисковый запрос, регион, источник перехода. Новый товар без статистики продвигается по описанию и характеристикам, а не ждёт первых сотни покупок в вакууме.
Встроенный A/B и отчёт в деньгах
Часть аудитории идёт по старому сценарию и остаётся контролем. Отчёт показывает выручку и маржу на посетителя в обеих группах, средний чек, товаров в заказе — и отдельно прирост, который нельзя объяснить сезоном или рекламой.
Путь одного события через систему
Каждый шаг оставляет след в журнале: любое решение системы можно открыть и проверить — что пришло, что проверено, что сделано.
Событие фиксируется
Просмотр карточки, поиск, добавление в корзину, заказ, отказ, возврат — всё пишется в хранилище с идентификатором сессии и меткой времени. Порог, ниже которого модель нечему учить, — около 100 000 событий в месяц.
Профиль склеивается
Анонимная сессия связывается с клиентом в CRM в момент авторизации, заказа или перехода по письму. История покупок за год и поведение на сайте становятся одним профилем, а не двумя разными.
Модель отбирает кандидатов
Работают три источника сразу: похожие покупатели (коллаборативная фильтрация), похожие товары по характеристикам и описанию, популярность в категории как страховка. Каждый источник даёт свой список, они смешиваются с настраиваемыми весами.
Слой правил отсекает лишнее
Из кандидатов убираются позиции без остатка, вне ценового коридора клиента, из стоп-листов и из категорий, которые вы запретили рекомендовать. Оставшиеся переранжируются с учётом маржи и оборачиваемости.
Выдача уходит в точку показа
Сайт, приложение или рассылочная платформа получают готовый список по API за 30–50 мс. Если сервис не ответил вовремя, показывается заранее подготовленный запасной блок — витрина не ломается никогда.
Результат возвращается в модель
Показ, клик, добавление в корзину и оплата привязываются к конкретной выдаче. Эти данные идут и в обучение, и в еженедельный отчёт с разбивкой по местам показа и контрольной группе.
Что происходит по неделям
Каждый этап заканчивается результатом, который вы видите и принимаете. Оплата привязана к приёмке, а не к обещаниям.
Аудит данных и точек показа
Смотрим, что уже пишется в веб-аналитику и базу: хватает ли событий, склеиваются ли сессии с клиентами, есть ли история заказов за год. Считаем текущую выручку существующих блоков и подборок в письмах — это будет точкой отсчёта. Размечаем места показа: главная, карточка, корзина, поиск, письма.
Событийный контур и каталог
Ставим сбор событий на сайт и в приложение, добираем то, чего не хватает: просмотр карточки, поиск без результата, отказ от корзины, возврат. Подключаемся к каталогу и учётной системе за ценами, остатками и наценкой. Настраиваем склейку анонимного посетителя с клиентом в CRM.
Обучение и офлайн-проверка моделей
Обучаем модели на истории и проверяем их на данных, которых они не видели: берём заказы последних недель и смотрим, попал бы реальный товар в топ рекомендаций. Сравниваем несколько алгоритмов и связку из них против простого «показать хиты категории» — базовая линия обязана быть побита с запасом.
Правила, маржа и сервис выдачи
Собираем слой бизнес-правил: стоп-листы, ограничения по брендам и категориям, вес маржи в ранжировании, обязательные позиции. Поднимаем сервис выдачи с запасным блоком на случай сбоя и кэшированием. Готовим шаблоны блоков и персональные подборки для рассылочной платформы.
A/B на живом трафике
Делим аудиторию: 80–85% видят рекомендации, 15–20% остаются контролем. Три-четыре недели копим статистику и еженедельно разбираем срезы: по местам показа, категориям, новым и повторным клиентам. Отключаем сценарии, которые не дают прироста, вместо того чтобы оставлять их «на всякий случай».
Переобучение и расширение
Переобучаем модели по расписанию, следим за деградацией качества при смене сезона и ассортимента, добавляем новые места показа и сценарии. Раз в квартал перезапускаем A/B, чтобы подтвердить, что эффект не растворился.
Модельный расчёт: из чего складывается эффект
Не «до 90% экономии», а конкретная модель с вводными, которые можно оспорить и пересчитать под себя.
| Показатель | Сейчас | После внедрения |
|---|---|---|
| Прирост выручки против контрольной группы | не измеряется | +3% в модели (нижняя граница наблюдаемого диапазона 3–8%) |
| Выручка, проходящая через блоки рекомендаций | ручные подборки, около 1% заказов | 6–10% выручки магазина |
| Товаров в заказе | 1,7 | 1,85–1,95 |
| Позиций без остатка в подборках и письмах | 5–10% | 0 — фильтр по остаткам перед каждой выдачей |
| Подготовка подборок для рассылок | 6–8 часов на выпуск, одна подборка на всю базу | автоматически, персонально под каждый адрес |
Полная цена владения — три составляющие
Никаких скрытых платежей: внешние сервисы вы оплачиваете напрямую по своим договорам, мы не делаем наценку на чужие тарифы.
Внедрение
- типовой проект: 950 000 ₽
- срок: 8–14 недель
- диагностика, разработка, интеграции, пилот
- документация и обучение команды
Поддержка
- мониторинг и реагирование по SLA
- исправление дефектов бесплатно
- обновление сценариев и интеграций
- ежемесячный отчёт о работе системы
Эксплуатация
- Вычисления для переобучения и выдачи (облако или ваш сервер): 8 000–30 000 ₽/мес
- Хранение и обработка событий (ClickHouse или PostgreSQL): 3 000–12 000 ₽/мес при 2–5 млн событий
- Языковая модель для заголовков и пояснений в подборках: 1 000–8 000 ₽/мес, опционально
- Отправка писем и пушей: по тарифу вашей рассылочной платформы
- состояние аналитики: если событий нет вовсе, первые три недели уходят на их сбор
- число мест показа в первой очереди: один блок в карточке или полный набор от главной до писем
- сложность каталога: 3 000 однотипных позиций против 200 000 с вариациями и совместимостью
- источник остатков: готовый API учётной системы или ночная выгрузка, которую надо переделывать
- требования к нагрузке: 50 запросов в секунду и 2 000 запросов в секунду — разная архитектура
Участие заказчика
На диагностике достаточно обезличенных примеров. Боевые доступы — только после договора и NDA, через защищённые каналы.
С чем соединяем
Работаем с тем, что у вас уже есть. Если вашей системы нет в списке — скорее всего, подключимся через API: уточним на диагностике.
Как это решение работает в разных бизнесах
Магазин автозапчастей с каталогом 120 000 позиций: 70% ассортимента не получало ни одного показа. Рекомендации строятся по совместимости с автомобилем клиента и наличию на ближайшем складе. Прирост против контроля — 4,5% выручки, товаров в заказе стало 2,1 вместо 1,6.
Сеть из 40 магазинов с приложением и программой лояльности: персональные подборки в пуше вместо общей рассылки об акции. Отклик на пуш вырос втрое, а фильтр по остаткам конкретной точки убрал жалобы на «в приложении было, в магазине нет».
Оптовик стройматериалов, 900 постоянных клиентов в личном кабинете: система подсказывает сопутствующие позиции прямо в форме заказа и напоминает о расходниках, которые клиент берёт каждые 6–8 недель. Средняя строка заказа выросла на 12%, менеджеры перестали вручную дописывать «а крепёж не забыли».
Доставка еды, 18 000 заказов в месяц: подбор дополнений в корзине с учётом времени суток, состава заказа и стоп-листа кухни. Средний чек вырос на 6%, при этом соусы и напитки не предлагаются, если их нет на кухне прямо сейчас.
Онлайн-школа с 200 курсами: после завершения программы студент получает не общую рассылку, а три следующих шага по его траектории. Доля повторных покупок выросла с 19% до 26%, нагрузка на менеджеров по допродажам снизилась.
Что обычно спрашивают
Чем это лучше готового сервиса рекомендаций по подписке?
Как вы докажете, что рост дали рекомендации, а не сезон или реклама?
Сколько данных нужно, чтобы это заработало?
Что система показывает новому товару и новому посетителю?
Мы продаём то, что покупают раз в несколько лет. Есть смысл?
Персональные рекомендации и закон о персональных данных — как это сочетается?
Когда это решение не окупится
- меньше 100 000 событий в месяц — моделям не на чем учиться, дешевле вручную собрать десяток хороших подборок
- узкий каталог до 200–300 позиций: посетитель и так видит весь ассортимент за пару кликов
- остатки живут только в голове менеджера или обновляются раз в неделю — рекомендации будут вести к товарам, которых нет
- разовые дорогие покупки без сопутствующего ассортимента: рекомендовать нечего и не к чему
- ожидание немедленных +30% выручки — реальный измеримый прирост в рознице обычно 3–8%, и об этом лучше договориться на берегу
Если на диагностике расчёт не сойдётся — мы предложим более простой вариант или честно скажем, что автоматизация вам пока не нужна. Это дешевле для всех, чем проект ради проекта.
Сегментация клиентов
Делит базу на живые сегменты по истории покупок: RFM, поведение, ценность и вероятное следующее действие каждого клиента. Сегменты пересчитываются каждую ночь и сами появляются в CRM, рассылках и программе лояльности — вместо одной рассылки на всю базу.
Аналитика и прогнозированиеОптимизация цен
Модель на вашей истории продаж считает, как спрос каждого SKU отвечает на изменение цены, и рекомендует цены, которые максимизируют маржинальный доход — в рамках МРЦ, конкурентного поля и остатков. Эффект не декларируем, а измеряем A/B-тестом.
Маркетинг и e-commerceПерсонализация сайта
Блоки, офферы и порядок выдачи собираются под конкретного посетителя: откуда пришёл, что смотрел, из какого города, что лежит в корзине. Каждое правило проверяется A/B-тестом против контрольной группы и учитывает остатки и маржу.
