Экономический объем заказа (EOQ)
EOQ — это количество товара для пополнения запасов, которое минимизирует общие издержки на запасы. Заказ на пополнение инициируется, когда уровень запасов достигает точки повторного заказа. EOQ рассчитывается с целью минимизации совокупности затрат, таких как стоимость закупки (которая может включать скидки по объему), затраты на хранение запасов, стоимость заказа и т.д. Оптимизация количества заказа является дополнением к оптимизации резервного запаса, которая направлена на поиск оптимального порога для инициирования нового заказа.
Модель и формула
Классическая формула EOQ (см. формулу Уилсона ниже) по существу представляет собой компромисс между фиксированной стоимостью заказа и затратами на хранение запасов. Хотя эта формула, появившаяся еще в 1913 году, чрезвычайно известна, мы настоятельно не рекомендуем использовать такую формулу в современных условиях цепочки поставок. Основополагающие математические предположения, лежащие в основе этой формулы, сегодня уже не актуальны.
Историческая формула исходит из предположения, что стоимость самого процесса заказа является ключевым экономическим фактором. Это, безусловно, было важным фактором в 1913 году, когда для ведения учета требовалось целое войско клерков, но с появлением программного обеспечения для управления запасами и, возможно, EDI этот фактор обычно не имеет большого значения. В результате «оптимизация», проводимая по данной формуле, теряет смысл и полностью игнорирует любые скидки, которые могут быть предоставлены при заказе большего количества товара.
Скачать Excel-таблицу: eoq-calculator.xlsm (пример расчета)
Таким образом, мы предлагаем вариант формулы EOQ, который оптимизирует соотношение затрат на хранение запасов и скидок по объему. Введем переменные:
- $${Z}$$ — спрос в период поставки.
- $${H}$$ — затраты на хранение единицы товара за время срока поставки (1).
- $$\delta$$ — разница в количестве запасов, необходимая для достижения точки повторного заказа (2).
- $${P}$$ — цена закупки за единицу, функция от количества заказа q.
(1) Здесь рассматривается временной интервал, равный сроку поставки. Таким образом, вместо использования более привычных годовых затрат на хранение $$H_y$$, мы берем $$H = \frac{d}{365}H_y$$, предполагая, что $$d$$ — это срок поставки в днях.
(2) При расчете дельты необходимо учитывать как текущие запасы $$q_{hand}$$, так и запасы, находящиеся в заказе $$q_{order}$$, что дает соотношение $$\delta = R - q_{hand} - q_{order}$$, где $$R$$ — точка повторного заказа. Интуитивно, $$\delta+1$$ — это минимальное количество, которое необходимо заказать для поддержания требуемого уровня обслуживания.
Несмотря на кажущуюся сложность, эту функцию можно легко вычислить с помощью Microsoft Excel, как показано в приведенной выше таблице.
А что насчет затрат на заказ?
На первый взгляд может показаться, что мы предполагаем нулевые затраты на заказ, но это не так. На самом деле, предлагаемая нами модель достаточно гибкая, и затраты на заказ (если они имеются) могут быть включены в функцию цены $$\mathcal{P}$$.
Функция затрат
Для моделирования функции затрат на количество заказа с учетом скидок по объему, введем $${R}$$ — точку повторного заказа. Затраты на запасы представляют собой сумму затрат на хранение запасов и стоимости закупки, а именно
Действительно, с амортизированным учетом за период поставки, общее количество, которое необходимо заказать, будет равно $${Z}$$ — спросу за время поставки.
При этом уровень запасов постоянно меняется, но если рассматривать случаи строгого минимального заказа (т.е. $${q=\delta+1}$$), то средний уровень запасов во времени равен $${R}$$ — точке повторного заказа. Поскольку мы рассматриваем заказы, превышающие $${\delta+1}$$, дополнительные заказываемые количества увеличивают средний уровень запасов (а также откладывают момент, когда будет достигнута следующая точка повторного заказа).
Выражение $${(q-\delta-1)/2}$$ представляет собой сдвиг запасов, вызванный заказом, при условии равномерного распределения спроса в период поставки. Фактор $${1/2}$$ обоснован тем, что увеличение количества заказа на $${N}$$ приводит лишь к увеличению среднего уровня запасов на $${N/2}$$.
Минимизация функции затрат
Чтобы минимизировать $${C(q)}$$, можно начать с выделения части, не зависящей от $${q}$$, следующим образом:
Поскольку $${RH}$$ не зависит от $${q}$$, оптимизация $${C(q)}$$ сводится к оптимизации $${C^*(q)}$$, где:
Таким образом, в данном контексте, поскольку функция скидки по объему $$\mathcal{P}$$ является произвольной, прямого алгебраического решения для минимизации данной формулы не существует. Однако это не означает, что минимизацию данной функции сложно решить.
Простая минимизация функции $${C^*(q)}$$ заключается в (наивном) подробном численном исследовании, то есть вычислении функции для широкого диапазона значений $${q}$$. Ведь практически ни одному бизнесу не требуются заказы объемом свыше 1,000,000 единиц, и выполнение перебора значений затрат для $${q=1..1,000,000}$$ займет менее 1 секунды, даже если расчет проводится в Excel на обычном настольном компьютере.
Однако на практике этот расчет можно значительно ускорить, если предположить, что функция $$\mathcal{P}(q)$$ является строго убывающей, то есть цена за единицу товара строго снижается с увеличением количества заказа. Действительно, если $$\mathcal{P}(q)$$ убывает, то можно начать исследование значений с $${q=\delta+1}$$, проводить итерации и окончить, как только будет обнаружено, что $${C^(q+1)>C^(q)}$$.
На практике цена за единицу редко увеличивается с ростом объема заказа, однако могут наблюдаться локальные скачки в зависимости от оптимизации поставок под поддоны или другие упаковочные стандарты, предпочитающие определенные размеры партий.
Формула Уилсона
Самая известная формула EOQ — формула Уилсона, разработанная в 1913 году. Эта формула основывается на следующих предположениях:
- Затраты на заказ являются фиксированными.
- Спрос известен и равномерно распределен в течение года.
- Срок поставки является фиксированным.
- Цена закупки за единицу постоянна, то есть скидка не предоставляется.
Введем следующие переменные:
- $${D_y}$$ — годовой объем спроса
- $${S}$$ — фиксированные затраты за заказ (не затраты на единицу товара, а затраты, связанные с операцией заказа и доставки).
- $${H_y}$$ — годовые затраты на хранение
При этих предположениях оптимальный EOQ по формуле Уилсона равен:
На практике мы предлагаем использовать более локально адаптированный вариант (по времени) этой формулы, в котором $${D_y}$$ заменяется на $${D}$$ — прогнозируемую скорость спроса за период поставки (то есть спрос в период поставки $${Z}$$, разделенный на срок поставки), а $${H_y}$$ заменяется на $${H}$$ — затраты на хранение за период поставки.
Сравнение двух формул EOQ
Для розничной или оптовой торговли, по нашему мнению, представленная в начале страницы формула EOQ, ориентированная на скидки по объему, является более подходящей и, следовательно, более прибыльной, чем формула Уилсона. Для производителей всё зависит от ситуации. В частности, если заказ инициирует новое производство, тогда действительно могут возникать значительные затраты на заказ (наладка производства) и незначительные или отсутствующие выгоды от сниженной маржинальной себестоимости единицы. В такой ситуации формула Уилсона оказывается более уместной.