A quantity discount calculation compares annual purchasing, ordering and holding costs across eligible price tiers. Finish with a reproducible all-units discount example, boundary checks and a saved explanation of why the cheapest unit price does not necessarily win.
Updated: 29 October 2026.
What does a quantity discount calculation decide?
A quantity discount calculation asks how large a replenishment batch should be when the supplier changes the price at stated order quantities. Keep annual demand fixed. You are comparing ways to meet the same requirement, not increasing annual consumption to manufacture a saving. The output is an eligible batch and a modeled annual cost, not an approved purchase order.
The ordinary economic order quantity worksheet assumes a constant unit purchase price. Under that assumption, annual merchandise spending adds the same amount to every candidate. Price breaks remove that shortcut: annual purchasing cost now changes with the chosen batch and must enter the comparison.
A supplier order-payment comparison addresses a different job: what you pay for one order including minimum quantities and delivery. Here we compare recurring annual purchasing, ordering and cycle-stock holding costs. Neither calculation alone supplies a dated purchasing schedule.
Confirm that the discount applies to every unit
This exercise uses an all-units discount. Reaching a breakpoint changes the unit price for the entire order. At an order quantity of 200, all 200 units receive the second-tier price. MITx’s supply-chain notes distinguish that rule from an incremental discount, where only units beyond a threshold receive the lower price.
Do not use this model for an incremental schedule. Ask the supplier whether the threshold concerns one order, accumulated annual purchases or a mix of products. An annual rebate is not automatically a lower price for every replenishment batch. Preserve the written wording with your numerical inputs so a colleague can verify eligibility.
Assume known constant demand, constant setup cost, complete instantaneous receipt and even depletion to zero. There is no safety stock, shortage, seasonal variation, spoilage charge or separate freight payment in the example. Every positive integer order quantity is available. Real carton multiples or expiry constraints change the feasible choices and need explicit treatment.
Write compatible annual inputs and nonoverlapping tiers
Let D denote annual demand in units, S a fixed cost per order, i the annual holding rate and c the unit purchase price in a particular tier. Holding cost per unit per year is H=i×c. We therefore recalculate H when c changes. Do not claim H is fixed across tiers while also using a price-dependent holding rate.
Use D=1,200 units/year, S=20 currency units/order and i=0.20/year. Enter a 20 percent rate as 0.20 rather than 20. All values here are fictional teaching inputs, not market quotations, an Anar client case or a measured saving. The arithmetic was executed separately; no inventory application or supplier account was used.
| Tier | Eligible integer Q | Unit price c | Annual holding H |
|---|---|---|---|
| A | 1–199 | 10.00 | 2.00 |
| B | 200–499 | 9.80 | 1.96 |
| C | 500 and above | 9.70 | 1.94 |
Assign 199 to A, 200 to B, 499 to B and 500 to C. Do not put a breakpoint into both tiers. Resolve missing prices, overlapping ranges or gaps before calculating a recommendation. Also align units: a carton quotation cannot be multiplied directly by annual demand recorded in individual items.
Find the feasible minimum within every price interval
H = i × c Continuous Q* = √(2 × D × S / H) Annual total = D × c + D × S / Q + H × Q / 2
At tier A’s price, the continuous EOQ is approximately 154.919. It lies inside the 1–199 interval. For indivisible units, compare 154 and 155 using the full annual total. 155 has the lower cost. Do not create a fractional purchase quantity just because the theoretical expression returns one.
At tier B’s price, the continuous quantity is approximately 156.492. That quantity is not eligible for 9.80 because the tier begins at 200. The cost curve’s minimum lies to the left of the permitted interval, so its feasible minimum is the 200-unit boundary. For C, the continuous quantity is approximately 157.297, also below its 500-unit entry point. C’s candidate is 500.
In general, constrain each tier’s continuous minimum to that tier’s lower and upper limits. If it lies inside, test neighboring feasible integers. If it lies below, use the lowest permitted integer; if above, use the highest permitted integer. The final unbounded tier has no upper endpoint. Price each tested quantity using its actual interval, not the price you hoped to obtain.
This works for the stated positive inputs and constant-price cost function within each interval. INFLIBNET discusses infeasible EOQs and checking the relevant price break. Our explicit integer and boundary checks make that eligibility issue visible in the saved example. They do not silently solve additional commercial constraints.
Compare purchasing, ordering and holding together
| Batch and unit price | Purchase/year | Ordering/year | Holding/year | Annual total |
|---|---|---|---|---|
| 155 at 10.00 | 12,000 | 154.84 | 155 | 12,309.84 |
| 200 at 9.80 | 11,760 | 120 | 196 | 12,076 |
| 500 at 9.70 | 11,640 | 48 | 485 | 12,173 |
For Q=200, annual merchandise purchasing is 1,200×9.80=11,760. Ordering is 1,200/200×20=120 and cycle-stock holding is 200/2×1.96=196. Their sum is 12,076 per year. This is the lowest total among the feasible tier minima, even though it does not use the cheapest unit price.
Reconcile the change from B to C. Annual merchandise spending falls by 120 and ordering falls by 72, but holding rises by 289. The net change is −120−72+289=97. That matches 12,173−12,076. Showing this bridge explains why the deeper discount loses rather than presenting a mysterious spreadsheet verdict.
D/Q is a long-run annual ordering rate in this model. At Q=500 it is 2.4, not an instruction to issue 0.4 of a purchase document during a calendar year. Opening stock, order dates, the final batch and year-end inventory require a separate finite-period plan. The modeled annual cost rate is not necessarily the exact cash paid during one particular year.
Test boundary pricing and reject infeasible quantities
Check the discontinuities explicitly. Q=199 must use 10.00 and totals approximately 12,319.60. Q=200 uses 9.80 and totals 12,076. Q=499 belongs to B and totals approximately 12,297.12; Q=500 belongs to C and totals 12,173. Giving 499 the C price manufactures an unavailable discount. Keep full precision during calculation and round only the displayed result.
Now impose a hypothetical maximum batch of 180 units. B and C become infeasible, rather than expensive-but-still-selectable alternatives. Within A,155 remains the candidate. Mark the capacity-limited scenario separately from the unrestricted example. A modeled winner that cannot physically fit is not a purchasing recommendation.
This exercise accepts known positive D, S and i in consistent annual units. Treat zero demand as a separate no-replenishment case. Missing holding information is unresolved, not zero. Positive purchase prices and clearly defined intervals are also prerequisites. A different boundary model is needed when setup or holding costs are genuinely zero.
Cash timing and uncertainty still matter. Check payment dates in a cash-flow plan and record demand or spoilage assumptions in a business risk record. An ABC inventory analysis prioritizes items by consumption value; it does not establish the discount schedule or optimize this batch.
Save a short calculation card with enough evidence to repeat it
On Windows, open Notepad from Start and create a blank document. Open Calculator separately. Copy the following card, then calculate H, the continuous quantity and the eligible integer candidate for each tier. Record the three cost components rather than typing only a final winner. Notepad stores the record but does not calculate formulas.
Item, source version and date: [...] D 1200/year; S 20/order; i 0.20/year A:1–199; c 10; H 2; candidates 154/155 B:200–499; c 9.80; H 1.96; candidate 200 C:500+; c 9.70; H 1.94; candidate 500 Annual totals:12309.84 /12076 /12173 Boundary tests:199/200 and 499/500 Capacity 180:only A; candidate 155 Unknown terms and approval status: [...]
Allocate the exercise across input checks, arithmetic and boundary tests. Fifteen minutes is a planning target rather than a measured guarantee. Choose File → Save As and save discount-card-V 1.txt in Documents, using another name if necessary to avoid overwriting a file. Close the document and reopen that saved file from Documents in File Explorer.
Read back the 200-unit candidate, its 12,076 total, the 97 difference against C and the separate 180-unit capacity scenario. Confirm that the price intervals and holding-rate basis survived alongside the totals. If an input changes, save a new version with the changed source rather than silently editing the old conclusion.
These are proposed reader actions, not an observed desktop save/readback test. No live order has been issued. If commercial terms are missing, the useful saved result is a precise question list and a clearly unresolved decision, not a confident minimum calculated from invented zeros.
Frequently asked questions
What if only units above the threshold get a discount?
That is an incremental discount. Do not apply this all-units model without changing the pricing calculation.
Does the cheapest unit price always win?
No. In this example the larger batch adds enough holding cost to make its annual total higher.
Can 199 units receive the 9.80 price?
No. The fictional schedule makes that price available only for 200–499 units.
What if the holding rate is unknown?
Mark it unresolved and obtain a supported input rather than treating it as zero.


