Economic Order Quantity (EOQ) Formula and When to Trust It
Formulas · 8 min read
Create your account in a minute · no card required
Nothing you paste is stored.
The scan could not run.
SKUs, scroll for the rest
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. If the slow part is raising the orders rather than sizing them, a small business purchase order system drafts each reorder as a PO grouped by supplier, so the EOQ actually gets ordered.
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 scanMore from the stockroom
- Buying guide Cin7 vs Unleashed Pricing for Wholesalers
- Buying guide Fishbowl vs QuickBooks Enterprise Pricing
- Buying guide Lightspeed POS Pricing and Lightspeed Retail Cost per Plan
- Buying guide Sumtracker Pricing and Cost per Plan
- Buying guide Ordoro Pricing and Cost per Plan for Shipping and Inventory
- Buying guide StockTrim Pricing and Cost by Revenue Band
- Buying guide Prediko Pricing and Cost by Revenue Band with Add-Ons
- Buying guide Sellbrite Pricing, Sellbrite Cost, Plans and Order Limits
- Buying guide Finale Inventory Pricing and Contract Terms
- Buying guide SOS Inventory Pricing and What Add-ons Cost
- Buying guide Veeqo Pricing and Cost per Month by Order Volume
- Buying guide inFlow Pricing and What the App Costs
- Buying guide Unleashed Pricing and Cost per Month
- Buying guide Zoho Inventory Pricing and Order Limits
- Buying guide Katana Pricing and Katana MRP Add-on Costs
- Buying guide Fishbowl Pricing and Software Add-on Costs
- Buying guide Cin7 Pricing for Core, Omni and Add-ons
- Working capital How to Value Inventory for Taxes (Methods, Rules and COGS)
- Practice Consignment Inventory and How It Works
- Practice Par Level Inventory and How to Set Par Levels
- Practice How to Reduce Supplier Lead Time (9 Practical Ways)
- Working capital What Is Landed Cost? Formula, Components and How to Calculate It
- Practice Just-in-Time Inventory (JIT) Explained
- Practice What Is a SKU? Stock Keeping Unit Meaning, Examples and How to Set One Up
- Metrics What Is a Good Inventory Turnover Ratio? (Benchmarks by Industry)
- Practice How to Reduce Inventory Carrying Cost (6 Practical Levers)
- Practice How Much Safety Stock Should You Hold? (Formula and Service Levels)
- Practice How to Sync Inventory Across Multiple Sales Channels
- Practice How to Reduce Inventory Without Causing Stockouts
- Metrics Days of Inventory on Hand (DIO) Formula, Benchmarks and How to Lower It
- Practice Inventory Optimization Techniques to Cut Stock Without Stocking Out
- Practice Perpetual vs Periodic Inventory Systems
- Working capital Inventory Shrinkage Formula, Causes and How to Reduce It
- Working capital Inventory Carrying Cost Formula, Percentage and How to Lower It
- Practice Cycle Counting Methods, What It Is and How Often to Count
- Metrics ABC Analysis in Inventory Management with XYZ Matrix and Worked Example
- Metrics Inventory Turnover Ratio Formula, Benchmarks and What Good Looks Like
- Practice Inventory Management in Excel, How to Build It and When to Stop
- Formulas Reorder Point Formula and Min Max Inventory Levels
- Working capital Dead Stock and How to Clear It
- Lost sales Stockouts and How to Avoid Them in 7 Steps