Оптимальная партия заказа: сколько заказывать и как это считает программа

Содержание
Содержание

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

В общем виде это разница между тем, сколько товара нужно на период до следующей поставки, и тем, что останется на складе к её приходу:

Оптимальная партия = Оптимальный запас на период поставки − Остаток на дату поставки

Второе слагаемое берётся из учётной системы, а первое тоже считается:

Оптимальный запас на период поставки = Средний спрос в день × Дней до следующей поставки + Страховой запас

Разберём на печенье. Магазин продаёт 50 упаковок в неделю — округлим до 7 упаковок в день. До следующей поставки 14 дней, значит на период нужно 7 × 14 = 98 упаковок (страховой запас пока опустим, он прибавится сверху — про него отдельная статья).

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

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

Теперь вторая величина, и здесь чаще всего ошибаются. На складе сегодня лежит 30 упаковок, но заказ едет 3 дня, и за это время уйдёт ещё 7 × 3 = 21. К приходу поставки останется не 30, а 9. Значит, партия — 98 − 9 = 89, а не 98 − 30 = 68. Разница в 21 упаковку — это ровно те продажи, которые случатся, пока заказ в пути.

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

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

Дальше это число правят ограничения поставщика и срок годности.

Если вы искали формулу EOQ (Уилсона) — ей посвящена отдельная статья «Оптимальный размер заказа: формула, пример и ошибки расчёта».

Что такое партия заказа простыми словами

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

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

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

От чего зависит размер партии

На практике на размер партии одновременно влияет несколько факторов — и расчёт «на глаз» обычно не учитывает их все сразу:

  • Спрос на товар. Основной фактор: чем выше ожидаемые продажи до следующей поставки, тем больше нужно заказать. Спрос меняется — сезонность, акции, изменение цены — и партия должна меняться вместе с ним; постоянная величина «на всякий случай» устаревает уже к следующей поставке.
  • Период до следующей поставки. Партия должна покрыть спрос именно на этот период — если поставки раз в неделю, закупать на месяц вперёд нет смысла. Сам период обычно диктует поставщик своим графиком отгрузок, а не расчёт: возит по вторникам — значит, цикл недельный, и партия считается на неделю.
  • Текущий остаток на складе. Партия = то, что нужно на период поставки, минус то, что уже есть. Без учёта остатка легко задвоить заказ.
  • Страховой запас. Часть партии закладывается на случай задержки поставки или всплеска спроса сверх прогноза — подробнее об этом в статье «Страховой запас: как рассчитать и не переплатить за склад».
  • Минимальная партия и кратность поставщика. У большинства поставщиков есть свои условия отгрузки — подробнее ниже, в отдельном разделе.
  • Уровень сервиса. Чем выше целевой процент заказов без дефицита, тем больше должна быть партия (и страховой запас внутри неё) — это компромисс между риском упущенных продаж и излишками на складе.
  • Срок годности. Для скоропортящихся товаров партия не может превышать объём, который реально продастся до истечения срока — даже если по чистому расчёту спроса можно было бы взять больше.
  • Скидка за объём. Единственный фактор из этого списка, который толкает партию вверх не по потребности, а по деньгам: поставщик даёт лучшую цену от определённого объёма — подробнее ниже.

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

Минимальная партия, кратность и минимальный запас — что ограничивает партию снизу

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

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

Ограничение Кто задаёт К чему привязано Что делает с партией
Минимальная партия (MOQ) Поставщик Пара «поставщик — товар» Поднимает до своего минимума, если расчёт дал меньше
Кратность упаковки Поставщик Пара «поставщик — товар» Округляет вверх до целого короба или паллеты
Минимум на заказ целиком Поставщик Весь заказ, а не позицию Одну позицию не раздувает: сумму или объём добирают корзиной по остальным товарам этого поставщика
Минимальный запас Сама компания Товар (не зависит от поставщика) Не даёт расчёту обнулить заказ по витринной или матричной позиции

Минимальная партия, она же MOQ

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

В прайсах и коммерческих предложениях импортёров то же самое обозначают английской аббревиатурой MOQ (Minimum Order Quantity), в договорах на русском — «минимальная партия отгрузки». Разницы между терминами нет.

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

Кратность — это шаг, которым отгружается товар (упаковка из 6 штук, ящик из 12, паллета из 48). Партия округляется вверх до ближайшего кратного значения — если расчёт даёт 27 единиц при кратности 12, заказ будет на 36, а не на 27.

На нашем печенье это выглядит так: расчётная партия — 89 упаковок, поставщик возит коробами по 12. 89 ÷ 12 = 7,4 короба, округляем вверх до 8 — в заказ уйдёт 96 упаковок. Семь лишних штук осядут в остатке и уменьшат следующую партию.

Калькулятор партии заказа
Цифры из примера в статье. Нажмите на любую и введите свою
Срок годности заполняйте, если товар портится. Тогда калькулятор сверит партию с тем, сколько успеет продаться до истечения срока, и покажет, что уйдёт в списание. Для непортящегося товара поле оставьте пустым.
Заказать у поставщика
96 шт
8 коробов по 12 штук
 
 

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

Минимальный запас — ограничение не от поставщика, а от себя

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

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

Брать ли больше ради скидки за объём

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

Прикидка простая: посчитайте, на сколько дней продаж хватит увеличенной партии. 300 упаковок печенья при продажах 7 в день — это 43 дня.

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

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

Как это выглядит на практике: партия меняется вслед за спросом

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

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

Пять ошибок при расчёте партии

  1. Подставить сегодняшний остаток вместо остатка на дату поставки. Партия выходит заниженной ровно на продажи за срок поставки — на нашем печенье это 21 упаковка из 89.
  2. Забыть вычесть остаток вообще. Заказ дублирует то, что уже лежит на складе, и позиция уходит в излишки на месяцы.
  3. Считать по средней за прошлый период вместо текущей динамики. Если спрос осел после повышения цены, средняя за квартал будет тянуть партию вверх ещё долго.
  4. Не завести MOQ и кратность в расчёт. Партия выглядит правильной на бумаге, но поставщик её не примет, и закупщик правит заказ руками — а это обнуляет смысл автоматического расчёта.
  5. Брать «на всякий случай» вместо расчёта. Круглое число вместо посчитанного — самый дорогой способ застраховаться: излишки видны сразу, а сэкономленные полчаса — нет.

Что нужно задать один раз, чтобы расчёт партии не расходился с реальностью

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

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

Настройка базовых параметров расчёта партии заказа в Forecast NOW!

Срок годности — для скоропортящихся товаров партия не должна превышать объём, который успеет продаться до истечения срока. Например, для товара со сроком годности 7 дней система ограничивает размер партии этим сроком, даже если чистый расчёт спроса позволял бы заказать больше. В Forecast NOW! такой параметр задаётся один раз на товар или сразу на группу похожих товаров.

Настройка срока годности товара для расчёта партии

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

Применение параметра сразу к группе товаров

Условия поставщика — минимальная партия и кратность. Привязывать их надо не к товару, а к паре «поставщик — товар»: один и тот же товар у разных поставщиков отгружается разными коробами, и общая настройка на товар даст неверное округление. Выглядит это так:

Настройка условий поставщика: минимальная партия и кратность

Здесь же видно, какая из двух границ сработала на конкретной позиции — минимальная партия или округление по кратности:

Ограничения поставщика по минимальной партии и кратности

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

Настройка сезонности для группы товаров

Результат: как параметры меняют итоговый заказ

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

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

Первый расчёт заказа без учёта срока годности и минимальной партии

А так выглядит тот же заказ после того, как система учла срок годности и условия поставщика:

Пересчитанный заказ после добавления параметров поставки

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

Когда этот расчёт не работает

У формулы есть входные условия, и честнее назвать их прямо, чем получить неверную партию и списать это на метод.

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

Частые вопросы

Партия заказа — это сколько?

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

Чем партия заказа отличается от оптимального размера заказа (EOQ)?

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

MOQ — что это такое в торговле?

MOQ (Minimum Order Quantity) — минимальное количество товара, которое поставщик отгружает одним заказом. Ниже этой границы он либо не примет заявку, либо примет по другой цене. Для закупщика MOQ — это нижний предел партии: расчёт может говорить, что нужно 40 единиц, но при MOQ в 100 придётся либо брать 100, либо искать другого поставщика.

Что делать, если минимальная партия больше, чем успеет продаться?

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

Можно ли считать оптимальную партию в Excel?

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

С чего начать

Проверить, живёт ли ваш расчёт отдельно от спроса, можно за один вечер. Возьмите десять самых оборачиваемых позиций и посчитайте по формуле из начала статьи: средний спрос в день × дней до поставки, минус остаток на дату поставки, а не сегодняшний. Перед сравнением округлите расчёт вверх до кратности и поднимите до минимальной партии: сравнивать надо исполнимое с исполнимым. Иначе разницу даст округление, а не привычка — на нашем печенье 89 против 96 это уже 8%, а при коробе на 48 штук разрыв дошёл бы до 46% при полностью корректном заказе. Теперь сравните с тем, что заказали в прошлый раз. Если больше чем на трети позиций расхождение превышает 30%, заказ формируется не по потребности, а по привычке.

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

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

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

Готовы ответить на вопросы
и показать Forecast NOW! в деле
Наши специалисты готовы провести демонстрацию программы и представить ее на самостоятельное ознакомление, рассчитать стоимость внедрения и сроки окупаемости, проконсультировать о лучших практиках управления запасами.
Телеграм-канал и рассылка
Актуальные материалы по теме управления товарными запасами и наши исследования.
Учебный курс
Управление товарными запасами для специалистов по закупкам.

Другие публикации