Economic Order Quantity (EOQ) Formula: How to Size Your Orders
Economic order quantity (EOQ) is the order size that minimizes the combined cost of placing orders and holding stock. This guide explains the formula, how to estimate each input, a worked example with hypothetical numbers, and the situations where the basic model needs adjusting.
What EOQ is
Every purchase order involves two costs that pull in opposite directions. Each order you place has a cost, such as freight, paperwork, and receiving labor, so ordering often adds up. Each unit you keep on the shelf also has a cost, such as storage, insurance, and the cash tied up in it, so ordering a lot at once adds up too. EOQ is the order quantity at which the sum of the two is lowest.
It is a simplification, but it gives you a defensible starting point for order size, which beats defaulting to a supplier's minimum or to a round number.
The EOQ formula
- D is annual demand, in units per year.
- S is the cost of placing and receiving one order, in dollars per order.
- H is the cost of holding one unit in stock for one year, in dollars per unit per year.
Where it comes from: if you order Q units each time, you place D ÷ Q orders a year, and on average you hold about Q ÷ 2 units, because stock falls from Q to zero between deliveries. So:
The first term falls as Q rises, and the second term rises as Q rises. The total is lowest where the two terms are equal, which gives the formula above. A useful consequence is that at the EOQ, annual ordering cost equals annual holding cost.
Estimating the inputs
D: annual demand
Use units sold over the past twelve months for each product or variant, adjusted for what you expect next year. If you only have a few months of history, you can scale it up (150 units in 3 months suggests about 600 a year), but that ignores seasonality, so adjust if the product sells unevenly through the year. If the product was out of stock for part of the year, scale the figure up for those days, or it will understate real demand.
S: ordering cost per order
This is every cost that occurs once per order regardless of its size. Consider:
- Freight or minimum shipping charges
- Time spent creating the purchase order and communicating with the supplier
- Receiving, counting, and inspecting the shipment
- Payment fees, including currency conversion for foreign suppliers
- Customs brokerage or other fixed per-shipment fees
A common mistake is counting only the shipping charge. Costs that scale with quantity, such as per-unit duty, belong in the unit cost, not in S.
H: holding cost per unit per year
Holding cost is usually estimated as a percentage of the unit cost, applied per year, so H = unit cost × holding rate. The rate should reflect:
- Storage or fulfillment-partner fees attributable to the stock
- Insurance
- The cost of capital: the return you give up by having cash sit in inventory
- Shrinkage, damage, and obsolescence (see inventory shrinkage and dead stock management)
- Handling and counting labor
The inventory carrying cost formula shows how to build this rate from your own figures. The rate will differ between a durable, compact item and a perishable or fast-fashion one, so calculate it per product group where you can.
Worked example
These numbers are hypothetical. Suppose one product has:
- Annual demand D = 2,400 units
- Ordering cost S = $75 per order
- Unit cost = $12, and a holding rate of 30% per year, so H = 12 × 0.30 = $3.60 per unit per year
EOQ = √(2 × 2,400 × 75 ÷ 3.60) = √(360,000 ÷ 3.60) = √100,000 = 316.2 units
That means about 2,400 ÷ 316.2 = 7.6 orders per year, or one order roughly every 48 days (365 ÷ 7.59).
Here is how that compares with two simpler schedules for the same product:
| Schedule | Order size | Orders per year | Ordering cost | Holding cost | Total |
|---|---|---|---|---|---|
| Order monthly | 200 | 12 | $900.00 | $360.00 | $1,260.00 |
| EOQ | 316.2 | 7.59 | $569.21 | $569.21 | $1,138.42 |
| Order quarterly | 600 | 4 | $300.00 | $1,080.00 | $1,380.00 |
Ordering and holding cost are equal at the EOQ, as the derivation predicts. In this example the EOQ saves $121.58 a year against monthly ordering and $241.58 against quarterly ordering. Those figures apply only to the hypothetical inputs above, and they cover ordering and holding cost, not the purchase price of the goods.
The optimum is flat
The total cost changes slowly around the EOQ. Rounding 316.2 to 316 changes the total by less than a cent. Ordering 250 units, about 21% below the EOQ, costs (9.6 × $75) + (125 × $3.60) = $720 + $450 = $1,170. Ordering 400 units, about 26% above it, costs (6 × $75) + (200 × $3.60) = $450 + $720 = $1,170. Either choice adds $31.58, about 2.8%, to the $1,138.42 minimum. In practice, this means you can round to a case pack or a pallet quantity without much penalty. It also means modest errors in your inputs do not wreck the answer: because the EOQ depends on the square root of S ÷ H, a 20% error in either input moves the result by only about 10%. A rough but honest estimate of S and H is enough.
Quantity discounts
The basic formula ignores the purchase price, so it cannot tell you whether a volume discount is worth taking. To compare options, include the purchase cost:
For each price tier, calculate the EOQ using that tier's unit cost. If it falls inside the tier, use it as a candidate. If it falls below the tier's minimum quantity, use the minimum quantity instead. Compute the total annual cost for each candidate and choose the lowest.
Continue with the hypothetical product above. Suppose the supplier offers 2% off the unit price on orders of 600 or more.
- At the EOQ (no discount): purchases 2,400 × $12 = $28,800, plus $1,138.42 for ordering and holding, gives $29,938.42.
- At 600 units with the discount: the unit cost becomes $12 × 0.98 = $11.76, and H = 0.30 × 11.76 = $3.528. Purchases are 2,400 × 11.76 = $28,224. Ordering is 4 × $75 = $300. Holding is 300 × $3.528 = $1,058.40. The total is $29,582.40.
The discounted order is cheaper by $356.02 a year. The discounted EOQ itself (about 319 units) falls below the 600 threshold, so 600 is the best quantity that qualifies. A smaller discount can change the answer: at 0.5% off, the same calculation gives $30,030.60, which is higher than ordering at the EOQ.
Before accepting a discount, also check whether you can sell through the larger quantity before it expires or goes stale, and whether the cash is better used elsewhere.
Where the basic model breaks down
EOQ assumes demand is steady and known, costs per order and per unit are fixed, replenishment happens in one delivery, and stockouts do not occur. Real stores bend each of those assumptions.
- Uneven demand. If a product sells much faster in one season, a single annual figure misleads. Run the calculation separately for peak and off-peak periods, using the annualized demand rate for each. See seasonal inventory planning.
- Lead time and safety stock. EOQ says how much to order, not when. Use the reorder point formula for timing and the safety stock formula for the buffer. Safety stock adds a roughly constant amount of held inventory, so it does not change the EOQ itself.
- Minimum order quantities and case packs. If the supplier's minimum is above your EOQ, the minimum wins, and you should expect higher holding cost. If the supplier sells only in case packs, round to the nearest multiple.
- Storage limits. If you can store only a fixed number of units, cap the order at that figure or recalculate H using the higher storage rate that applies above your limit.
- Cash constraints. An EOQ you cannot afford is not useful. If cash is limited, fund the products with the best margin and fastest sell-through first, and let slower sellers run at smaller orders.
- Perishable or short-life products. A large order of something that expires is a poor trade. Cap the order at what you can sell within the shelf life. See inventory management for food and beverage.
- Backorders. EOQ assumes you never run out. If you accept backorders, other models apply. See backorder management.
- Products you do not hold. If an item is dropshipped or printed to order, there is no stock to hold and EOQ does not apply.
Ordering as often as possible in tiny quantities cuts holding cost but multiplies ordering cost, and it leaves little room for supplier delays. EOQ puts a number on that trade-off instead of leaving it to instinct.
Applying EOQ across a catalog
- Pull unit demand. Export a year of orders and total units per product or variant.
- Work out S per supplier. The per-order cost is often similar across products from the same supplier.
- Set a holding rate. Start from one rate, then raise it for perishable or bulky items and lower it for small, durable ones.
- Run the formula for each product, then round to a practical quantity such as a case pack.
- Check constraints. Compare the result with minimum order quantities, storage space, shelf life, and available cash, and adjust.
- Revisit. Update demand, supplier costs, and holding rates on a regular schedule.
To prioritize the effort, start with the products that account for the largest share of your purchasing spend. ABC analysis helps you find them. If you combine several products in one supplier order, the per-order cost is shared, so consider grouping them. For how purchase orders are created and tracked, see purchase order management.
How EOQ fits with the other formulas
- Demand forecast: supplies D. See demand forecasting.
- EOQ: how much to order each time.
- Reorder point: when to order.
- Safety stock: how much buffer to hold against variability.
- Inventory turnover: a check on the result. Smaller, more frequent orders generally raise turnover. See inventory turnover ratio.