Skip to content

Safety stock, reorder point and EOQ

  • Any ERP

ExplanationIntermediate8 min read

View Markdown

In short. The reorder point is expected demand over the lead time plus safety stock, and safety stock is a z value times the combined variability of demand and lead time. EOQ tells you roughly how much to order each time, and min/max is how most ERP systems store the pair.

Written for Finance and operations, administrators.

Every stocked item needs two answers: when to reorder, and how much. The reorder point answers the first, and safety stock is the part of it that protects you from bad luck. The economic order quantity (EOQ) is the classic answer to the second. Our calculators use the formulas below, and the textbook answers need adjusting before they go into an ERP.

Term What it answers Built from
Lead-time demand How much do we expect to sell while waiting for the order? Average daily demand × average lead time
Safety stock How much extra covers worse-than-average demand or a late supplier? z value × variability over the lead time
Reorder point At what stock level do we place the order? Lead-time demand + safety stock
Order quantity (EOQ) How much do we order each time? Demand, order cost, carrying cost
Min/max How does the ERP store the above? Min ≈ reorder point, max ≈ reorder point + order quantity

The reorder point is the stock level at which you place a replenishment order. It covers the demand you expect during the lead time plus a buffer.

Reorder point

(Average daily demand × average lead time in days) + safety stock

"Stock level" here should mean available plus on order, less committed, rather than only what is on the shelf. Otherwise an item that already has a purchase order on the way triggers a second one.

Safety stock exists because neither demand nor lead time is constant. If demand runs high during the lead time, or the supplier is late, the average would leave you empty. Safety stock is sized to a chosen probability of that not happening.

Safety stock

z × √( LT × σd² + d² × σLT² )

Where:

  • z is the standard normal value for the target cycle service level (table below).
  • LT is the average lead time, in days.
  • σd is the standard deviation of daily demand.
  • d is the average daily demand.
  • σLT is the standard deviation of lead time, in days.

The term under the square root is the variance of demand over the lead time. The first part (LT × σd²) is demand variability accumulated over the lead time. The second part (d² × σLT²) is lead-time variability converted into units. The formula assumes the two are independent and roughly normal. If lead times are reliable, set σLT to 0 and the formula reduces to z × σd × √LT.

For σd, the better input is the standard deviation of forecast error, not of raw demand, because the forecast already explains part of the movement. Hyndman and Athanasopoulos cover forecast residuals and how their spread drives prediction intervals in their free textbook Forecasting: Principles and Practice (linked below). Keep the time units consistent, pairing daily demand with lead time in days or weekly demand with weeks.

The z value is the point on the standard normal distribution below which the target share of outcomes falls. These are computed from the inverse of the standard normal cumulative distribution, and you can check them against the NIST/SEMATECH table linked below.

Target cycle service level z
90% 1.28
95% 1.64
97.5% 1.96
98% 2.05
99% 2.33
99.5% 2.58

To four decimals they are 1.2816, 1.6449, 1.9600, 2.0537, 2.3263 and 2.5758. Notice how quickly z climbs at the top. Going from 95% to 99% raises safety stock by about 41% (2.33 ÷ 1.64), and the last half point from 99% to 99.5% adds another 11%. A blanket 99% target on every item is expensive for this reason.

The numbers below are invented and round, for illustration only.

An item sells an average of 20 units a day with a standard deviation of 6 units. Lead time averages 10 days with a standard deviation of 2 days. The target cycle service level is 95%, so z is 1.645.

Step Calculation Result
Demand variance over lead time 10 × 6² = 10 × 36 360
Lead-time variance in units 20² × 2² = 400 × 4 1,600
Standard deviation over lead time √(360 + 1,600) = √1,960 44.3 units
Safety stock 1.645 × 44.3 72.8, round up to 73 units
Lead-time demand 20 × 10 200 units
Reorder point 200 + 72.8 272.8, round up to 273 units

Lead-time variability contributes 1,600 of the 1,960 units of variance. If the supplier were perfectly reliable (σLT of 0), safety stock would fall to 1.645 × √360, about 31.2, or 32 units after rounding up. A 2-day wobble in lead time more than doubles the buffer, so supplier reliability is often the cheapest place to cut inventory.

Calculator

Safety stock and reorder point

Assumes demand and lead time are independent and roughly normal. Set the lead-time deviation to 0 if lead times are reliable.

The calculator rounds safety stock and the reorder point up to whole units, as in the table.

EOQ balances two costs that pull in opposite directions. Ordering more often means more purchase orders, receipts and invoices to process. Ordering more at a time means more stock sitting on the shelf, tying up cash and space. EOQ is the order size where the two annual costs are equal and their total is lowest.

Economic order quantity

√( 2 × annual demand × cost per order ÷ (unit cost × annual carrying cost rate) )

Where:

  • Cost per order is the cost to place and receive one order: buyer time, receiving, put-away, matching the invoice. It is not the freight on the order.
  • Annual carrying cost rate is the yearly cost of holding a dollar of inventory, as a percentage. It covers cost of capital, storage, insurance, shrink and obsolescence. Rates in the 20% to 30% range are a common rule of thumb for distributors, because cost of capital, storage, insurance and obsolescence together often land there. The rule does not hold for goods that spoil or go obsolete quickly, so build your own rate from your cost of capital and warehouse costs.

The model was published by Ford W. Harris in 1913 in Factory, The Magazine of Management under the title "How Many Parts to Make at Once," and was reprinted in Operations Research in 1990. It is sometimes called the Harris or Wilson formula.

This example also uses invented round numbers.

An item sells 5,200 units a year. Each order costs $45 to place and receive, the item costs $18 and the carrying rate is 25%, so holding one unit for a year costs $18 × 0.25 = $4.50.

Step Calculation Result
EOQ √(2 × 5,200 × $45 ÷ $4.50) = √104,000 322 units
Orders per year 5,200 ÷ 322.49 16.12
Annual ordering cost 16.12 × $45 $725.60
Annual carrying cost (322.49 ÷ 2) × $4.50 $725.60

At EOQ the two costs are equal, which is a useful check on any hand calculation.

Calculator

Economic order quantity

EOQ assumes steady demand, a fixed order cost and no quantity breaks. Treat the result as a starting point, then round to pack sizes and supplier minimums.

EOQ gives an exact answer to a simplified problem. It assumes:

  • Demand is steady and known.
  • The cost per order is fixed, whatever the quantity.
  • The unit price does not change with quantity (no price breaks).
  • The whole order arrives at once, and there are no stockouts.
  • Each item is ordered on its own.

Distribution breaks most of these, but the total cost curve is flat near the bottom. In the example, ordering 336 units instead of 322 raises total annual cost from $1,451 to $1,452. Even ordering double the EOQ (645 units) raises it only 25%, to $1,814. Being roughly right is nearly as good as being exact.

Why EOQ is a starting point in distribution

Section titled: Why EOQ is a starting point in distribution

We treat EOQ as the first guess, then adjust for how suppliers sell.

Constraint What it does to the order quantity
Pack sizes Round to the case, inner pack or pallet the supplier ships. In the example, a 48-unit case turns 322 into 336 (7 cases)
Supplier minimums A minimum order quantity or minimum dollar value can push the order well above EOQ
Freight breaks Prepaid freight thresholds or full-pallet and full-truck rates can make a larger order cheaper overall. Compare landed cost, not unit price
Quantity discounts Compare total annual cost (price, ordering and carrying) at EOQ and at each break quantity, and take the lowest
Joint replenishment Items from one supplier are ordered together to reach a freight or dollar threshold, so the vendor line has an order cycle, and each item's quantity is set by that cycle rather than its own EOQ

Joint replenishment is the one that matters most for a distributor. When a buyer reviews a vendor line every two weeks and orders enough of everything to reach the prepaid freight minimum, the practical order quantity for each item is roughly two weeks of demand plus whatever brings the total to the threshold. Silver, Pyke and Thomas, among other planning texts, treat coordinated replenishment in depth. We cover the cost side in Landed cost and freight terms and quantities in different units in Units of measure.

Most ERP systems, including the ones we work with, store replenishment settings as a minimum and a maximum per item and location, and the system holds the demand and lead-time history the formulas need. Min and max map to the formulas above:

Min

Reorder point = lead-time demand + safety stock

Max

Min + order quantity (EOQ adjusted for packs, minimums and freight)

When available stock (on hand plus on order, less committed) falls to or below min, the system suggests ordering enough to bring it back up to max. With the invented numbers above, min is 273 and max is 273 + 336 = 609 once EOQ is rounded to full cases.

Setting your replenishment parameters

Section titled: Setting your replenishment parameters
  1. Measure lead time from your own receipt history, as an average and a standard deviation, per supplier and ideally per item.
  2. Use the standard deviation of forecast error for σd where you have a forecast.
  3. Set service level targets by class instead of one number for everything. ABC analysis and cycle counting shows how to build the classes.
  4. Start order quantities from EOQ, then round to packs, minimums and freight breaks, and review the vendor line as a whole.
  5. Watch the result in inventory turns and GMROI and in fill rate. If turns fall and fill rate does not rise, the buffers are in the wrong places.

Sources