Привет, Хабр! С вами снова я, Анна Васильева, руководитель проектов в отделе департамента категорийного менеджмента Fix Price. В прошлый раз мы поговорили о том, как в нашей сети устроен и функционирует механизм обеспечения складов товарами. В этой же статье я расскажу, как и для чего нужна система «Автозаказа» и как она помогает нашим магазинам. До появления системы заказ товаров происходил вручную и приводил к увеличению нагрузки на персонал каждого магазина – а их у нас уже более 5 тысяч. В результате у сотрудников оставалось меньше времени на другие важные задачи, которые точно нельзя автоматизировать. В 2017 году была создана система для автоматического пополнения торговых точек товарами из РЦ (распределительных центров). Также это программное решение позволило нам создать эффективную систему управления товарными запасами и повысить уровень сервиса за счет предоставления всего ассортимента на полках любого магазина Fix Price. Система позволяет вводить правила пополнения товаром с учетом специфики работы отдельных магазинов (например, по температурному режиму). В ней также учитывается тип оборудования конкретного магазина, нормы выкладки, а также есть инструменты по оптимизации логистики. Но давайте от вводной информации перейдем к конкретным задачам, которые позволяет решать эта система. Функциональные возможности «Автозаказа» во многом совпадают с функционалом предыдущего решения по пополнению РЦ, однако в аналитике используется статистика продаж товарных групп за два последних года. По статистике продаж находится сезонность (отклонение от среднего по периодам) каждой товарной группы, которая используется для составления прогноза. Построение прогноза продаж выполняется по каждому магазину (а не по кластеру) на период 14 дней, а периодичность заказа магазинов составляет от 1 до 3 раз в неделю. После сбора данные объединяются по городу, если в городе есть не менее 5 непрерывно работающих магазинов. Если же магазинов меньше, то укрупнение (усреднение данных) производится по области и далее до кластера, равного РЦ. Так мы смогли масштабировать систему, ведь количество магазинов в разных регионах сильно разнится. Важно, что система «Автозаказ» работает в ночное время без участия персонала офиса или магазина. После закрытия магазина и до 3 часов ночи система считывает данные по продажам и остаткам товара, строит прогноз, применяя сезонные показатели. Далее, в период с 4 до 11 утра, рассчитываются автозаказы. Понятно, что такой разброс связан с часовыми поясами: например, в Новосибирске старт работы — это 4 утра по Москве, а для центрального региона это 10 утра. Соответственно, в 11 по Москве у нас начинает работу Калининград. Помимо прочего, система учитывает также инвентаризации магазинов. До инвентаризации количество запаса автоматически снижается. Добавлю, что сформированные заказы сразу же попадают на склад на комплектацию. Управление автозаказом каждого магазина выполняется следующим образом:  Устанавливаются параметры максимального и минимального объема паллет. Магазин ставится на автозаказ (вручную при открытии). Учитывается дополнительное оборудование магазина (кроме стандартного, которое установлено во всех магазинах). Рассчитывается площадь под хранение продукции вне зала. Их всего четыре: Max паллет — ограничение максимального совокупного объема заказов в паллетах (тот объем в паллетах, который может принять магазин за поставку с учетом дозаказа). Min паллет — всегда не менее трех. Специальный сценарий — снижает объем заказываемого количества товара по всему ассортименту. В этом случае к уровню гарантированного товарного запаса (далее ТЗ) магазина применяется понижающий коэффициент (например, 30%). Спецсценарии применяются для искусственного снижения уровня ТЗ для всех заказываемых SKU. Такое редко, но бывает. Установленный тип дебаркадера (элемент транспортной инфраструктуры для приема заказов) магазина. Формируется автоматически по комбинированному анализу (ABC & XYZ) на основании площади дебаркадера и оборотов магазина по продажам. Обновление данных — раз в месяц. Тип дебаркадера используется, как дополнительный фактор управления величиной гарантированного уровня ТЗ по критически важным товарам.  Давайте рассмотрим этот уровень на примере всем необходимой туалетной бумаги. Она имеет высокие обороты, объемна, а потому занимает много места при высоком запасе в магазине. Поэтому могут быть выставлены следующие корректирующие показатели неснижаемого ТЗ в конкретном магазине (здесь 0,3 — это 30% и т. п.): Тут есть несколько важных пунктов. Во-первых, магазину не создается заказ, если: товар внесен в перечень исключений (это бывает редко, но возможно); не подключены списки SKU, доступных к заказу; нет данных о графике заказа; дата поставки по этому заказу приходится на день инвентаризации (или за два дня до нее).  Во-вторых, система может не создавать заказ и на конкретный товар, если:  товара нет в списке SKU, доступных к заказу из РЦ; товар является дефицитным, а магазин имеет низкий уровень продаж этого товара; товар распределяется принудительно силами категорийного менеджера по ограниченному перечню магазинов; товар находится в списке исключений этого магазина; товар является тестовым с разовой поставкой и в магазин уже распределялся; товар продается с помощью спец. оборудования, которого нет в этом магазине; запас SKU достаточен до следующей даты поставки.   Существует и ряд других условий, касающихся режима хранения, сезонности, уровня продаж и т. д. Управлять автозаказом могут категорийные менеджеры. Например, им разрешено устанавливать минимально допустимые значения уровня ТЗ в магазинах, определять сценарии разового и спец. распределения товаров между магазинами.  На уровне системы предусмотрены особые параметры управления автозаказом (с ролью админа). Это прежде всего выставление уровня ТЗ относительно уровня продаж. Значение выставляется в днях оборота по магазинам кластера (региональной группы) с учетом происхождения товара: РФ или импорт. Например, так: А вот параметры уровня ТЗ товара по выкладке на нестандартном оборудовании (указаны неснижаемый и максимальный запас): Определение сроков выкладки и типа оборудования для групп магазинов, пополняемых из одного РЦ: Инструмент «Регулирование товарного запаса» отвечает за плавное увеличение ТЗ в магазинах под будущие всплески продаж: Ну, а если совсем просто, то оптимизация логистики выглядит у нас так: Именно поэтому мы избегаем аврального режима перед всеми любимыми праздниками. Вот мы и добрались до KPI. Наш «Автозаказ» позволяет нам:  держать товарный запас на 20%+ ниже; управлять структурой ТЗ на 10%+ эффективнее; автоматизировать все процессы; не переходить на ручное создание заказа при форс-мажорах в магазинах и при инвентаризациях.  И вишенка на торте: для управления системой достаточно всего двух человек в офисе — программиста и администратора.  Всем спасибо за внимание, с удовольствием отвечу на ваши вопросы в комментариях!