Business and Freelancing

EOQ with Quantity Discounts Calculator

Enter demand, ordering cost, holding cost and your price breaks to find the order size with the lowest total cost.

Your numbers

A percent of the unit price, or dollars per unit per year, as chosen above. An example value.

Price levels
Price level 1
Price level 2
Price level 3

Result

Best order quantity

1,000 units

At $9.0000 per unit. Total cost per year $46,150.00.

Total cost per year
$46,150.00
Unit price used
$9.0000
Orders per year
5
Days between orders
73
Best cost per year at the first price level
$51,000.00

Price levels compared

Order sizeUnit priceHolding per unitEconomic quantityOrder quantityTotal per year
1 to 499$10.0000$2.00500SkippedNext level is cheaper
500 to 999$9.5000$1.90513513$48,474.68
1,000 and up$9.0000$1.805271,000$46,150.00
How this was calculated
  1. For each price level the holding cost per unit per year is H, and the economic order quantity is the square root of 2 x demand x order cost / H.
  2. If that quantity is below the level's minimum, the minimum is used. If it is at or above the next level's minimum, the level is skipped because the next level is cheaper.
  3. Total cost per year = demand x price + (demand / quantity) x order cost + (quantity / 2) x H. The level with the lowest total wins.
  4. Quantities shown are whole units: the nearest whole numbers either side of the exact value are compared.
  • The model assumes steady demand, instant delivery of the full order and no stockouts. It leaves out storage space limits, shelf life and price changes over the year.

Calculated using SumPanda.com · https://sumpanda.com/eoq-quantity-discount-calculator/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the eoq with quantity discounts calculator

  1. Enter yearly demand in units and the cost of placing one order.
  2. Choose whether holding cost is a percent of the price or a fixed sum per unit, and enter it.
  3. List the price levels: the smallest order that gets each unit price. The first level should start at 1.
  4. Read the best order quantity and yearly cost, then compare all levels in the table.

Formula

EOQ = sqrt(2 x demand x order cost / H)

H = holding cost per unit per year at that level

total cost = demand x price + (demand / Q) x order cost + (Q / 2) x H

Each level is tried at its own EOQ. If that is below the level's minimum, the minimum is used. If it reaches the next level's minimum, the level is skipped because the next one is cheaper. The lowest total wins.

Three price levels for a part used 5,000 times a year

Demand is 5,000 units a year, each order costs $50 and holding costs 20% of the price. The price is $10.00 up to 499 units, $9.50 from 500 and $9.00 from 1,000. At $10.00 the holding cost is $2.00 and the EOQ is 500, which already reaches the next level, so that level is skipped.

At $9.50 the holding cost is $1.90 and the EOQ is 513, which fits the level, for a cost of $48,474.68 a year. At $9.00 the holding cost is $1.80 and the EOQ is 527, below the 1,000 minimum, so 1,000 units are ordered, costing $46,150.00 a year. That is the winner: five orders a year, about 73 days apart.

Why the biggest discount does not always win

A bigger order earns a lower unit price and fewer orders, but it costs more to hold. A discount level wins only when the savings on the purchase price and ordering are larger than the extra holding cost. In the example the deepest level wins because the price saving on 5,000 units is large. With a smaller discount, a mid-sized order could win instead.

The page works in whole units and compares the nearest whole numbers either side of the exact answer, so the quantity you see is one you can actually order.

When to use which tool

Use this page for an all-units discount, where reaching a level lowers the price of every unit in the order. For a plain order quantity with one price, use the EOQ Calculator. To decide when to reorder, use the Reorder Point Calculator, and for price tiers on what you sell, see the Tiered Pricing Calculator. For a one-time order with uncertain demand, see the Newsvendor Order Quantity Calculator.

Assumptions and limits

  • Demand is steady through the year, orders arrive in full and there are no stockouts.
  • Each price applies to every unit of an order that reaches the level (an all-units discount, not incremental).
  • The 20% holding cost and the prices in the fields are examples. Use your own storage, capital and handling costs.
  • Limits on storage space, shelf life and supplier minimums are not modeled.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What is an all-units discount?

It is a price break where reaching a quantity lowers the price of every unit in the order, not just the units above the threshold. An incremental discount lowers the price only on the extra units.

How do I enter holding cost?

Choose a percent of the price if your cost to hold a unit grows with its value, which is common. Choose a fixed sum if the cost per unit is the same at every price, such as the space it takes.

Why is a price level marked as skipped?

When the best order quantity at a level is already at or above the next level's minimum, ordering at the next level is cheaper in every term. The skipped level cannot be the best choice.

Can the best choice be below the first level's minimum?

No. The first level should start at 1, so every order size belongs to some level. If your lowest level starts higher, orders below it are not priced and are not considered.