What the economic order quantity is
Every order costs something to place, and every unit costs something to keep in stock. Large, rare orders save on ordering but fill the shelves; small, frequent orders keep stock low but pile up ordering costs. The economic order quantity (EOQ) is the order size where the two together are lowest.
D is the annual demand in units, S the cost of one order, H the holding cost of one unit for a year and Q the order size. S × D ÷ Q is the yearly ordering cost: D ÷ Q orders a year at S each. H × Q ÷ 2 is the yearly holding cost: stock falls from Q to 0 between deliveries, so on average you hold Q ÷ 2 units. The price of the goods itself is left out because you buy the same D units a year whatever the order size.
Worked example
A shop sells 12,000 units of an item a year. Each order costs $75 to place and receive, a unit costs $20 and holding stock costs 25% of its value a year, so H = 25% × $20 = $5.00 per unit a year.
- EOQ = √(2 × 12,000 × 75 ÷ 5) = 600 units.
- Orders a year = 12,000 ÷ 600 = 20, one every 365 ÷ 20 = 18.25 days.
- Ordering cost = 20 × $75 = $1,500 a year. Holding cost = $5.00 × 600 ÷ 2 = $1,500 a year. Total $3,000.
- Reorder point: daily demand is 12,000 ÷ 365 = 32.88 units and the supplier needs 7 days, so 230.14 units are used while you wait. A 95% service level with a daily standard deviation of 8 units adds a safety stock of 1.645 × 8 × √7 = 34.81 units, for a reorder point of 264.95, or 265 units rounded up.
- Current order size: ordering 1,000 at a time costs $3,400 a year, $400 more than the EOQ.
The cost curve is flat near the EOQ
Total cost changes slowly around the optimum, so rounding the EOQ to a box, pallet or minimum order size costs little. For the example item:
| Order size | Orders a year | Ordering | Holding | Total | vs EOQ |
|---|---|---|---|---|---|
| 300 | 40 | $3,000 | $750 | $3,750 | +25% |
| 450 | 26.7 | $2,000 | $1,125 | $3,125 | +4.2% |
| 600 (EOQ) | 20 | $1,500 | $1,500 | $3,000 | 0% |
| 900 | 13.3 | $1,000 | $2,250 | $3,250 | +8.3% |
| 1,200 | 10 | $750 | $3,000 | $3,750 | +25% |
Ordering 25% less than the EOQ costs 4.2% more a year, and ordering 50% more costs 8.3% more. The square root also means the EOQ moves less than its inputs: four times the demand only doubles it.
Assumptions of the EOQ model
The textbook model holds when these conditions are close to true:
- You order the item from an outside supplier.
- Demand is steady and known, the same every period.
- The lead time from order to delivery is constant.
- You order the same quantity every time.
- Each order has a fixed cost, whatever its size.
Real demand moves, suppliers give quantity discounts and storage space runs out. The EOQ then gives a good first answer that you adjust, and safety stock covers the uncertainty in demand while you wait for a delivery.
Reorder point and safety stock
d is the average daily demand, L the lead time in days and σd the standard deviation of daily demand. When stock falls to the reorder point you place the next order of EOQ units. The MIT logistics course by Chris Caplice sets the reorder point as the expected demand over the lead time plus a safety factor times the standard deviation of demand over the lead time. If daily demand is independent from day to day, that standard deviation grows with the square root of the number of days, which gives σd × √L.
The service level here is the cycle service level: the probability that you do not run out during one wait for a delivery. With normally distributed demand it is Φ(z), so z is the standard normal value for the service level. The calculator finds it with the same inverse normal function as the z-score calculator.
| Cycle service level | z | Safety stock in the example |
|---|---|---|
| 80% | 0.842 | 17.8 units |
| 90% | 1.282 | 27.1 units |
| 95% | 1.645 | 34.8 units |
| 97.5% | 1.960 | 41.5 units |
| 99% | 2.326 | 49.2 units |
| 99.9% | 3.090 | 65.4 units |
Each step closer to 100% costs more stock than the one before. A cycle service level is not the same as a fill rate, the share of demand you serve from stock: Caplice notes the fill rate is usually much higher for the same safety stock. The extra holding cost of safety stock is H × SS a year, on top of the EOQ total.
Inventory turnover and days inventory outstanding
Average inventory = (Start + End) ÷ 2
Turnover shows how often your stock is sold and replaced in a year; days inventory outstanding shows how many days of sales it covers. Both use cost of goods sold and inventory at cost, so the units match. With $240,000 of COGS and inventory of $18,000 at the start and $22,000 at the end of the year, average inventory is $20,000, turnover is 12 times a year and the stock covers 30.4 days. OpenStax calls the second ratio days’ sales in inventory and computes it the same way. Compare these numbers with your own earlier years rather than with other industries.
How to use the EOQ calculator
- 1Enter the annual demand in units and the cost of placing one order.
- 2Enter the holding cost as a yearly percentage of the unit cost, or as an amount per unit and year.
- 3For the reorder point, add the lead time and either a safety stock in units or a service level with the standard deviation of daily demand.
- 4Optionally add your current order size to see what it costs, and COGS with inventory values for turnover. Copy the result or a link.
To see how many units you must sell to cover fixed costs, use the break-even calculator; to price the item, the markup calculator.
Sources
- 9.4: Inventory Models for Certain Demand, Economic Order Quantity (EOQ), Hamid Faramarzi and Mary Drane, Introduction to Operations Management, Business LibreTexts. Assumptions, total cost, EOQ, orders a year and time between orders.
- Inventory Management: Probabilistic Demand (PDF), Chris Caplice, MIT OpenCourseWare, ESD.260 Logistics Systems, 2006. Reorder point with safety stock, cycle service level, converting standard deviations between periods, holding cost as a rate times unit value.
- 10.5 Examine the Efficiency of Inventory Management Using Financial Ratios, Mitchell Franklin, Patty Graybeal and Dixon Cooper, Principles of Accounting, Volume 1, OpenStax. Inventory turnover and days’ sales in inventory.
Frequently asked questions
What is the EOQ formula?
EOQ = √(2DS ÷ H), where D is annual demand in units, S is the cost of placing one order and H is the cost of holding one unit in stock for a year. With 12,000 units a year, $75 per order and $5 per unit per year, EOQ = √(2 × 12,000 × 75 ÷ 5) = √360,000 = 600 units.
What counts as ordering cost and holding cost?
Ordering cost is what one order costs regardless of its size: the purchasing work, shipping fees charged per delivery, receiving and checking the goods, and processing the invoice. Holding cost is what a unit costs per year while it sits in stock: the money tied up in it, storage space, insurance, shrinkage and obsolescence. Holding cost is often given as a yearly percentage of the unit cost.
Why are ordering cost and holding cost equal at the EOQ?
Ordering cost falls as orders get bigger (fewer orders a year), while holding cost rises (more stock on average). In the basic model their sum is lowest exactly where the two are equal, at S × D ÷ Q = H × Q ÷ 2. Solving that for Q gives the EOQ formula.
How do you calculate the reorder point?
Reorder point = average daily demand × lead time in days + safety stock. If you sell about 32.9 units a day, the supplier needs 7 days and you keep 35 units of safety stock, you reorder when stock falls to about 32.9 × 7 + 35 = 265 units.
How is safety stock calculated from a service level?
Safety stock = z × σ × √L, where z is the standard normal value for the service level (1.645 for 95%), σ is the standard deviation of daily demand and L is the lead time in days. This assumes daily demand is roughly normal and independent from day to day, and that the lead time is fixed.
What does the EOQ model leave out?
The basic model assumes steady, known demand, a fixed cost per order, a constant holding cost, a constant lead time and that each order arrives in full. It ignores quantity discounts, minimum order sizes, limited storage space and the price of the goods itself. Use the EOQ as a starting point and round it to a pack or pallet size.
What is inventory turnover?
Inventory turnover = cost of goods sold ÷ average inventory, with average inventory = (start + end) ÷ 2. It shows how many times a year your stock is sold and replaced. Days inventory outstanding = 365 ÷ turnover, or average inventory ÷ (COGS ÷ 365), and shows how many days of sales your stock covers.