Sign in

Blog · Procurement and supply chain · Supply chain

EOQ supply chain formula: assumptions and example

Economic order quantity balances annual ordering and inventory holding costs. Work through the formula, compare purchase quantities, and check the assumptions against your demand and cost exports.

The short answerEOQ supply chain analysis finds the purchase quantity that minimizes annual ordering and inventory holding costs under stated assumptions. Economic order quantity equals the square root of twice annual demand times cost per order, divided by annual holding cost per unit. Compare that quantity with feasible alternatives before changing purchasing decisions, because discounts, storage limits, and uncertain demand can change the answer.

EOQ supply chain analysis calculates the order quantity that balances annual ordering cost against inventory holding cost. It gives buyers a useful cost benchmark when demand and costs are stable. The result needs a feasibility check before it becomes a purchasing decision.

What economic order quantity measures

Ordering less at a time creates more orders. Ordering more at a time leaves more inventory between deliveries. EOQ identifies the lowest combined cost under a specific set of assumptions, rather than simply favoring fewer orders or lower stock.

NC State's supply chain tutorial defines EOQ as the quantity that minimizes annual holding and ordering costs. Its assumptions include relatively uniform demand, fixed item costs, fixed ordering and holding costs, and constant lead time.

This is a static scenario analysis. It does not determine an automatic replenishment schedule or prove that the company can meet every customer order. A supply chain dashboard can place the chosen cost assumption alongside service and inventory results without replacing the underlying calculation.

The EOQ formula and its inputs

EOQ = square root of (2 × D × S / H)

Annual ordering cost = D / Q × S

Annual cycle-stock holding cost = Q / 2 × H

Total relevant annual cost = ordering cost + holding cost

D is annual demand in units. S is the incremental cost of placing and receiving an order. H is the cost of holding one unit for one year. Q is the quantity ordered each time. The numeral in the EOQ formula follows from inventory falling evenly from the full delivery quantity to zero between receipts.

H must be a dollar amount per unit per year. If finance supplies an annual carrying rate instead, multiply that rate by the unit inventory cost. Do not put the percentage directly into H.

Use inventory issue or sales shipment rows to establish demand, depending on whether the item is a production input or a resale item. Keep SKU, site, transaction date, quantity, and unit of measure. Remove internal transfers when they would count the same external demand again.

Use purchasing records and an approved activity-cost estimate for S. Include costs that change with the number of orders. Do not automatically allocate the entire procurement department budget to each order: a cost comparison based on avoidable effort answers a different question from a full departmental allocation.

A worked example from a US distributor

An Ohio distributor reviews one replacement component using a complete annual issue export. Finance and purchasing approve these inputs. The example excludes safety stock and assumes a constant purchase price.

Annual demand, units Ordering cost per order (USD) Unit inventory cost (USD) Annual carrying rate Holding cost per unit per year (USD)
12,000 75 20 25% 5

Annual demand comes from the net external demand rows. The other inputs are approved cost assumptions; annual holding cost is $20 × 25% = $5 per unit.

The following steps preserve the units of the calculation. Quantities are whole units here because the calculated answer is already whole.

Step Calculation Result
Calculate numerator 2 × 12,000 × 75 1,800,000
Divide by annual holding cost 1,800,000 / 5 360,000
Take the square root Square root of 360,000 600 units
Calculate annual order rate 12,000 / 600 20 orders
Calculate average cycle stock 600 / 2 300 units

In a spreadsheet, with annual demand in B2, ordering cost in C2, and annual holding cost in D2, the quantity formula is:

=SQRT(2*B2*C2/D2)

The input values should remain visible beside the formula. A computed quantity without the underlying cost assumptions is difficult for a buyer to challenge or approve.

Compare feasible alternatives and prove the result

Purchasing compares the calculated quantity with smaller and larger deliveries. Order rates are rounded to two decimals; dollar costs use the unrounded rate.

Order quantity, units Annual order rate Average cycle stock, units Ordering cost (USD) Holding cost (USD) Total relevant cost (USD)
300 40.00 150 3,000 750 3,750
600 20.00 300 1,500 1,500 3,000
900 13.33 450 1,000 2,250 3,250

The central check is equality: at the unconstrained EOQ, annual ordering cost equals annual cycle-stock holding cost. Both are $1,500 here. The neighboring quantities have higher combined costs, consistent with the calculated minimum.

At the fixed unit price, annual purchase spending is 12,000 × $20 = $240,000 for every alternative. Adding it produces annual purchase-plus-relevant costs of $243,750, $243,000, and $243,250 respectively. Keep purchase spending visible if a supplier introduces a quantity discount; then it stops being constant.

The 900-unit choice costs $250 more annually than the 600-unit choice under these assumptions. A buyer can now weigh that explicit premium against practical constraints. The fractional annual order rate describes a repeating long-run cost pattern; it is not an instruction to place part of an order during the fiscal year.

Check the assumptions before approving a quantity

Virginia Cooperative Extension's inventory guide identifies constant demand, known constant lead time, instantaneous replenishment, and quantity-independent unit cost among the basic EOQ assumptions. Compare those assumptions with actual receipts and demand before applying the result.

Instantaneous replenishment means the ordered lot arrives together. It does not mean a supplier has no lead time. Partial deliveries and gradual production change the average inventory pattern used in the holding-cost calculation.

Ask the warehouse owner to confirm capacity and shelf life. Ask purchasing to confirm pack sizes and order minimums. Ask finance whether carrying cost includes capital, storage, insurance, and obsolescence consistently. For ways to present these decisions, use supply chain dashboard examples; for the broader file-based workflow, see supply chain analytics.

Where it goes wrong

  • Mixed periods. Monthly demand combined with annual holding cost understates the quantity. Put both inputs on the same time basis.
  • Inventory mistaken for demand. A stock balance is not annual consumption. Reconcile demand rows to the issue or shipment register.
  • Fixed overhead treated as savings. Allocated salaries may remain unchanged after order counts fall. State which costs actually vary.
  • Safety stock hidden in cycle stock. The basic average is Q divided by two. Show any additional buffer separately and assess its carrying cost consistently.
  • Constraints ignored. Discounts, shelf life, storage, and order multiples can make a mathematically calculated quantity impractical. Compare feasible alternatives using the same cost boundary.

Compare quantities on your own file in Covirage

Bring your demand export and approved ordering and holding assumptions to Covirage; it maps the columns, and its tools compute and check the alternative costs. The external AI model explains the comparisons with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.

See Covirage for supply chain teams for the wider procurement and continuity context.

Questions people ask

Does EOQ tell a buyer when to reorder?

EOQ addresses how much to order. A reorder point addresses when to order, using demand during replenishment lead time and any approved safety stock. Keep the quantity decision and the timing decision separate when reviewing a purchasing policy.

Should purchase price be included in EOQ?

Purchase price helps determine holding cost when carrying cost is a percentage of inventory value. Annual purchase spending is constant across order quantities if price is fixed. Quantity discounts require comparing purchase spending as well as ordering and holding costs.

Can EOQ be used for seasonal demand?

The basic calculation assumes a steady demand rate. An annual average can hide seasonal peaks and leave the wrong quantity available at the wrong time. Use it as a cost comparison, then test quantities against the actual seasonal demand pattern.

How should a company round EOQ?

Evaluate the feasible quantities around the calculated result, including case packs, minimum orders, and storage limits. Calculate total relevant cost for each feasible quantity. Ordinary numerical rounding alone can produce an order a supplier cannot accept.