Jun 14, 20263 min read

Economic Order Quantity (EOQ) Formula: How to Calculate It

The EOQ formula explained: how to calculate the economic order quantity that minimizes ordering and holding costs, with a worked example and its limits.

Ryan WaranauskasRyan Waranauskas
The short answer

The economic order quantity formula is EOQ = √(2DS / H), where D is annual demand in units, S is the cost to place one order, and H is the cost to hold one unit for a year. EOQ is the order size that minimizes total ordering plus holding costs.

Key takeaways
  • EOQ = √(2DS / H). D = annual demand, S = cost per order, H = annual holding cost per unit.
  • EOQ answers how much to order. Your reorder point answers when to order. You need both.
  • It balances two opposing costs: ordering too often (high order costs) versus ordering too much (high holding costs).
  • EOQ assumes steady demand and a fixed order cost, so adjust for MOQs, volume discounts, and seasonality.
  • Lower order costs or rising holding costs push your optimal order size down.

Your reorder point tells you when to order. Safety stock tells you how big a buffer to keep. The economic order quantity (EOQ) answers the third question: how much should you order each time? Order too little and you place orders constantly. Order too much and you bury cash in stock that sits. EOQ finds the point in between.

Summary

EOQ is the order quantity that minimizes the total of your ordering costs and your holding costs. It pairs with your reorder point: EOQ is the how much, the reorder point is the when.

The economic order quantity formula#

EOQ = √(2DS / H)
economic order quantity

Where:

  • D is annual demand in units (how many you sell per year)
  • S is the ordering cost per order (admin, setup, per-order freight, the cost that stays fixed regardless of order size)
  • H is the holding cost per unit per year (storage, capital, insurance, obsolescence)

The formula comes from balancing two costs that move in opposite directions as your order size changes.

Why it works: two costs in tension#

Ordering cost falls as you order more per order, because you place fewer orders a year. Holding cost rises as you order more per order, because you keep more average stock on hand. EOQ is the quantity where those two cost curves cross, which is the lowest total cost.

The intuition

If placing an order is expensive (high S), EOQ rises, so you batch up to avoid frequent orders. If holding stock is expensive (high H), EOQ falls, so you order smaller and more often to keep less on the shelf.

A worked example#

Say that for one SKU:

  • Annual demand D = 12,000 units
  • Ordering cost S = $80 per order
  • Holding cost H = $3 per unit per year

Then:

EOQ = √(2 × 12,000 × 80 / 3)
    = √(1,920,000 / 3)
    = √640,000
    = 800 units

So the cost-minimizing order size is 800 units. At 12,000 a year that is 15 orders a year, about one every 24 days.

How EOQ fits with reorder point and safety stock#

These three numbers work as a system, not as competitors:

QuestionToolFormula
How much to order?EOQ√(2DS / H)
When to order?Reorder point(avg daily sales × lead time) + safety stock
How big a buffer?Safety stockZ × σ × √lead time

You reorder EOQ units when stock hits your reorder point, and your safety stock keeps you covered while the order is in transit.

Limits of the EOQ model (and how to adjust)#

Pros
  • Gives a defensible, math-based order size
  • Exposes the real tradeoff between ordering and holding cost
  • A solid default when demand is fairly steady
Cons
  • Assumes constant demand, so it breaks for seasonal or viral SKUs
  • Ignores supplier MOQs and volume-discount price breaks
  • Treats ordering cost as fixed when freight often scales

In practice, round EOQ to your supplier's case or pallet sizes, respect minimum order quantities, and recompute when demand shifts. For seasonal products, run EOQ on the demand rate for the season, not a flat annual average.

Get order quantities and reorder timing computed per SKU

The bottom line#

EOQ = √(2DS / H) gives you the order size that minimizes ordering plus holding cost. Use it to set how much you order, your reorder point to set when, and safety stock to cover the gap in between. Then adjust for MOQs, discounts, and seasonality. That ongoing adjustment across every SKU is what Enough Stock handles for you.

Frequently asked questions

What is the EOQ formula?

EOQ = √(2DS / H), where D is annual demand in units, S is the fixed cost of placing one order, and H is the cost of holding one unit in inventory for a year.

What does EOQ tell you?

EOQ tells you the order quantity that minimizes the combined cost of ordering and holding inventory. Order more than EOQ and holding costs dominate. Order less and you pay ordering costs too often.

What's the difference between EOQ and reorder point?

EOQ is how much to order each time. The reorder point is the stock level that triggers the order. EOQ optimizes order size, the reorder point optimizes timing, and they work together.

What are the limitations of EOQ?

EOQ assumes constant demand, a fixed ordering cost, and no quantity discounts or minimum order quantities. Real catalogs have seasonality, MOQs, and tiered pricing, so treat EOQ as a starting point and adjust.

Cited sources
Ryan Waranauskas
About the author

Ryan Waranauskas

CMO, Enough Stock

Ryan leads growth at Enough Stock, where he works with DTC operators on demand forecasting and inventory planning across TikTok Shop, Shopify, and Amazon. He writes about never selling out and never overstocking.

Shareon Xon LinkedIn

Keep reading

Never go out of stock again.

Enough Stock forecasts every SKU across TikTok Shop, Shopify, and Amazon and tells you what to order, how much, and by when.