Storekeeper

Economic Order Quantity (EOQ): The Formula and When to Trust It

Formulas · 8 min read

Nothing you paste is stored.

SKU On hand Cover Status

A live preview of Storekeeper's forecasting engine on fictional sample dataon the rows you pasted. The full product connects to your POS and store and runs this continuously.

Economic order quantity (EOQ) is the order size that makes your total cost of ordering plus your total cost of holding stock as small as possible. Order in small batches and you pay the ordering cost over and over. Order in huge batches and you pay to hold stock you will not sell for months. EOQ is the point where those two curves cross.

It is a hundred-year-old idea (Ford Harris published it in 1913) and it is still the right starting point, as long as you understand what it assumes and where those assumptions break. Most people get burned by EOQ not because the math is wrong but because they feed it numbers they never actually measured.

The EOQ formula

EOQ = √( (2 × D × S) ÷ H )

Where:

  • D = annual demand, in units
  • S = ordering cost, per order placed (not per unit)
  • H = holding cost, per unit, per year

Read the shape of it before you use it. Demand and ordering cost are on top, so if either rises, you order in bigger batches. Holding cost is underneath, so if storing stock gets expensive, you order in smaller ones. And the whole thing is under a square root, which is the most important and least discussed part: EOQ is insensitive. Quadruple your demand and the optimal order size only doubles. Get your ordering cost wrong by 20 percent and the answer moves by less than 10 percent. That forgiveness is what makes the formula usable with imperfect inputs.

A worked example

An electronics shop sells 4,800 units of a popular charger a year. Each purchase order costs about $60 to place once you count the buyer's time, the admin and the inbound freight paperwork. Holding one unit for a year costs $9, made up of warehouse space, insurance, shrinkage and the capital tied up in it.

EOQ = √( (2 × 4,800 × 60) ÷ 9 ) = √( 576,000 ÷ 9 ) = √64,000 ≈ 253 units

So order about 253 units at a time, which at 4,800 a year means roughly 19 orders a year, or one every three weeks. Sanity-check that against reality: if the supplier's minimum order is 500, EOQ is telling you something useful but not actionable, and the real decision is whether to negotiate the minimum or accept the higher holding cost.

Getting the two costs right

This is where EOQ goes wrong in practice. Both inputs are usually guessed, and one of them is usually guessed badly.

Ordering cost (S)

Everything it costs to place one order, regardless of size: the buyer's time raising and chasing the PO, receiving and inspection, the accounts-payable work to process the invoice, and any fixed freight. It is not the cost of the goods. For most small businesses it lands somewhere between $25 and $150. If your purchasing process is manual, this number is much higher than people assume, which is a good argument for automating purchase orders before optimizing order sizes: cutting S directly shrinks the EOQ and lets you hold less stock for the same cost. The same trap catches teams still keying supplier invoices in by hand, where the admin cost of an order quietly exceeds the margin on the goods inside it.

Holding cost (H)

The annual cost of keeping one unit on a shelf. Four components, and people usually remember only the first: storage, insurance and taxes, shrinkage and obsolescence, and the cost of capital. That last one is the big one. Money sunk into stock is money not available for anything else, and in 2026 that opportunity cost is not rounding error.

A common shortcut is to set H at 20 to 30 percent of the unit's cost per year. For a $30 item that is $6 to $9 annually. Use the shortcut to get started, then refine it for the categories where it matters: anything bulky, anything perishable, anything that goes out of fashion.

What EOQ assumes, and when to ignore it

The formula is a model, and every model buys its simplicity with assumptions. EOQ assumes demand is constant and known, lead time is fixed, the unit price does not change with order size, and you can order any quantity you like. Real purchasing violates all four routinely.

The assumption What actually happens What to do
Demand is constant Demand is seasonal and trending Recompute EOQ per season from forecast demand, not last year's total
No bulk discounts Suppliers price in brackets Compare total cost at EOQ against total cost at each price break
Any quantity is orderable Minimums, case packs, pallet quantities Round EOQ to the nearest orderable unit; the cost penalty is small
Lead time is fixed Suppliers slip, and slip unevenly EOQ says how much; safety stock absorbs the variance

The bulk-discount case is the one that trips people up most often, so it is worth being concrete. If EOQ says 253 units but the supplier drops the unit price by 8 percent at 500, do not just take the discount. Compare the full annual cost of both plans: purchase cost plus ordering cost plus holding cost. Sometimes the discount wins easily. Sometimes it buys you six extra months of a product that is about to be superseded, and the discount was the most expensive money you ever saved.

How EOQ fits with reorder point and safety stock

These three formulas answer three different questions and are constantly confused with each other.

Formula Answers
Reorder point When do I place the order?
Economic order quantity How much do I order?
Safety stock How much buffer protects me when both go wrong?

Together they describe a complete replenishment policy: when stock falls to the reorder point, order the EOQ, and hold safety stock underneath the whole thing so that a late delivery or a demand spike does not empty the shelf. That is the policy good demand forecasting software runs automatically for every SKU, and it is exactly the policy a spreadsheet runs once and then never revisits.

Should you actually use EOQ?

Use it as a sanity check rather than gospel. Its real value is not the precise number it produces; it is that it forces you to price two costs most businesses have never measured. The first time an operator works out what a purchase order genuinely costs to place, and what a year of shelf space genuinely costs, the conversation about order sizes changes permanently.

Where it earns its keep is the boring middle of the catalog: steady, unglamorous items with predictable demand and no fashion risk. That is most of what most businesses sell. Where it fails is anything volatile, seasonal, perishable or trend-driven, and for those the answer is a forecast, not a formula.

And do the arithmetic per SKU, not once for the business. An EOQ calculated on your average product is optimal for a product you do not sell.

See this math run itself

The free stock scan computes cover, safety stock and verdicts per SKU on sample data or rows you paste. No signup.

Run the stock scan

More from the stockroom

Early access · launching soon

Reading about it is step one

Step two is a system that does this arithmetic for every SKU, every day. Join the early-access list.

One confirmation email, no spam, no card.