Точка заказа — это остаток, при снижении до которого система ставит позицию в заявку поставщику. Считается она как расход за срок поставки плюс страховой запас. Первое слагаемое почти все считают верно, второе — почти все занижают, потому что берут разброс продаж и игнорируют разброс срока поставки. На модельной позиции из этой статьи такая экономия внимания уменьшает страховой запас с 64 штук до 25 — в два с половиной раза.

Ошибка живучая, потому что не видна. Занижённый страховой запас не даёт дефицита каждый месяц — он даёт его в тех циклах, когда машина пришла на четыре дня позже обычного. Раз в квартал, на одной-двух позициях, и всегда с объяснением «поставщик подвёл». Формула при этом считается регулярно, отчёт «к заказу» формируется, автозаказ работает — просто он настроен на срок поставки, которого у вас не бывает.

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

Формула по слагаемым

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

Что это значитТочка заказа

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

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

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

Точка заказа для одной позиции, уровень сервиса 95 %
Средний расход, шт/день12
Разброс дневного расхода (стандартное отклонение), шт4
Средний срок поставки от заявки до готовности к отбору, дней14
Разброс срока поставки (стандартное отклонение), дней3
Коэффициент уровня сервиса 95 %1,64
Расход за срок поставки: 12 × 14168 шт
Вклад разброса спроса: 14 × 4 × 4224
Вклад разброса срока: 12 × 12 × 3 × 31 296
Корень из суммы: √(224 + 1 296)39,0
Страховой запас: 1,64 × 39,064 шт
ИтогоТочка заказа — 232 штуки. Та же формула без разброса срока поставки даёт страховой запас 25 штук и точку заказа 193 — на 39 штук, то есть больше чем на три дня расхода, меньше

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

графикtochka-zakaza-i-avtopopolnenie--01
Пилообразный график остатка с уровнями точки заказа 232 штуки и страхового запаса 64 штуки

Пилообразный график остатка по одной позиции за три цикла пополнения. Ось Y — штуки от 0 до 400, ось X — дни. Остаток убывает с наклоном 12 штук в день, при пересечении горизонтальной линии «точка заказа — 232 шт» ставится метка «заявка», через 14 дней остаток скачком растёт. Ниже проведена вторая горизонтальная линия «страховой запас — 64 шт», зона под ней заштрихована. Во втором цикле поставка приходит на 4 дня позже: линия остатка заходит в заштрихованную зону, но не касается нуля — эта точка подписана «страховой запас сработал». Пунктиром показан альтернативный уровень «без учёта разброса срока — 193 шт», при котором линия во втором цикле уходит в ноль. Чертёжный стиль, подписи по-русски.

Страховой запас работает в одном цикле из двадцати — и ради него он и держится

Разброс срока поставки — слагаемое, которое выбрасывают

Разброс срока поставки — единственная величина в формуле, которой обычно нет в системе. Средний расход считается по движениям, стандартное отклонение расхода — тоже. А фактический срок поставки нигде не хранится: в заказе есть плановая дата, в приходном документе — фактическая, но их никто не сопоставляет, и в расчёт идут «14 дней по договору». Договорный срок — это обещание, а формуле нужна история.

Насколько это важно, видно на двух поставщиках с одинаковым средним сроком. Позиция та же: расход 12 штук в день, разброс расхода 4 штуки, уровень сервиса 95 %.

ПоказательПоставщик AПоставщик B
Средний срок поставки14 дней14 дней
Фактические сроки последних десяти поставокот 13 до 15 днейот 9 до 21 дня
Разброс срока (стандартное отклонение)1 день4 дня
Страховой запас по полной формуле31 шт82 шт
Страховой запас без учёта разброса срока25 шт25 шт
Заморожено в страховом запасе при себестоимости 800 ₽/шт24 800 ₽65 600 ₽

Формула без разброса срока выдаёт для обоих поставщиков одинаковые 25 штук. Для A это почти правда — занижение на шесть штук. Для B она занижает запас втрое, и дефициты по этой позиции будут регулярными при том, что «нормы посчитаны и автозаказ работает». Средний срок у поставщиков одинаковый, поведение — противоположное; управлять надо разбросом, а не средним. Либо запасом, либо условиями договора: обязанность предупреждать о сдвиге отгрузки за трое суток стоит дешевле, чем 40 800 ₽ лишнего страхового запаса на одной позиции.

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

Уровень сервиса — это не сто процентов и стоит денег

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

Уровень сервисаКоэффициентДефицит примерно раз вСтраховой запасЗаморожено при 800 ₽/шт
90 %1,2810 циклов50 шт40 000 ₽
95 %1,6420 циклов64 шт51 200 ₽
97,5 %1,9640 циклов76 шт60 800 ₽
99 %2,33100 циклов91 шт72 800 ₽

По одной позиции переход с 95 % на 99 % стоит 27 штук и 21 600 ₽ замороженных денег. По сотне позиций группы A это уже 2 160 000 ₽ оборотных средств, которые больше нигде не работают. Разумная практика — разные уровни по группам: 97–99 % на позициях, которые тянут за собой остальной заказ клиента, 90–95 % на середине ассортимента и вообще никакого страхового запаса на хвосте, где уместнее пересмотреть ассортиментную матрицу.

графикtochka-zakaza-i-avtopopolnenie--02
Четыре столбца страхового запаса при уровнях сервиса 90, 95, 97,5 и 99 процентов

Столбчатая диаграмма из четырёх столбцов. Ось X — уровень сервиса: 90 %, 95 %, 97,5 %, 99 %. Ось Y — страховой запас в штуках от 0 до 100. Высоты столбцов: 50, 64, 76, 91. Над каждым столбцом две подписи — количество штук и замороженная сумма при себестоимости 800 ₽/шт: 40 000 ₽, 51 200 ₽, 60 800 ₽, 72 800 ₽. Между вторым и четвёртым столбцом фигурная скобка с подписью «переход 95 % → 99 %: +27 шт, +21 600 ₽ на одной позиции». Чертёжный стиль, подписи по-русски.

Последние четыре процента сервиса стоят дороже первых девяноста

Три ситуации, где формула даёт неверный ответ

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

  1. 1
    Сезонный товар

    Средний расход за 12 месяцев не описывает ни один реальный месяц. У садового инвентаря май даёт в пять раз больше среднегодового, а ноябрь — в десять раз меньше. Расчёт по годовому среднему в мае гарантирует дефицит, а в ноябре — неликвид. Лечится не сменой формулы, а её входом: средний расход берётся по скользящему окну в 4–6 недель и умножается на сезонный коэффициент месяца, посчитанный по двум-трём прошлым годам. Позиций с выраженной сезонностью обычно 20–35 % ассортимента, и их надо помечать признаком в номенклатуре, а не вспоминать каждый год.

  2. 2
    Товар с редкими крупными заказами

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

  3. 3
    Поставщик с плавающим сроком

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

Какие данные нужны и каких обычно нет

Расчёт норм упирается не в математику, а в данные. Из шести обязательных наборов в типовой компании готовы два-три, и именно недостающие определяют срок проекта.

  • История расхода со склада по позициям и датам — именно расхода, а не продаж по документам реализации. Минимум 6 месяцев для стабильных позиций и 24 месяца для сезонных, иначе сезонный коэффициент не из чего считать.
  • Фактические сроки поставки по каждому поставщику — дата заявки и дата доступности к отбору, минимум 8–10 поставок на контрагента. Без них разброс срока приходится оценивать со слов закупщика, и он всегда оптимистичнее факта.
  • Минимальная партия и кратность упаковки — иначе рассчитанная норма превращается в невыполнимую заявку «на 37 штук», а поставщик отгружает коробами по 24.
  • Признак дефицита по дням — был товар на складе или нет. Без него история расхода занижена ровно в тех местах, где спрос был выше нормы.
  • Календарь акций и распродаж — всплеск расхода в акционную неделю не должен становиться нормой на следующий квартал.
  • Справочник замен и аналогов — при уходе позиции спрос перетекает на соседнюю, и без связи это выглядит как падение у одной и рост у другой.
Без признака дефицита нормы занижают сами себя

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

Порядок перевода закупок на автопополнение

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

  1. 1
    Расчёт норм на исторических данных, 2–3 недели

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

  2. 2
    Пилот на 30–50 позициях, 4–6 недель

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

  3. 3
    Контроль два месяца, вся номенклатура в режиме подсказки

    Нормы считаются по всем позициям, но заявка по-прежнему уходит по решению человека. Ведётся журнал из трёх колонок: что предложила система, что сделал закупщик, что вышло по факту. Если доля ручных правок за два месяца не опустилась ниже 15–20 %, переводить в постоянный режим рано — сначала разбираются причины правок.

  4. 4
    Постоянный режим и пересчёт по расписанию

    Заявка формируется автоматически, человек согласовывает исключения. Нормы пересчитываются раз в квартал и принудительно — при смене условий у поставщика, вводе новой позиции и после каждого сезона. Пересчёт занимает 4–6 часов работы инженера по 3 000 ₽ в час, то есть 4 000–6 000 ₽ в месяц в пересчёте на календарь.

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

этапыtochka-zakaza-i-avtopopolnenie--03
Четыре этапа перевода закупок на автопополнение с длительностью и результатом каждого

Что это даёт в деньгах: расчёт на 300 закупаемых позициях

Модельная компания — оптово-розничная торговля: 800 активных позиций, из них 300 закупаются регулярно, закупка 4 500 000 ₽ в месяц по себестоимости, наценка 25 % к себестоимости, средний запас по закупаемым позициям 6 300 000 ₽. Стоимость денег принимаем 24 % годовых, то есть 2 % в месяц. Эффект складывается из трёх источников, и все три считаются на данных, которые у компании уже есть.

Что дают нормы и автопополнение на 300 закупаемых позициях
Средний запас по 300 закупаемым позициям, себестоимость6 300 000 ₽
Доля запаса с покрытием больше 120 дней — результат заказов «на глаз»18 % → 1 134 000 ₽
Нормирование снимает треть этого перезаказа−378 000 ₽ запаса
Стоимость высвобожденных денег: 378 000 × 2 %7 560 ₽/мес
Уценка и списание залежавшегося: было 11 300 ₽/мес, стало 7 500 ₽/мес3 800 ₽/мес
Случаев нехватки в месяц: было 26, стало 9снято 17
Цена одного случая: 9 000 ₽ себестоимости × 25 % наценки × 55 % несостоявшихся продаж1 238 ₽
Возврат по снятым дефицитам: 17 × 1 238 ₽21 046 ₽/мес
Итого32 406 ₽ в месяц, 388 900 ₽ в год

Вложение в проект такого объёма — около 240 000 ₽: сбор и чистка истории расхода с восстановлением признака дефицита, расчёт норм по 300 позициям и группировка по уровням сервиса, настройка автозаказа и отчёта «к заказу сегодня» в учётной системе, сопровождение двух месяцев контроля. Без поддержки окупаемость получается чуть больше семи месяцев; с поддержкой 8 000 ₽ в месяц чистый возврат — 24 400 ₽, а окупаемость — около десяти месяцев. Вторая цифра честнее, потому что нормы без пересчёта устаревают за два-три квартала.

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

графикtochka-zakaza-i-avtopopolnenie--04
Три источника возврата: 7 560, 3 800 и 21 046 рублей в месяц, итого 32 406

Когда автопополнение не работает

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

  • Непредсказуемый спрос без истории. Новый ассортимент, проектные поставки под разовые контракты, товар, у которого больше половины дней расход нулевой. Формула на таких данных выдаёт либо огромный страховой запас, либо ноль, и оба ответа бесполезны. Здесь работают правило минимального запаса и закупка под подтверждённый заказ.
  • Поставщик, который срывает сроки без предупреждения. Разброс, посчитанный по истории, описывает колебания, а не провалы. Задержка на три недели в распределение не укладывается, и покрыть её страховым запасом — значит заморозить месячную потребность. Дешевле второй поставщик на позицию, чем норма, рассчитанная под худший случай.
  • Меньше 80–100 регулярно закупаемых позиций. Ниже этого порога закупщик держит нормы в голове точнее любой формулы, потому что помнит контекст по каждой позиции. Проект на 240 000 ₽ здесь заменяется таблицей с минимальными остатками и получасом внимания в неделю.
  • Учёт, в котором остаток не совпадает с фактом. Нормы считаются от остатка. Если остаток в системе отличается от полки на 5–10 %, точная формула поверх неточных данных даёт точно неверный ответ. Сначала — приёмка, адреса и пересчёт, потом нормы.

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

Норма запаса — это не число в справочнике, а решение о том, сколько денег вы согласны держать на полке ради того, чтобы не сказать клиенту «нет».