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

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

Управление ассортиментом AI: где ломается ручная логика

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

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

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

Классический ABC/XYZ-разбор по итогам месяца проблему не снимает: он тоже смотрит назад и усредняет всплески. Локальный рост в разрезе канала, региона и размера в нём не виден, поэтому решение всё равно принимает человек — по опыту и по последней выгрузке.

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

Что меняется после внедрения: измеримые эффекты

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

Точность прогноза спроса считаем раздельно — по товарной позиции, складу и неделе, а не усреднённо по категории: внутри группы ошибки взаимно гасятся, и метрика начинает врать. Базовый сезонный профиль строим на открытой модели Prophet, поверх неё модель дообучается на промо и локальных всплесках. Ошибка прогноза на сопоставимом горизонте падает на 20–35% против планирования по среднему за прошлый период.

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

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

Режимы работы модели: пакетный, потоковый, гибридный

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

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

Режим Когда подходит Ограничения
Пакетный пересчёт Устойчивый спрос, матрица на тысячи позиций, решения принимаются раз в сутки Рекомендация стареет между запусками; всплеск спроса отражается с задержкой до следующего цикла
Потоковый Акции, сезонные пики, быстро меняющийся топ ассортимента Чувствителен к шуму: при слабых сигналах матрица «дрожит»; расчёт сложнее воспроизвести и разобрать постфактум
Гибридный Неоднородный каталог: ядро стабильно, часть позиций живёт в режиме постоянных колебаний Требует явного разделения приоритетов и защиты от конфликтов версий между контурами

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

Как мы внедряем систему: этапы инженерной работы

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

  1. Аудит данных. Собираем историю продаж, остатков, поставок, скидок и промо за доступный период; проверяем полноту матрицы «товар — день», дубли, пропуски и разрывы в справочниках. Фиксируем, какие категории данных достаточно для прогноза, а какие придётся вести по ручным правилам.
  2. Схема модели. Определяем горизонт прогноза и уровень решения — отдельная товарная позиция или кластер взаимозаменяемых. В признаки идут сезонность, промо, эластичность спроса, срок годности и каннибализация; схема валидируется на отложенном периоде, который модель не видела.
  3. Настройка правил отбора. Поверх прогноза накладываются ограничения бизнеса: минимальная выкладка, кратность упаковки, полочное пространство, лимиты поставщика. Правила лежат отдельно от модели, поэтому меняются без переобучения и согласуются с категорийными менеджерами.
  4. Проверка качества рекомендаций. Сравниваем предложенную политику закупки с фактической на тех же периодах: считаем точность, долю дефицита, объём излишков и число ручных правок. Если рекомендации не выигрывают у текущего процесса — возвращаемся к схеме модели, а не расширяем пилот.
  5. Пилот на ограниченном контуре. Запускаем на нескольких категориях параллельно с прежним процессом, сверяем план и факт каждую неделю и настраиваем пороги срабатывания.
  6. Передача в эксплуатацию. Отдаём регламент переобучения, панель контроля деградации прогноза, инструкции для менеджеров и порядок отката к прежним правилам, если качество уходит ниже согласованного порога.

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

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

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

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

Кейс: пересборка ассортимента и уход от неликвидов

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

Цена такого режима видна в цифрах того периода: доля неликвидов держалась на 34%, точность попадания в спрос не превышала 58%, а выведенные ранее позиции возвращались в матрицу по инерции — данных для уверенного решения не хватало.

Что изменили

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

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

  • Доля неликвидов: 34% → 11% за два квартала.
  • Точность попадания в спрос: 58% → 84%.
  • Пересборка матрицы: три недели → два дня.
  • Выручка на артикул: +19% при том же объёме полки.
  • Срок до эффекта: первые решения по выводу — на третьей неделе, устойчивый сдвиг — к концу второго квартала.

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

Чем модель ранжирования отличается от правил на пороге

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

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

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

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

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

Технические сомнения перед стартом проекта

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

Данные грязные — система вообще заработает?

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

Хватит ли объёма истории продаж?

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

Почему система так рекомендует?

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

Учтёте нашу сезонность?

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

Кто сопровождает модель после запуска?

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

Обсудим задачу и вернёмся с планом работ

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

По такому описанию собираем картину целиком и приходим с конкретикой:

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

Опишите задачу в свободной форме — текущий процесс, узкие места, что хотите получить. Мы вернёмся с оценкой, схемой решения и планом внедрения, а дальше уже решите, подходит ли состав команды и сроки.

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

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

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