Quantity-discount EOQ calculator
The quantity-discount EOQ calculator evaluates total annual cost (holding + ordering + purchase) at each price-break tier. For each tier it computes Q* = sqrt(2DS/H_k) at that tier’s unit price; if Q* is below the tier’s minimum quantity, the tier is infeasible unless you round up to the minimum. The winning tier is the one with the lowest total annual cost[1].
| Tier | Min Q | Price | Q used | Annual cost | Feasible? |
|---|---|---|---|---|---|
| 1 | 0 | $30 | 462 | $303,464 | yes |
| 2 | 500 | $28 | 500 | $283,350 | rounded up |
| 3 | 2,000 | $26 | 2,000 | $266,900 | rounded up |
The all-units algorithm in plain language
Walk the tiers from cheapest unit price (largest Q break) downward. For each tier: compute Q* at that tier’s H_k. If Q* falls inside the tier’s feasible quantity band, that Q* is the candidate. If Q* falls below the tier’s minimum, round up to the minimum and evaluate cost there. Score all candidates by total annual cost (including the D*C_k purchase term, which now matters because C_k differs by tier). The lowest-cost candidate wins[2].
When the discount actually beats Wilson
The discount beats Wilson when the unit-price saving on D units outweighs the extra carrying cost from holding more inventory. Rule of thumb: a 2 percent unit-price discount usually justifies the jump if Wilson Q* is within 50 percent of the next tier minimum. Outside that band, the carrying cost penalty usually wins.
Supplier MOQ on top of a discount schedule
A supplier-imposed minimum order quantity (MOQ) at the lowest tier forces Q upward regardless of optimisation. If MOQ > Wilson Q*, treat MOQ as the binding constraint and evaluate the cost penalty as the cost of the forced over-order. See MOQ vs EOQ for the documentation pattern.