How to calculate economic order quantity (EOQ)
Who it is forGrocery chain buying, inventory planning, supply chain
There are two wrong answers to "how much should we order": the same amount every time, and however much has run out. Neither accounts for the trade-off between the cost of placing an order and the cost of holding stock. Economic order quantity is a century-old formula that balances the two, and despite its rigid assumptions it remains the best place to start. This guide covers the formula, where the inputs come from and when to put it aside.
What EOQ balances
Two costs move in opposite directions. Order small and often and stock stays low, so holding cost falls; but the number of orders rises and every order carries its own cost. Order large and rarely and the reverse happens.
Total cost is the sum of those two curves and reaches its minimum at one point. That point is the economic order quantity, and there the two costs are equal — which is the most practical way to check the formula.
The formula does not include the purchase price of the item, because with annual demand fixed the total purchase cost is independent of order size. Purchase price only enters when a volume discount is on the table.
- Economic order quantity
√( 2 × D × S ÷ H )D: annual demand in units, S: cost per order, H: annual holding cost per unit- Holding cost per unit (H)
Unit cost × Carrying cost rate- Orders per year
D ÷ EOQ- Total annual cost
(D ÷ Q) × S + (Q ÷ 2) × H
Where the three inputs come from
The formula is short; the inputs are contentious. Getting all three right matters more than the calculation itself.
Annual demand (D) is taken from corrected demand rather than raw sales: lost sales from out-of-stock days must be added and the effect of campaign weeks separated out. Using the raw series makes EOQ come out systematically low.
Cost per order (S) is not just freight: order preparation, supplier communication, goods receipt, quality control and invoice processing time are all totalled. In most businesses this number has never been calculated; even a rough measurement beats an estimate.
Holding cost per unit (H) is the unit cost multiplied by the carrying cost rate. If the rate is not written down, EOQ cannot be calculated — which makes the carrying cost rate a precondition for this formula.
| Input | Where it comes from | Common mistake |
|---|---|---|
| D — annual demand | Corrected demand series | Using raw sales; out-of-stock days understate demand |
| S — cost per order | Process cost measurement | Counting only freight; processing time is omitted |
| H — holding cost | Unit cost × rate | Using the lower international rate; calculate it from your own financing cost |
Worked example
The calculation below runs on a single medium-velocity product. After the result, the optimum is verified.
The two costs coming out equal is a mathematical property of EOQ. If they differ noticeably in your calculation, one of the inputs is wrong.
The formula is less sensitive than you think
EOQ's least known and most useful property is that the cost curve around the optimum is very flat. Moving the quantity away from the optimum raises total cost far less than expected.
In practice this is a considerable relief: your inputs being estimates does not seriously distort the result. Getting the order cost wrong by 30 per cent shifts the order quantity by 14 per cent and moves total cost by less than 1 per cent.
The same property explains why rounding to a case pack or a minimum order quantity is harmless. If the calculation says 197 and the supplier ships in cases of 240, rounding up raises total cost by around 2 per cent — acceptable.
| Order quantity | Deviation from optimum | Total annual cost | Cost increase |
|---|---|---|---|
| 150 units | −24% | ₺56,925 | +3.7% |
| 175 units | −11% | ₺55,263 | +0.7% |
| 197 units | optimum | ₺54,893 | — |
| 240 units | +22% | ₺55,980 | +2.0% |
| 300 units | +52% | ₺59,850 | +9.0% |
Ordering cost falls as the quantity grows while holding cost rises; total cost reaches its minimum at 197 units. The real point is how wide and flat the bottom of the curve is: any quantity between 175 and 250 units produces a total cost within four per cent of the optimum.
Because the curve is flat, trying to apply EOQ to unit precision is wasted effort. Round the result to the case pack and move on.
The assumptions, and when to abandon the formula
EOQ rests on four assumptions: demand is constant and known, lead time is constant, unit price is independent of quantity, and stock-outs are not allowed. In retail none of those is exactly true.
The formula is still useful because its output is read as a range, not a single number. "Roughly two-hundred-unit batches, ordered weekly" is far better information than a decision made with no calculation at all.
There are three situations where the formula genuinely falls short and other methods take over: seasonal products, products with limited shelf life, and purchases with volume discounts. For the last, EOQ is calculated separately at each discount tier and the tier with the lowest total cost is chosen.
- Seasonal products and weekly specials — demand is not constant; a period plan and a single-buy decision apply
- Short shelf life — EOQ may suggest more than the shelf life allows; the ceiling comes from shelf life
- Volume discounts — total cost is calculated at each tier and the lowest is chosen
- Minimum order quantity and case packs — round the result to them; the cost effect is small
- Warehouse capacity — a physical limit can override the formula's answer
- Establish the carrying cost rateIt is EOQ's precondition. Without a rate the formula cannot run; capital, storage, risk and service items are totalled first.
- Measure the order costOrder preparation, goods receipt, quality control and invoice processing time × unit time cost. Measured once, updated annually.
- Correct the demandAdd lost sales from out-of-stock days, strip out campaign effects. A raw sales series makes EOQ come out low.
- Start with A-class itemsRunning EOQ across the whole catalogue is unnecessary. Apply it to the A class that produces 80 per cent of value; a simple rule is enough for C class.
- Round to the case packThe result is rounded to the supplier's case pack and minimum order quantity. Because the cost curve is flat, the effect is small.
Frequently asked questions
- How is economic order quantity calculated?
- Twice the annual demand is multiplied by the cost per order, the result divided by the annual holding cost per unit, and the square root taken. For a product with 12,000 units of annual demand, ₺450 cost per order and ₺279 holding cost per unit, EOQ is √(2×12,000×450÷279) = 197 units.
- What is the EOQ formula?
- EOQ = √(2DS ÷ H), where D is annual demand, S is the cost per order and H is the annual holding cost per unit. At the optimum, ordering cost and holding cost come out equal.
- How do I find the holding cost per unit?
- Multiply the unit cost by the inventory carrying cost rate. On a ₺620 product with a 45 per cent rate, holding cost per unit is ₺279. The rate is calculated from the business's own financing cost; using the lower international figure makes EOQ come out too large.
- Should the EOQ result be applied exactly?
- No. The cost curve around the optimum is very flat: raising the quantity by 22 per cent lifts total cost by only 2 per cent. Rounding the result to the supplier's case pack and minimum order quantity is harmless.
- When should EOQ not be used?
- For seasonal products (demand is not constant), short shelf life products (the formula may suggest more than the shelf life allows) and purchases with volume discounts. For the last, the calculation is run at each discount tier and the tier with the lowest total cost is chosen.
- What is the difference between EOQ and the reorder point?
- EOQ says how much to order, the reorder point says when. They complement each other: when stock falls to the reorder point, an order of EOQ size is placed.