Skip to content
K Knidox Search…
Finance · Operations

Economic Order Quantity

The order size that minimises the combined cost of ordering and holding stock.

units
Total units used or sold per year.
Fixed cost of placing one order, regardless of size.
Storage, insurance, and capital tied up in one unit for a year.
days
From placing an order to receiving it.
Economic order quantity
500units

Order 500 units at a time, about 20 times a year — roughly every 18 days.

Total annual cost at EOQ
2000

Ordering 1000 + holding 1000. At the optimum these two are equal — that is what the formula solves for.

Reorder point
191.78units

Place the next order when stock falls to this level, so it arrives as the last unit is used. No safety stock included.

EOQ assumes steady demand, a fixed lead time, and no bulk discounts. Its practical value is that the total-cost curve is flat near the optimum — ordering somewhat more or less than the exact figure costs very little, so round to a convenient pack size.

EOQ is the square root of twice annual demand times the order cost, divided by the holding cost. At 10,000 units a year, 50 per order, and 4 to hold a unit for a year, EOQ is √(2 × 10,000 × 50 ÷ 4) = 500 units, ordered 20 times a year.

A trade-off with a exact answer

Inventory pulls in two directions. Ordering in large batches means fewer orders and lower ordering costs, but more stock sitting in a warehouse tying up cash and space. Ordering in small batches keeps holding costs down but multiplies the fixed cost of placing orders.

These two costs move in opposite directions as order size changes, so their sum has a minimum. The economic order quantity is that minimum, and it is one of the few operations problems with a clean closed-form solution rather than a simulation.

The elegant property

At the optimum, total ordering cost exactly equals total holding cost. In the worked example each is 1,000, for a total of 2,000. This is not a coincidence — it falls out of the calculus, and it gives you a fast way to sanity-check any EOQ answer. If the two halves are wildly unequal, the arithmetic went wrong somewhere.

EOQ = √(2DS ÷ H) Reorder point = (D ÷ operating days) × lead time

D is annual demand in units, S the fixed cost of placing one order, and H the cost of holding one unit for a year. The reorder point carries no safety stock.

Worked example: 10,000 units a year

Apply the formula, then check the two cost halves match:

  1. 1
    Gather the three inputs. Annual demand 10,000 units, 50 to place an order, 4 to hold a unit for a year.
  2. 2
    Work the numerator. 2 × 10,000 × 50 = 1,000,000.
  3. 3
    Divide by holding cost. 1,000,000 ÷ 4 = 250,000.
  4. 4
    Take the square root. √250,000 = 500 units per order.
  5. 5
    Check the cost halves. 20 orders × 50 = 1,000 ordering; (500 ÷ 2) × 4 = 1,000 holding. Equal, as they must be at the optimum.
  6. 6
    Set the reorder point. Daily demand 10,000 ÷ 365 = 27.4 units; over a 7-day lead time that is about 192 units.

Total cost near the optimum

Annual ordering plus holding cost at different order sizes, for the example above. Note how flat the curve is around 500.

Order sizeOrdering costHolding costTotal
2502,0005002,500
4001,2508002,050
5001,0001,0002,000
6008331,2002,033
8006251,6002,225

Why being slightly wrong barely costs anything

The table shows the most practically useful fact about EOQ: the total-cost curve is very flat near its minimum. Ordering 400 instead of 500 — a 20% error — raises annual cost from 2,000 to 2,050, a penalty of 2.5%. Ordering 600 costs 1.7% more.

This matters because the inputs are estimates. Holding cost in particular is hard to pin down: it includes warehousing, insurance, obsolescence, and the opportunity cost of capital, and reasonable people disagree by a wide margin. The flatness of the curve means those disagreements barely affect the answer, so you should round EOQ to whatever pack size, pallet, or container the supplier actually ships.

The model does assume steady demand, a fixed lead time, no bulk discounts, and no stockouts. Where suppliers offer quantity discounts, the right approach is to compute total cost at EOQ and at each discount threshold and compare — the discount often wins even though it pushes order size above EOQ. Variable demand calls for safety stock on top of the reorder point calculated here.

Why do ordering and holding costs come out equal at EOQ?
It falls out of minimising their sum — the derivative is zero exactly where the two are balanced. It also gives a quick check: if your two cost halves differ substantially, the calculation is wrong.
What goes into holding cost?
Warehousing, insurance, shrinkage and obsolescence, and the opportunity cost of capital tied up in stock. That last component is often the largest and the most frequently forgotten.
How accurate does my holding cost need to be?
Not very. The total-cost curve is flat near the optimum, so a 20% error in order size raises total cost by only about 2.5%. Rough inputs give perfectly usable answers.
What if my supplier offers bulk discounts?
Compute total cost — including purchase cost — at EOQ and at each discount threshold, then take the lowest. The discount frequently justifies ordering more than EOQ suggests.
Does EOQ include safety stock?
No. The reorder point here assumes demand and lead time are exactly as stated. Real variability requires safety stock added on top, sized from the demand variability and your target service level.
What is the reorder point?
The stock level that triggers the next order, set so the delivery arrives just as the last unit is used. It is daily demand multiplied by the lead time in days.
When does EOQ stop being appropriate?
When demand is highly seasonal or erratic, when lead times swing widely, or in a just-in-time system where the whole aim is to drive batch sizes down by attacking the order cost itself.