Library / Inventory Control / EOQ

ZBI Business Control Library

EOQ

EOQ: plain-English definition, formula, worked example, how to interpret the result, peer-based benchmark guidance, common mistakes, and management actions in the ZBI Business Control Library.

Category

Inventory Control

Back to category

What is EOQ?

Economic order quantity (EOQ) balances ordering cost against holding cost to find the order size that minimizes total inventory cost for a steady-demand SKU. It is not MOQ, safety stock, or reorder point—it sizes each order once you decide to buy. For PakProm d.o.o., a EUR 3.2M flexible packaging converter in Velika Gorica, annual demand 12,000 units, ordering cost EUR 50 per PO, and holding cost EUR 2 per unit per year gives EOQ ≈ 775 units. I use EOQ as a negotiation anchor with suppliers and a sanity check against buyers who always order full pallets because 'that is how we have always done it.'

Why EOQ matters

Order too small and you pay EUR 50 ordering cost too often—inbound handling and planner time eat margin. Order too large and holding cost at EUR 2 per unit ties cash on shelves PakProm could use for resin prepayment. Wrong order size also distorts ROP alerts: a buyer ordering 2,000 when EOQ says 775 resets the clock and hides chronic overstock on C-class film grades. EOQ does not fix stockouts alone—ROP and safety stock still decide when to order—but it stops systematic oversizing that finance sees as 'inventory creep' every close.

Formula and variables

EOQ = √((2 × Annual Demand × Ordering Cost) ÷ Holding Cost per Unit)

Annual demand — expected units consumed or sold in twelve months (adjust for seasonality on peak SKUs).

Ordering cost — fixed cost per PO including receiving, inspection, and planner time—not only freight.

Holding cost per unit — annual cost to hold one unit (capital + storage + obsolescence risk).

Excel: =SQRT((2*B2*B3)/B4)

Real business example

PakProm d.o.o. plans replenishment for a standard laminate web: annual demand 12,000 units; ordering cost EUR 50 per purchase order (planner release, receiving, QC sample); holding cost EUR 2 per unit per year at current overdraft and warehouse allocation. EOQ = √((2 × 12,000 × 50) ÷ 2) = √(600,000) ≈ 775 units. Supplier MOQ is 1,000 units—procurement models total cost at 775 versus 1,000 and negotiates split delivery before accepting the MOQ. Peak Q4 demand runs 40% above average; seasonal EOQ uses 16,800 annual equivalent, not the flat 12,000.

How to interpret the result

EOQ is a cost-minimizing order size—apply it where demand and costs are stable enough to matter.

  • 775 units is a target, not gospel—MOQ, shelf life, and container fill override the formula.
  • Ordering cost EUR 50 must include real planner and receiving time or EOQ skews toward oversized orders.
  • Holding cost EUR 2 per unit should reflect overdraft rate and obsolescence on film grades, not a generic 15%.
  • Recalculate when freight doubles or demand shifts more than 10%—static EOQ from 2022 mis sizes 2026 orders.

Benchmark context

EOQ matters most on A-class SKUs with meaningful order and holding cost—PakProm runs formal EOQ on top 120 purchased items. C-class fasteners may stay on min-max. Compare realized average order size to EOQ quarterly: persistent 2× gap signals MOQ lock-in or buyer habit. Container imports often effective-EOQ to full container even when formula says less—document the override with demurrage and freight per unit.

Red flags

  • Theoretical EOQ half the supplier MOQ—buyers order MOQ anyway and carrying cost assumptions never tested.
  • Average order size 2,500 units when EOQ is 775 for six months—systematic overstock on working capital.
  • EOQ recalculated never after holding rate moved from 8% to 11%—formula inputs stale.
  • Single EOQ applied to seasonal SKU—Q4 demand spike guarantees stockouts at EOQ-sized orders.
  • Ordering cost in model excludes receiving overtime—EOQ biased low and PO frequency underestimated.

Common mistakes

  • Using supplier quoted MOQ as EOQ without cost comparison when formula says 775 and MOQ is 1,000.
  • Ordering cost assumed at EUR 50 when real cost including planner time and receiving is EUR 180.
  • Single EOQ from annual average demand on a SKU that triples in Q4—peak stockouts follow.
  • Recalculating EOQ never after freight rates doubled—orders stay too small; inbound cost per unit rises.
  • Treating EOQ as reorder trigger—ROP and safety stock still decide when to place the 775-unit order.

What should management do next?

  • Recalculate EOQ on A-class when freight, holding rate, or demand CV shifts more than 10%.
  • Document MOQ override with cost comparison when supplier MOQ exceeds calculated EOQ.
  • Run seasonal EOQ for peak SKUs before buy season—do not use flat annual average demand.
  • Include realistic ordering cost (planner time, receiving, QC) in formula inputs.
  • Review EOQ assumptions in supplier negotiation prep for top ten purchased items.

Related templates & software

FAQ

When is EOQ not worth calculating?

For C-class low-value items, use min-max. EOQ pays off on A-class where ordering and holding costs both matter.

Supplier MOQ is 1,000 but EOQ says 775—what do we do?

Run total cost comparison: 775 with more frequent orders versus 1,000 with extra carrying cost. Negotiate split delivery or MOQ reduction.

How often should we refresh EOQ inputs?

When freight, holding rate, or demand variability shifts more than 10%, or at least annually on A-class.

Does EOQ apply to imported container loads?

Adjust ordering cost to container fill and demurrage—effective EOQ may be full container even if formula says 775.

Can EOQ reduce stockouts?

Only if ROP and safety stock are correct. EOQ sizes orders; it does not set when to order.

Summary

EOQ finds the order size that balances ordering and holding cost. Use realistic inputs, override for MOQ and seasonality with documented math, and pair with ROP—not as a standalone replenishment rule.

Reviewed by ZBI Business Control Library · Last updated 2026-06-15