10.3 EOQ, Reorder Point, and Safety Stock

Key Takeaways

  • Classic EOQ = √(2DS/H) balances annual ordering cost against annual carrying cost for a single item under steady demand
  • At EOQ, annual ordering cost equals annual cycle carrying cost in the basic model
  • Reorder point (continuous review) = demand during lead time + safety stock
  • Safety stock rises with lead-time demand variability and with the chosen service level (z-value)
  • Quantity discounts require comparing total cost at EOQ (or feasible adjusted Q) and at each discount breakpoint — not picking the lowest unit price blindly
Last updated: July 2026

Economic order quantity (EOQ), reorder point (ROP), and safety stock form the quantitative core of independent-demand inventory planning. Domain VI expects you to compute EOQ, interpret what it assumes, set ROP from lead-time demand plus safety stock, and reason about service levels — including how quantity discounts change the replenishment decision.

EOQ — The Basic Model

Assumptions (classical): steady known demand, constant lead time, instantaneous replenishment (or lead time handled separately via ROP), fixed order cost S, holding cost H per unit per year, no quantity discounts, no stockouts planned.

EOQ = Q = √(2DS / H)*

where:

  • D = annual demand (units/year)
  • S = cost per order (or setup)
  • H = annual holding cost per unit (often i × C)

Worked example 1 — full EOQ

A distributor sells 10,000 widgets/year. Each order costs $32. Unit cost is $20; carrying rate is 25%/year.

  1. Compute H: H = 0.25 × 20 = $5/unit/year
  2. EOQ: Q = √(2 × 10,000 × 32 / 5) = √(128,000) ≈ 357.8* → round to 358 (or policy-friendly 360)
  3. Orders/year ≈ 10,000 / 358 ≈ 27.9
  4. Annual ordering cost ≈ 27.9 × 32 ≈ $893
  5. Average cycle inventory ≈ 358 / 2 = 179
  6. Annual carrying cost ≈ 179 × 5 ≈ $895

Ordering ≈ carrying at the optimum — a useful exam check.

Time between orders ≈ 365 / 27.9 ≈ 13.1 days.

Worked example 2 — sensitivity

Using the same D and S, suppose unit cost rises to $32 (still 25% carrying):

  • H = 0.25 × 32 = $8
  • Q = √(2 × 10,000 × 32 / 8) = √(80,000) ≈ 283*

Higher holding cost → smaller EOQ. If order cost rises to $72 with original H = 5:

  • Q = √(2 × 10,000 × 72 / 5) = √(288,000) ≈ 537*

Higher order cost → larger EOQ. Remember the square-root dampening: quadrupling demand does not quadruple EOQ — it doubles EOQ.

Average inventory and total relevant cost

TRC(Q) = (D / Q) × S + (Q / 2) × H

At Q*, TRC is minimized. For example 1:

  • TRC ≈ 893 + 895 ≈ $1,788/year (excluding purchase cost D × C, which is fixed without discounts)

Reorder Point (Continuous Review)

When inventory position hits the reorder point, place an order for Q (often EOQ).

ROP = dL + SS

where:

  • d = demand rate during lead time (same units)
  • L = lead time
  • SS = safety stock

If demand is daily and lead time in days:

dL = d × L

Worked example — ROP without safety stock

Average demand = 40 units/day; lead time = 7 days; SS = 0.

  • ROP = 40 × 7 = 280 units

With SS = 65:

  • ROP = 280 + 65 = 345 units

Inventory position reminder

Inventory position = on-hand + on-order − backorders (allocations may also be subtracted, depending on system rules). ROP is compared to position, not merely to on-hand — otherwise you double-order while a replenishment is already inbound.

Safety Stock and Service Level

Safety stock buffers uncertainty in demand and/or lead time. A common normal-demand model for continuous review:

SS = z × σ_L

where z is the service factor from the standard normal distribution and σ_L is the standard deviation of demand over lead time.

If demand periods are independent and lead time is constant:

σ_L = σ_d × √L

Worked example — safety stock

Daily demand σ = 12 units; L = 9 days; target cycle service level ≈ 95% (z ≈ 1.65).

  • σ_L = 12 × √9 = 12 × 3 = 36
  • SS = 1.65 × 36 ≈ 59.459 units

If average demand is 50/day:

  • ROP = 50 × 9 + 59 = 450 + 59 = 509 units

Service level vocabulary

TermMeaning
Cycle service levelProbability of no stockout during a replenishment cycle
Fill rateFraction of demand satisfied from shelf without backorder/loss
zHigher z → higher SS → higher carrying cost, fewer stockouts

Illustrative z values (approximate): 84% → 1.00; 90% → 1.28; 95% → 1.65; 97.5% → 1.96; 99% → 2.33. You will not always be asked for a z table lookup, but you must know directionality: raising service level raises safety stock nonlinearly in the tail.

Lead-time uncertainty (concept)

If lead time also varies, demand-during-lead-time variance increases further (combined demand and lead-time uncertainty). Exam takeaway: longer and more variable lead times inflate SS; shrinking mean and variance of lead time is often cheaper than stacking warehouse inventory forever.

Quantity Discounts — Overview

Suppliers may offer price breaks (all-units or incremental). For all-units discounts, unit cost C falls when order quantity reaches a breakpoint, which also changes H = iC.

Procedure (exam-friendly):

  1. Compute EOQ at each applicable price (using that price's H).
  2. If EOQ is feasible in that price's quantity range, it is a candidate.
  3. If EOQ is below the range, use the minimum quantity needed to get that price as a candidate.
  4. Compute total annual cost = purchase + ordering + holding for each candidate; choose the minimum.

TAC = (D × C) + (D / Q) × S + (Q / 2) × (i × C)

Worked discount comparison

D = 8,000/year; S = $100; i = 20%.

PriceQuantity range
$10.001–999
$9.601,000–2,999
$9.253,000+

At $10: H = 0.2 × 10 = $2; EOQ = √(2×8000×100/2) = √800,000 ≈ 894 (feasible in 1–999).

  • TAC₁₀ = 8,000×10 + (8,000/894)×100 + (894/2)×2 ≈ 80,000 + 895 + 894 ≈ $81,789

At $9.60: H = 1.92; EOQ = √(2×8000×100/1.92) ≈ √833,333 ≈ 913not feasible (needs ≥1,000). Use Q = 1,000.

  • TAC₉.₆₀ = 8,000×9.60 + (8,000/1,000)×100 + (1,000/2)×1.92 = 76,800 + 800 + 960 = $78,560

At $9.25: H = 1.85; EOQ = √(2×8000×100/1.85) ≈ √864,865 ≈ 930 — not feasible. Use Q = 3,000.

  • TAC₉.₂₅ = 8,000×9.25 + (8,000/3,000)×100 + (3,000/2)×1.85 = 74,000 + 267 + 2,775 = $77,042

Best among these candidates: order 3,000 at $9.25 (lowest TAC), even though EOQ at that price is far below 3,000. Blindly using the unrestricted EOQ at the lowest price would be invalid; blindly taking the lowest price without TAC can also fail when holding cost explodes — here the discount still wins, but you prove it with total cost.

Periodic Review Contrast (Brief)

Continuous review triggers on ROP. Periodic review orders up to a target level every T periods. Order-up-to level covers demand over T + L plus safety stock for that protection interval. Longer review intervals need more safety stock — another Domain VI tradeoff between administrative simplicity and inventory investment.

Exam Focus

Carry a calculator mindset: compute H, then EOQ, then verify ordering ≈ holding. For ROP, separate known lead-time demand from safety stock. For discounts, evaluate total annual cost at feasible quantities, not unit price alone. Those three habits unlock most quantitative inventory items on CPIM.

Test Your Knowledge

Annual demand is 5,000 units, order cost is $50, and annual holding cost is $4 per unit. What is the EOQ (nearest whole unit)?

A
B
C
D
Test Your Knowledge

Average demand is 70 units/day, lead time is 5 days, and safety stock is 90 units. What is the continuous-review reorder point?

A
B
C
D
Test Your Knowledge

Demand standard deviation is 10 units/day, lead time is 16 days (constant), and z = 1.65 for the target cycle service level. Approximate safety stock?

A
B
C
D
Test Your Knowledge

Under all-units quantity discounts, which approach is most appropriate?

A
B
C
D