Суть задачи

Не просите модель «закупить всё нужное»

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

Исходные данные

Соберите четыре даты

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

Рабочий маршрут

Что считать сигналом риска

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

Проверка

Короткий запрос к модели

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

Практический пример

Проверьте на одном артикуле руками

Выберите позицию из верхней части списка и пересчитайте её путь. Сколько реально доступно после резервов? Сколько продано за семь и двадцать восемь дней? Есть ли дни без продаж потому, что товар уже отсутствовал? Была ли разовая акция? Указанная поставка действительно подтверждена или только ожидается? Проверка одного случая часто вскрывает системную ошибку всей выгрузки. В материале о сравнении коммерческих предложений мы также отделяем указанное в документе от предположения модели.

Риски

Кто принимает решение о заказе

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

После запуска

Контроль после отправки

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

Внедрение

Мера пользы и границы

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

План на день

Что делать при сбое данных

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

Вывод

Вывод и вопросы

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