EOQCalculator.com
Wilson EOQ, with the math
Variant

EOQ quantity discount model

Direct answer

When a supplier offers an all-units price break schedule, the optimisation is no longer a single closed-form. You compute Q* at each tier’s holding cost H_k = i * C_k, test feasibility against the tier’s quantity range, then compare total annual cost (holding + ordering + purchase) across the feasible candidates. The winning tier is the global minimum[1].

For each tier k: Q*_k = sqrt(2DS/H_k); if Q*_k < min_k, use Q = min_k. Then minimise TC = (D/Q)S + (Q/2)H_k + D*C_k.

All-units vs incremental discounts

All-units: the lower unit price applies to every unit if you cross the break point. Single discontinuous step down in unit cost. This is the common SMB supplier format.

Incremental: the lower unit price applies only to units above the break point. Total cost function is continuous; algebra is messier but no "forced jump" decision. Less common in industry but standard in academic problem sets[2].

When the forced jump pays

The forced jump (rounding Wilson Q* upward to the next break point) pays when the unit-price saving across the full annual demand D outweighs the increased carrying cost of holding a larger Q. Practical heuristic: if Wilson Q* at the lower-tier price is within 50 percent of the next break point, the jump usually wins; outside that band, the carrying penalty usually dominates. The calculator will tell you exactly.

Handling a supplier MOQ on top