Economic Order Quantity (EOQ): The Formula, a Worked Example, and Its Limits

Economic order quantity is the order size that makes the total of your ordering costs and your holding costs as small as possible. This is the formula with every term explained, a worked example in £, how EOQ answers 'how much' while your reorder point answers 'when' — and, more usefully, the four assumptions that make textbook EOQ wrong for most small businesses and how to use it anyway.

OpsMavix 14 min read Inventory Management
A single order quantity balanced on a scale between a stack of delivery invoices on one side and a shelf of held stock on the other.

Economic order quantity (EOQ) is the order size that keeps the combined annual cost of placing orders and holding stock as low as possible for one item. It answers a single question: how much should we order each time we buy this line?

The practical problem is that most order quantities are set by habit, a supplier’s pallet size or the last buyer’s instinct. Ordering too much ties up cash and shelf space; ordering too little means more purchase orders, more deliveries and more invoice matching. EOQ gives you a baseline for that trade-off, as long as you understand the assumptions behind it.

Wide view of a warehouse with stocked shelves and cardboard boxes on a concrete floor

Order size decides how much stock sits on the shelf between deliveries. Illustrative photograph, not an OpsMavix client site.

Image credit: Tiger Lily, Pexels License. Resized only.

Key Takeaways

  • EOQ balances ordering cost, which falls with bigger orders, against holding cost, which rises with them.
  • The classic formula is EOQ = √(2 × D × S ÷ H), using annual demand, cost per order and annual holding cost per unit.
  • At the EOQ, annual ordering cost and annual holding cost are equal in the basic model.
  • EOQ answers how much to order; the reorder point answers when to order.
  • Price breaks, minimum order quantities and uneven demand often move the right answer away from the textbook number.
  • Treat EOQ as a challenge to habit on steady, valuable lines, not as an automatic purchasing rule.

In this guide:

1. Understand What Economic Order Quantity Means

Two costs pulling in opposite directions

Every replenishment decision carries two costs that rarely appear on the same report.

Ordering cost is the cost of placing and receiving one order, largely regardless of its size: raising the purchase order, chasing the supplier, booking the delivery in, matching the invoice and any fixed carriage charge.

Holding cost is the cost of keeping stock for a year: the cash tied up, storage space, insurance, handling, and the risk of damage, loss or obsolescence.

Bigger, less frequent orders cut ordering cost but raise average stock, so holding cost climbs. Smaller, more frequent orders do the opposite. EOQ is the quantity where the total of the two is lowest.

Where the model comes from

The model is usually traced to Ford W. Harris, whose 1913 article “How Many Parts to Make at Once” set out the trade-off between setup costs and the interest cost of capital tied up in stock. Operations Research reprinted the article in 1990, alongside Donald Erlenkotter’s history of the EOQ model.

What EOQ is not

EOQ is EOQ is not
The order size that minimises ordering plus holding cost in the basic model The cheapest unit price or the biggest supplier discount
A quantity per order A trigger for when to order
A baseline for steady, predictable lines A forecast or a safety stock calculation
A calculation per item A cash budget across your whole range

2. Learn the EOQ Formula and Its Inputs

The formula

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

Symbol Meaning Unit Practical source
D Annual demand Units per year Last 12 months of units sold or consumed, adjusted for known changes
S Cost per order £ per order Staff time and fixed charges to place, receive and pay one order
H Annual holding cost per unit £ per unit per year Unit cost × an agreed annual holding cost rate

Keep the time basis consistent. If demand is annual, the holding cost must also be annual. Mixing a monthly demand figure with an annual holding cost gives a wrong answer.

Why the square root matters

Because inputs sit under a square root, EOQ moves less than the inputs do. If your cost per order estimate is 50% too high, EOQ is only about 22% higher than it should be (√1.5 ≈ 1.22). That is helpful, because ordering and holding costs are almost always estimates.

The equal-cost check

In the basic model, annual ordering cost equals annual holding cost at the EOQ. If you calculate an EOQ and the two figures are far apart, check the arithmetic and the units before using the result.

3. Estimate Ordering and Holding Costs Honestly

Build cost per order from real activity

List the steps one purchase order actually takes in your business. Include only costs that change with the number of orders, not with the number of units.

Ordering activity What to include What to leave out
Raising and approving the PO Buyer and approver time per order The value of the goods
Chasing and booking in Supplier follow-up and delivery booking time Costs that depend on quantity
Receiving Goods-in check and putaway set-up per delivery Per-unit handling
Invoice processing Matching, queries and payment run time Per-unit duty or freight
Fixed charges Flat carriage or small-order fees per order Freight priced per unit or per kilo

Agree a holding cost rate with finance

Holding cost is usually expressed as a percentage of unit cost per year. The rate is a business decision, not a universal figure. It should reflect your cost of capital, storage, insurance and the realistic risk of stock becoming damaged, obsolete or unsellable.

If you import, base the unit cost on landed cost rather than the supplier’s invoice price, because freight, duty and handling increase the value you hold.

Practical checklist

  1. Use units, not sales value, for annual demand.
  2. Exclude the price of the goods from cost per order.
  3. Write down the holding cost rate and who approved it.
  4. Use the same unit cost basis everywhere in the calculation.
  5. Recalculate when demand, supplier terms or storage costs change materially.

4. Work Through a Hypothetical EOQ Example

The inputs

This example is hypothetical. A homeware business sells a steady stoneware mug set.

Input Symbol Hypothetical value
Annual demand D 3,600 units
Cost per order S £45
Unit cost £40
Holding cost rate 25% per year
Annual holding cost per unit H £10

The calculation

EOQ = √(2 × 3,600 × 45 ÷ 10) = √(324,000 ÷ 10) = √32,400 = 180 units

At 180 units per order:

Measure Calculation Result
Orders per year 3,600 ÷ 180 20
Annual ordering cost 20 × £45 £900
Average stock 180 ÷ 2 90 units
Annual holding cost 90 × £10 £900
Total ordering plus holding cost £900 + £900 £1,800

Ordering cost and holding cost are equal, which confirms the result.

Compare it with a habit-based order size

Suppose the buyer currently orders 600 units at a time because it fills a pallet.

Order size Orders per year Ordering cost Holding cost Total
180 (EOQ) 20 £900 £900 £1,800
600 (habit) 6 £270 £3,000 £3,270

In this hypothetical case, ordering 600 at a time costs £1,470 a year more in ordering plus holding cost on one line. Most of that extra cost is holding cost, which never appears on a supplier invoice.

The flat bottom of the curve

Being roughly right costs little more than being exactly right. In the same example, ordering 150 units gives a total of £1,830, and ordering 220 units gives about £1,836. Both are within £40 of the £1,800 minimum. Act on big gaps, not small ones.

5. Test Price Breaks and Minimum Order Quantities

Calculator on a desk next to a laptop

Price breaks need a total cost comparison, not just the EOQ figure. Illustrative photograph, not an OpsMavix client.

Image credit: Mehdi Mirzaie, Unsplash License. Resized only.

Round to a quantity you can actually buy

The basic model assumes you can buy any quantity at one price. Real suppliers sell in cases, layers and pallets, and many offer volume discounts. Calculate plain EOQ first, then test the buyable quantities around it.

Hypothetical price break comparison

Continue the hypothetical example. The supplier sells in cases of 48 and offers 7% off the unit price for orders of 480 units or more. The nearest buyable quantity to 180 is 192 (four cases). Because the discount lowers the unit cost, it also lowers the holding cost per unit, from £10 to £9.30.

Measure 192 units at £40 480 units at £37.20
Orders per year 18.75 7.5
Annual ordering cost £843.75 £337.50
Average stock 96 units 240 units
Annual holding cost £960.00 £2,232.00
Annual cost of goods £144,000.00 £133,920.00
Total annual cost £145,803.75 £136,489.50

In this hypothetical case, the larger discounted order is £9,314.25 a year cheaper overall. That answer comes from comparing total cost including the goods, not from EOQ alone. A different discount, a higher holding cost or limited storage space could reverse it.

Checks before accepting a price break

  • Can you store the larger quantity safely without blocking pick faces or aisles?
  • Does the extra stock fit your cash plan for the year?
  • Is there a shelf life, version change or seasonal risk on the item?
  • Does the discount apply only to this line, or to a mixed order across the supplier’s range?
  • Has finance agreed the holding cost rate used in the comparison?

6. Connect EOQ to Reorder Point and Safety Stock

Two separate decisions

Question Tool What it decides
When do I order? Reorder point The stock level that triggers a purchase
How much do I order? Economic order quantity The batch size that balances ordering and holding cost
How much buffer do I hold? Safety stock Protection against demand and lead time variation
What does the order cycle hold on average? Cycle stock Roughly half the order quantity in the basic model

EOQ does not consider lead time or demand variation. The reorder point and safety stock do. A good order size triggered too late still causes stockouts, and a good trigger that releases an oversized order still ties up cash.

Hypothetical example of the pair working together

Continuing the hypothetical mug set: the business trades 48 weeks a year, so 3,600 units is 75 units a week. The supplier’s lead time is two weeks and the agreed safety stock is 40 units.

Reorder point = (75 × 2) + 40 = 190 units.

The rule becomes: when available stock falls to 190, order 192 (four cases). For more on running that rule day to day, see what a reorder point system is.

Using EOQ inside a min/max system

Many small businesses run a min/max inventory system rather than pure EOQ. EOQ can inform the gap between minimum and maximum, so the maximum is not picked at random. In the hypothetical example, a minimum of 190 and a maximum of around 382 (190 plus one buyable order of 192) would keep the typical order close to EOQ.

7. Know Where EOQ Breaks Down

The assumptions behind the basic model

Assumption What happens in practice Practical response
Demand is steady and known Seasonal peaks, promotions and large one-off orders Size orders by season or use a forward view such as time-phased order point
One price at every quantity Case sizes, MOQs and volume discounts Compare total cost at each buyable quantity
Costs are fixed and known Ordering and holding costs are estimates Use agreed estimates and focus on large gaps
Each item is ordered alone Lines share suppliers, deliveries and budgets Review EOQ at supplier level and against cash and space limits
Replenishment arrives in one delivery Partial deliveries and production batches Use adjusted models or planning judgement for those lines

Lines where EOQ adds little

EOQ is weakest for highly seasonal products, short shelf life items, new products without a demand history, made-to-order components and very low value items where the effort of calculating outweighs any saving. Use ABC analysis to decide where the calculation deserves time.

Watch for slow movers

An EOQ based on last year’s demand can keep buying in large batches after demand falls. Check the result against stock age and sell-through, and see dead stock management for what to do once stock stops moving.

8. Decide How Your Systems Should Use EOQ

A practical workflow

  1. Calculate EOQ for A items and steady B items first.
  2. Compare EOQ with the quantity you currently order.
  3. Leave current practice alone if it is reasonably close, because the cost curve is flat near the minimum.
  4. Investigate large gaps, such as ordering three times the EOQ.
  5. Round to a buyable quantity and test nearby price breaks on total cost.
  6. Pair the order quantity with a reorder point and safety stock.
  7. Recalculate when demand, unit cost, supplier terms or storage costs change materially.

Compare the system options fairly

Approach Where it fits What to check
Spreadsheet calculation A small number of steady lines reviewed periodically Whether demand and stock figures are current and who updates them
Inventory or ERP module The software already holds demand, costs and supplier terms How order quantities, MOQs and pack sizes are configured and overridden
Integration between existing tools Sales, stock and purchasing data sit in separate systems Record ownership, sync timing and error handling
Focused custom application Your rules need supplier-level grouping, approvals or exceptions not covered by current tools Data access, support and ongoing maintenance

Whichever route you choose, keep a person in the loop. A system can calculate and suggest an order quantity; a buyer should still review supplier changes, promotions and cash limits before an order is released. For an honest view of what can be automated, see fully automated inventory system.

Frequently Asked Questions

What is economic order quantity in simple terms?

It is the order size that keeps the combined annual cost of placing orders and holding stock as low as possible for one item, under the assumptions of the basic model.

What is the EOQ formula?

EOQ = √(2 × D × S ÷ H), where D is annual demand in units, S is the cost of placing one order and H is the annual cost of holding one unit.

Does EOQ tell me when to reorder?

No. EOQ sets the quantity. The reorder point, based on demand during the lead time plus safety stock, sets the timing.

Should the unit price be included in cost per order?

No. Cost per order covers the effort and fixed charges of placing and receiving an order. The price of the goods only enters the comparison when you test quantity discounts on total cost.

How accurate do my cost estimates need to be?

Reasonable estimates are usually enough. Because of the square root, a 50% error in cost per order changes EOQ by only about 22%. Agree the estimates with finance and focus on large gaps between EOQ and current practice.

What if the supplier has a minimum order quantity above my EOQ?

Compare total annual cost at the minimum order quantity with any alternatives, such as another supplier or combining lines on one order. If the minimum is the only option, EOQ shows you the extra holding cost you are accepting.

Is EOQ useful for seasonal products?

Only with care. A single annual demand figure hides peaks and troughs. Size orders by season or use a forward-looking planning method for those lines.

Can inventory software calculate EOQ automatically?

Some tools can calculate or suggest order quantities, but check how each one handles pack sizes, minimum order quantities, price breaks and manual overrides before relying on it.

How OpsMavix Can Help

OpsMavix can review how your order quantities, reorder points and safety stock are currently set, then define the data and rules needed to calculate and maintain them from real sales, stock and supplier records.

That may involve improving your existing tools, connecting the systems that hold sales and purchasing data, building an inventory automation system, supporting ecommerce inventory automation across channels, or developing a full custom ERP.

Contact OpsMavix with a recent purchase order history for a few key lines, your supplier pack sizes and the stock decisions that cause the most rework. We can use that evidence to define requirements and a practical pilot.

#inventory#purchasing#stock control#operations#reorder

Getting value from OpsMavix? Add us as a preferred source on Google — you'll see more of our operations content in your AI Overviews, AI Mode and Search.

WhatsApp us