How to use the eoq with quantity discounts calculator
- Enter yearly demand in units and the cost of placing one order.
- Choose whether holding cost is a percent of the price or a fixed sum per unit, and enter it.
- List the price levels: the smallest order that gets each unit price. The first level should start at 1.
- 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.
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.