Your reorder point tells you when to order. Safety stock tells you how big a buffer to keep. The economic order quantity (EOQ) answers the third question: how much should you order each time? Order too little and you place orders constantly. Order too much and you bury cash in stock that sits. EOQ finds the point in between.
EOQ is the order quantity that minimizes the total of your ordering costs and your holding costs. It pairs with your reorder point: EOQ is the how much, the reorder point is the when.
The economic order quantity formula#
Where:
- D is annual demand in units (how many you sell per year)
- S is the ordering cost per order (admin, setup, per-order freight, the cost that stays fixed regardless of order size)
- H is the holding cost per unit per year (storage, capital, insurance, obsolescence)
The formula comes from balancing two costs that move in opposite directions as your order size changes.
Why it works: two costs in tension#
Ordering cost falls as you order more per order, because you place fewer orders a year. Holding cost rises as you order more per order, because you keep more average stock on hand. EOQ is the quantity where those two cost curves cross, which is the lowest total cost.
If placing an order is expensive (high S), EOQ rises, so you batch up to avoid frequent orders. If holding stock is expensive (high H), EOQ falls, so you order smaller and more often to keep less on the shelf.
A worked example#
Say that for one SKU:
- Annual demand D = 12,000 units
- Ordering cost S = $80 per order
- Holding cost H = $3 per unit per year
Then:
EOQ = √(2 × 12,000 × 80 / 3)
= √(1,920,000 / 3)
= √640,000
= 800 units
So the cost-minimizing order size is 800 units. At 12,000 a year that is 15 orders a year, about one every 24 days.
How EOQ fits with reorder point and safety stock#
These three numbers work as a system, not as competitors:
| Question | Tool | Formula |
|---|---|---|
| How much to order? | EOQ | √(2DS / H) |
| When to order? | Reorder point | (avg daily sales × lead time) + safety stock |
| How big a buffer? | Safety stock | Z × σ × √lead time |
You reorder EOQ units when stock hits your reorder point, and your safety stock keeps you covered while the order is in transit.
Limits of the EOQ model (and how to adjust)#
- Gives a defensible, math-based order size
- Exposes the real tradeoff between ordering and holding cost
- A solid default when demand is fairly steady
- Assumes constant demand, so it breaks for seasonal or viral SKUs
- Ignores supplier MOQs and volume-discount price breaks
- Treats ordering cost as fixed when freight often scales
In practice, round EOQ to your supplier's case or pallet sizes, respect minimum order quantities, and recompute when demand shifts. For seasonal products, run EOQ on the demand rate for the season, not a flat annual average.
Get order quantities and reorder timing computed per SKU
The bottom line#
EOQ = √(2DS / H) gives you the order size that minimizes ordering plus holding cost. Use it to set how much you order, your reorder point to set when, and safety stock to cover the gap in between. Then adjust for MOQs, discounts, and seasonality. That ongoing adjustment across every SKU is what Enough Stock handles for you.
