Every business that holds physical stock faces the same tension: order too infrequently and you spend a lot on each delivery; order too often and warehousing costs mount up. The Economic Order Quantity (EOQ) is the mathematically optimal order size that resolves this tension — the exact batch size at which your combined ordering and holding costs are as low as they can be.
How it works
The EOQ formula was derived independently by Ford W. Harris (1913) and later popularised by R. H. Wilson. It models total annual inventory cost as two competing components:
- Total ordering cost = (D / Q) × S — the number of orders placed per year multiplied by the fixed cost of each order.
- Total holding cost = (Q / 2) × H — the average stock on hand (half the order quantity, assuming demand is steady) multiplied by the annual cost to hold one unit.
Both terms depend on order quantity Q, but in opposite directions: a larger Q reduces ordering cost but increases holding cost. The total cost function is a convex curve with a single minimum. Setting its derivative to zero and solving for Q gives:
EOQ = sqrt(2 × D × S / H)
At this quantity, total ordering cost and total holding cost are exactly equal — a geometric consequence of the two cost functions being mirror images at their crossing point.
Derived metrics calculated for you:
- Orders per year = D / EOQ
- Cycle time = 365 / (orders per year) — average days between orders
- Average inventory = EOQ / 2 — the expected stock level between deliveries
- Reorder Point (ROP) = (D / 365) × lead time — how many units you need on hand when you place the next order
Worked example
A hardware wholesaler sells 1,200 widgets per year. Each purchase order costs £50 (admin, freight, goods-in processing). Widgets cost £20 each and the business applies a 20% annual holding rate, giving a holding cost of £4.00 per unit per year.
Plugging into the formula:
EOQ = sqrt(2 × 1200 × 50 / 4)
= sqrt(120,000 / 4)
= sqrt(30,000)
≈ 173 units
Annual cost breakdown at EOQ:
| Component | Calculation | Cost |
|---|---|---|
| Ordering cost | (1200 / 173) × £50 = 6.93 orders × £50 | £346.41 |
| Holding cost | (173 / 2) × £4 = 86.6 units × £4 | £346.41 |
| Total | £692.82 |
Note that ordering cost and holding cost are identical at the EOQ — this equality is always the case and serves as a quick sanity-check on your numbers.
With a 7-day lead time the reorder point is (1200 / 365) × 7 ≈ 23 units — place a new order when stock drops to 23 widgets and the delivery will arrive just as stock runs out.
What happens if you order a different quantity?
| Order size | Orders/year | Ordering cost | Holding cost | Total cost |
|---|---|---|---|---|
| 100 units | 12 | £600 | £200 | £800 |
| 173 units (EOQ) | 6.9 | £346 | £346 | £693 |
| 250 units | 4.8 | £240 | £500 | £740 |
| 400 units | 3 | £150 | £800 | £950 |
Ordering at either extreme costs significantly more than the EOQ. The U-shaped total cost curve is relatively flat near the minimum, which means small deviations from EOQ have modest cost impact — but the benefit of finding the optimum over ad hoc guesswork compounds across many SKUs and years.