July 6, 2026
By 
Mike Le

What Is Economic Order Quantity (EOQ)?

What Is Economic Order Quantity (EOQ)?

Economic order quantity is the order size that minimizes total inventory cost. Learn the EOQ formula and follow a worked example with holding and ordering cost.

Buy a month at a time and you place twelve orders a year, each with its own admin and freight setup. Buy a container and you place one, then pay to store it for eleven months. Somewhere between those two is a quantity that costs less than either, and EOQ is how you find it rather than argue about it.

Economic order quantity is the order size that minimizes total inventory cost, balancing the cost of placing orders against the cost of holding stock. The formula is EOQ = the square root of (2DS divided by H), where D is annual demand, S is the cost of placing one order, and H is the cost of holding one unit for a year.

Key takeaways

  • Two costs pull in opposite directions: ordering cost rewards big orders, holding cost punishes them, and EOQ is where the pull balances.
  • The curve is flat near the bottom: being twenty percent off the exact figure costs surprisingly little, which makes EOQ forgiving.
  • Holding cost is the input everyone underestimates: most brands count storage and forget the capital tied up.
  • It answers how much, never when: the trigger is a separate calculation.

What is economic order quantity?

Economic order quantity is the order size where your total annual inventory cost, ordering plus holding, reaches its lowest point. It exists because those two costs move in opposite directions as order size changes. Order in small batches and you place many orders a year, paying the fixed cost of each one repeatedly, but you hold very little stock at any moment. Order in large batches and you place few orders, but you sit on inventory for months paying to hold it.

EOQ = the square root of ( 2 x D x S divided by H )

  • D. what it is: Annual demand for the product; units: Units per year
  • S. what it is: Cost of placing and receiving one order; units: Currency per order
  • H. what it is: Cost of holding one unit for one year; units: Currency per unit per year
  • EOQ. what it is: The order quantity that minimises total cost; units: Units

The formula is doing something intuitive underneath the square root. It is asking how much of the fixed per-order cost you can spread across a bigger batch before the cost of holding that batch overtakes what you saved. The answer is a specific quantity, and the useful thing about it is that it is derived from your own numbers rather than from a habit.

What does each part of the EOQ formula mean?

Three inputs, and their reliability varies enormously. D is usually the easiest to get and H is almost always the one that ruins the answer.

D, annual demand

Annual demand is how many units of this product you expect to sell in a year. Pull it from sales history rather than estimating, and scale carefully if you only have partial-year data: a product that sold 1,500 units in four months is not automatically a 4,500-unit annual product, particularly if those four months included a peak. Strip one-off promotional spikes that will not recur, because they inflate D and push EOQ toward a batch size the ordinary year cannot absorb. For a genuinely new product with no history, EOQ is the wrong tool for the first buy; you need a demand estimate before you can economise on how you order it.

S, the cost of placing one order

S is the fixed cost of putting one purchase order through, regardless of how many units it contains. That means the admin time to raise and approve it, the freight setup or fixed shipping charge, customs paperwork, and the receiving and inspection labour at the other end. It does not include the cost of the goods themselves, which scales with quantity and therefore cancels out of the comparison. Most brands have never calculated S and are startled by it when they do, because the labour hours around a purchase order are real and invisible. A rough but honest estimate is far more useful than a precise number for a different cost.

H, the cost of holding one unit for a year

H is where EOQ calculations usually go wrong. It is the full annual cost of keeping one unit on the shelf: the capital tied up in it, warehouse space and handling, insurance and taxes, and the risk of shrinkage, obsolescence, or markdown. The common mistake is counting only the storage fee, which is often the smallest component. Capital cost is typically the largest, and leaving it out understates H, which inflates EOQ and has you ordering more than you should. The usual approach is to express H as a percentage of unit cost, commonly somewhere between fifteen and thirty percent per year, with the full breakdown of what belongs in that percentage covered in inventory carrying cost.

How do you calculate EOQ step by step?

Work a concrete product all the way through.

The product: annual demand of 18,000 units, an all-in cost of $100 to place and receive one order, and a holding cost of $5 per unit per year.

  • Multiply 2 by D by S. 2 x 18,000 x 100 = 3,600,000.
  • Divide by H. 3,600,000 divided by 5 = 720,000.
  • Take the square root. The square root of 720,000 is 848.5.
  • Round to a practical quantity. EOQ is about 850 units.

At 850 units per order against 18,000 units of annual demand, you place roughly 21 orders a year, one about every two and a half weeks. Check the economics: 21 orders at $100 each is about $2,100 of annual ordering cost, and average inventory of 425 units at $5 each is about $2,125 of annual holding cost. The two land almost exactly equal, which is not a coincidence. At the EOQ, ordering cost and holding cost are equal by construction, and that equality is a useful sanity check on any EOQ you calculate.

How much does getting it wrong actually cost?

Less than you would expect, and this is the most practically useful property of EOQ. The total cost curve is flat near its minimum, so ordering somewhat above or below the exact figure barely changes your total.

  • 400. orders per year: 45; annual ordering cost: $4,500; annual holding cost: $1,000; total: $5,500
  • 600. orders per year: 30; annual ordering cost: $3,000; annual holding cost: $1,500; total: $4,500
  • 850 (EOQ). orders per year: 21; annual ordering cost: $2,100; annual holding cost: $2,125; total: $4,225
  • 1,200. orders per year: 15; annual ordering cost: $1,500; annual holding cost: $3,000; total: $4,500
  • 2,000. orders per year: 9; annual ordering cost: $900; annual holding cost: $5,000; total: $5,900

Ordering 600 instead of 850 costs about $275 a year on this product, roughly six percent worse. Ordering 400 or 2,000 costs meaningfully more. The lesson is not that precision does not matter, it is that you should round EOQ to something operationally sensible, a full case, a pallet, a supplier minimum, without agonising. What actually hurts is being wrong by a factor rather than by a fraction, which is what happens when H is badly understated.

How sensitive is EOQ to your holding cost?

Since H is the input most often estimated, it is worth knowing how much the answer moves when you get it wrong:

  • $2. eoq (units): 1,342; orders per year: 13
  • $3.50. eoq (units): 1,014; orders per year: 18
  • $5. eoq (units): 849; orders per year: 21
  • $8. eoq (units): 671; orders per year: 27
  • $12. eoq (units): 548; orders per year: 33

Halving your assumed holding cost from $5 to $2 raises EOQ by more than half. That is the practical case for spending an hour building an honest H rather than reaching for a round percentage: an understated holding cost systematically pushes you toward over-ordering across every product you apply it to, which is exactly the direction most brands already err in.

EOQ answers how much, the reorder point answers when

The two calculations pair up and are frequently confused. EOQ tells you the quantity that minimises cost when you do order. It has no view on timing, and running it more often does not tell you anything about when to place the order. The trigger is the reorder point, calculated from your demand rate, your lead time, and your buffer, and worked through in the reorder point formula.

In practice they operate together on one purchase order: the reorder point fires when stock touches the trigger level, and EOQ determines how many units that order contains. Keep the two questions separate and both rules stay clean.

Where EOQ stops being enough

EOQ carries assumptions that real catalogs violate. It assumes demand is steady through the year, which is false for anything seasonal. It assumes your per-unit cost does not change with quantity, which volume discounts contradict. It assumes you can order any quantity, which minimum order quantities and case packs do not allow. None of those make it useless; they make it a baseline you adjust rather than a rule you obey. Applying those adjustments to your own catalog, and finding the three inputs in your own systems, is covered in how to calculate EOQ for your brand.

Across a catalog, the maintenance problem returns: D changes as products trend, H changes as your cost of capital and storage change, and S changes as your process does. Conative AI pairs demand forecasting with the buying decision so order quantities are built from a current demand picture at the product level rather than an annual figure someone entered last year, with any forecast outside its accuracy guardrails flagged rather than used quietly. See a demo of how the buys are built on the inventory planning platform.

Frequently asked questions

What's the difference between EOQ and the reorder point?

EOQ answers how many units to order; the reorder point answers when to place the order. They pair on every purchase order, the trigger starting it and EOQ setting the size, but they are computed from different inputs and neither substitutes for the other.

Where do I find the numbers for D, S, and H?

Annual demand comes from sales history, ordering cost from the admin, freight setup, and receiving labour around one purchase order, and holding cost from capital tied up plus storage, insurance, and risk. Holding cost is the one most brands underestimate, usually by leaving out the capital.

Does EOQ work for seasonal products?

Poorly, because it assumes demand is steady across the year. A product selling most of its volume in one quarter breaks that assumption, and EOQ will suggest a batch size that fits an average month you never actually have. Plan seasonal items around the season rather than an annual quantity.

Should I round EOQ up or down to a case size?

Either, and it barely matters, because the total cost curve is flat near the minimum. Round to whatever is operationally sensible: a full case, a pallet, or the supplier's minimum. Being twenty percent off the exact figure typically costs only a few percent in total cost.

What if my supplier offers a volume discount?

Then compare total costs directly rather than trusting EOQ alone, since EOQ assumes unit cost is fixed. Work out the total annual cost, goods plus ordering plus holding, at the EOQ and at the discount threshold, and pick the cheaper. The bigger order sometimes wins, sometimes does not.

Is EOQ still relevant for eCommerce?

Yes, as a baseline for steady sellers with reliable demand, which most catalogs have plenty of. It is less useful for seasonal items, new products, and anything with volatile demand. Treat it as a starting quantity you adjust for real-world constraints, not as an answer to defend.

Turn insights into cash

Time is money, save both.

By clicking Get Started you're confirming that you agree with our Terms and Conditions.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.