Skip to content
Badr Alghamdi
ToolsLearnReferenceGlossaryField LibraryMethod sheetsWritingAbout
العربية
←Tools

Reorder point: which of the four stock numbers the policy compares

A covers demand over the lead time and nothing else, and the same 95% names two different points depending on whether you said cycle service or fill rate. Replay your own transactions and watch on hand, on order, net stock and separate, because only one of the four is what the policy compares.

Live result

Read as a cycle service level, 95.0% puts the reorder point at 3,997 units.
  • Demand over the lead time3,000 units
  • Safety stock997 units
  • Reorder point as a fill rate3,372
  • Yearly cost of the difference$5,499
Naming the same figure a fill rate asks for less buffer and less cost to hold it.

Try a scenario

How you are defining service

95.0%
909599.9

The same percentage, two definitions

Live chart
The same percentage, two definitionsThe reorder point produced by each of two service definitions, from 90 to 99.9 percent. Cycle service runs from 3,777 to 4,872 units. Fill rate runs from 3,089 to 4,415. At the 95 percent marked, the two are 3,997 and 3,372, a gap of 625 units, and the protection demand of 3,000 units is marked beneath both.Cycle serviceFill rate02,0004,000Reorder point, units625 units of bufferthe number you named · 95.0%protection demand · 3,000 unitsthe number you named · 95.0%protection demand · 3,000 units90.095.0100.0The number you name, %
Basis
Read against the protection demand marked beneath, which is what the lead time consumes.
Units
Units of stock, whole units. The percentage is the number you named.
MeasureCycle serviceFill rate
The number you named95.0%95.0%
Safety factor1.644850.61304
Buffer above the protection demand997 units372 units
Reorder point3,997 units3,372 units
Carrying that buffer, a year$8,766$3,267
What it implies a unit short costs$9.64$1.79
units

How steady demand is

30 days
12 days
units
$

Shown in any single currency; the arithmetic is identical.

22%
10203040

A service number needs its definition beside it

A cycle service level counts cycles, a fill rate counts units, an order fill rate counts complete orders, and a waiting promise needs a named wait.

On these numbers, ninety five percent of cycles ending clean delivers 99.4% of units shipped from stock, while ninety five percent of units shipped from stock delivers 73.0% of cycles ending clean.

The replay

Live chart
The four numbers over one ledgerFour measures of the same stock across sixty days. On hand falls from 4,700 units to nothing on day 37 and recovers to 2,700. On order rises to 6,000 and falls back to 2,000. Net stock follows on hand until day 37, where it goes to minus 800. Inventory position stays between 3,200 and 5,800 throughout, and the reorder point of 3,997 units is marked on it alone.02,0004,0006,00002,0004,0006,00002,0004,0006,00002,0004,0006,000On hand2,700On order2,000Net stock2,700Inventory position4,700reorder point · 3,997 unitsshort by · 800 units, day 37the two conventions split · 3,200 against 4,000reorder point · 3,997 unitsshort by · 800 units, day 37the two conventions split · 3,200 against 4,00003060Day of the replay
Vertical
Units, one scale shared by all four rows
Units
Units of stock, whole units. Days are days of the replay.
Assumptions
Continuous review. One lot per order. Backorders are filled first when a receipt lands.
The policy placed 3 orders across 60 days of the replay.
  • Orders against on hand7
Stock already on order does not count when only the shelf is counted.
Transactions replayed6 issues, 3 placements, 2 receipts
Orders the policy placed3, for 6,000 units
Orders comparing against on hand7, for 14,000 units
Lowest on hand0 units, on day 37
Lowest net stock−800 units, on day 37
Average undershoot at ordering497 units below the trigger
A buffer sized for 95.0% behaves like 79.5% once the trigger is crossed rather than touched.
  • Placements that crossed it3
  • Average distance below497 units
Ordering from below the level the buffer was sized at is what moves the two apart.

The ledger

units
days
units
units
units
units
units
units

These six issues come to 6,000 units across 60 days, which is 100 a day against the 100 you typed above.

Lead time spread

days
days
days
days

It does not check the values in between.

How the answer sits across the values sampledA rail of the 21 values sampled, from 0 days to 20 days in steps of 1 day. Across the values sampled, the lowest net stock in the replay stays 800 units short on day 37 from 6 days to 14 days. The nearest value where it changes is 15 days, where it becomes 700 units on day 46.first change5 daysfirst change15 days12 dayson the page

Across the values sampled, the lowest net stock in the replay stays 800 units short on day 37 from 6 days to 14 days. The nearest value where it changes is 15 days, where it becomes 700 units on day 46.

Across the values sampled, the lowest net stock in the replay stays 800 units short on day 37 from 6 days to 14 days. The nearest value where it changes is 15 days, where it becomes 700 units on day 46.
The answer800 units short on day 37
Values sampled0 days to 20 days, 21 values, step 1 day
Holds from6 days
Holds to14 days
Nearest value that changes it15 days
The answer there700 units on day 46

What an unchanged region does and does not prove is set out in a short lesson.

The sweep samples only the values you entered. Between samples the answer is not checked, so read the boundary as observed, not proven.

Comparing against the wrong number

Live chart
What the wrong comparison ordersUnits on order across the same sixty days under two comparisons. Comparing against inventory position reaches 6,000 units and ends at 2,000. Comparing against on hand reaches 10,000 and ends at 8,000, a difference of 6,000 units.06,00012,000Units on orderagainst inventory positionagainst on hand6,000 units,four lots thatwere already comingcomparing against on hand · 10,000 unitscomparing against on hand · 10,000 units03060Day of the replay
Basis
Both paths run the same ledger and the same lead time, and differ only in what the trigger is compared against.
Units
Units of stock on order, whole units.
Assumptions
The naive path places one lot each time it looks, which is the mistake as people make it.

The reorder point is compared against inventory position, because a shelf count cannot see what is already coming.

A lot of 2,000 units at 100 a day lasts 20 days against a lead time of 30 days, so more than one order stays open for most of the replay.

The four numbers, and which one the policy watches

On hand answers whether the next request can be served today, net stock deducts backorders, on order is bought but not arrived, and inventory position adds on order to net stock.

Demand lowers on hand and inventory position together, placing an order raises inventory position alone, and a receipt raises on hand while lowering on order by the same amount.

The fuller convention also deducts stock already committed to something that cannot change in the short run.

Where the books disagree

▾

Two things on this page are settled differently by different sources, and both change a number rather than a wording.

The broader inventory-position convention deducts backorders, while a narrower one counts on hand plus on order; on day 37 they read 3,200 and 4,000 against a reorder point of 3,997.

Notation also differs, so this page writes reorder point, lead time and protection period in words.

What the implied shortfall price is not

This diagnostic comes from one model of one policy and does not move when demand or lead time becomes less predictable. It depends on the lot, carrying cost, annual volume and named tail.

Here is the maths

▾

Lead time and demand are independent.

The formula, in words

  • The reorder point covers one interval and no other. Not a year, not a cycle, not a month. It covers the stretch between deciding to order and the order being usable, because that is the only stretch in which nothing you decide can change what arrives. Under continuous review that stretch is the lead time. If you look at the stock once a week instead, add the week: an order missed on Monday cannot become a receipt any sooner for having been noticed on Tuesday.
    P=L+RP=L+RP=L+R
    where PPP is the protection period, LLL the lead time, and RRR the review interval, in days.
  • Two sources of uncertainty, and one of them is usually the larger. Demand varies over the interval and the interval itself varies. Combine them as the demand variance accumulated over the average lead time plus the lead time variance multiplied by the square of the daily rate. The second term is the one people leave out, and on the numbers shipped here it is 98% of the total.
    σP=PσD2+μD2σL2\sigma_P=\sqrt{P\sigma_D^2+\mu_D^2\sigma_L^2}σP​=PσD2​+μD2​σL2​​
    where σP\sigma_PσP​ is the protection-demand spread in units, σD\sigma_DσD​ the daily demand spread, μD\mu_DμD​ the daily demand mean, and σL\sigma_LσL​ the lead-time spread in days.
  • The buffer is that figure times a factor you choose, and the factor is the whole decision. Everything else on this page is arithmetic. The factor is a judgement about consequences wearing a decimal point.
    B=kσPB=k\sigma_PB=kσP​
    where BBB is the safety stock in units and kkk the safety factor.
  • Naming the number is not the same as defining it. A cycle service level is read straight off the normal distribution: the factor is the percentile. A fill rate cannot be, because it depends on how much demand a cycle carries, so a bigger lot meets the same fill rate with less buffer, and the same spoken percentage lands somewhere else entirely.
    α=Φ(k),β=1−σPG(k)Q\alpha=\Phi(k),\qquad\beta=1-\frac{\sigma_P G(k)}{Q}α=Φ(k),β=1−QσP​G(k)​α=Φ(k),β=1−σPG(k)Q\begin{gathered}\alpha=\Phi(k), \\ \beta=1-\frac{\sigma_P G(k)}{Q}\end{gathered}α=Φ(k),β=1−QσP​G(k)​​
    where α\alphaα is cycle service, Φ\PhiΦ the standard normal distribution function, β\betaβ the fill rate, GGG the standard normal loss function, and QQQ the lot size in units.
  • Round the buffer up, never down. Rounding down leaves the cover below the number you just named, and the whole point of naming it was to decide how much cover you wanted. The reorder point shown is the protection demand plus that rounded buffer, so the two figures on the page always add up. The annual cost of carrying it is worked out from the unrounded buffer, which is why it agrees to the cent with the service level lesson running the same inputs.
    r=μDP+⌈B⌉,H=Bchr=\mu_D P+\lceil B\rceil,\qquad H=Bchr=μD​P+⌈B⌉,H=Bchr=μDP+⌈B⌉,H=Bch\begin{gathered}r=\mu_D P+\lceil B\rceil, \\ H=Bch\end{gathered}r=μD​P+⌈B⌉,H=Bch​
    where rrr is the reorder point in units, HHH the annual holding cost in dollars, ccc the unit cost in dollars, and hhh the annual holding rate.
  • The trigger gets crossed, not touched. Every formula on this page assumes you order at the instant the position reaches the reorder point. Real transactions arrive in lumps and land below it. The distance below is the undershoot, and it comes straight off your cover, so a policy sized for one number behaves like a smaller one.
    re=r−ur_e=r-ure​=r−u
    where rer_ere​ is effective cover and uuu the undershoot in units.

What this does not model

The lot size, which is typed rather than worked out, so nothing here balances ordering cost against carrying cost. Any correlation between demand and lead time, which is exactly backwards from reality: a congested supplier is slow in the same weeks everybody wants more. Orders crossing, which the variance formula quietly assumes away while also assuming the lead times are independent, and those two assumptions are not comfortable together once more than one order is open. The difference between demand variation and forecast error, which matters more than anything else on this list: the buffer should absorb what your forecast gets wrong, and this page sizes it against how much demand moves, which double counts whatever the forecast already predicts and buys more stock than the numbers deserve. Stock committed but not yet issued. Lost sales as opposed to backorders, which changes both the accounting and the arithmetic. Partial deliveries, supplier allocation in a shortage, minimum order quantities, and the shipping quantity a supplier will actually accept. Review effort, which is real and is charged nowhere here.

A worked example

The inputs. 100 units a day, demand described as normal, a 30 day lead time whose spread is 12 days, a lot of 2,000 units, a unit cost of $40 and a holding rate of 22% a year. The number named is 95%, and it is named as a cycle service level: the chance a replenishment cycle ends without running out.

Protection period and its demand. Under continuous review the protection period is the lead time, 30 days. Protection demand is 100×30=3,000100 \times 30 = 3{,}000100×30=3,000 units. Its spread combines two sources: 100×0.15=15100 \times 0.15 = 15100×0.15=15 units a day and 12÷2=612 \div 2 = 612÷2=6 days, so in units:
30×152+1002×62=6,750+360,000=366,750=605.60\sqrt{30 \times 15^2 + 100^2 \times 6^2} = \sqrt{6{,}750 + 360{,}000} = \sqrt{366{,}750} = 605.6030×152+1002×62​=6,750+360,000​=366,750​=605.60
The lead time term is 360,000 of that 366,750, which is 98% of it. The 30 days of demand variation contribute almost nothing beside a lead time that moves by 12 days.

The safety factor, the buffer and the reorder point. At 95% as a cycle service level the factor is the 95th percentile of the standard normal, 1.64485. The buffer is 1.64485×605.60=996.121.64485 \times 605.60 = 996.121.64485×605.60=996.12 units, rounded up to 997, and the reorder point is 3,000+997=3,9973{,}000 + 997 = 3{,}9973,000+997=3,997 units. Holding that buffer costs 996.12×40×0.22=8,765.87996.12 \times 40 \times 0.22 = 8{,}765.87996.12×40×0.22=8,765.87 dollars a year, worked out from the unrounded figure, which is the same figure the service level lesson prints for the same inputs, to the cent.

The same 95%, named as a fill rate. Now the lot matters. The expected shortfall in one cycle is 605.60 G(k)605.60\,G(k)605.60G(k), and the fill rate is one minus that over the lot. Setting it to 95% gives:
G(k)=0.05×2,000÷605.60=0.165127G(k) = 0.05 \times 2{,}000 \div 605.60 = 0.165127G(k)=0.05×2,000÷605.60=0.165127
That solves to k=0.61304k = 0.61304k=0.61304. The buffer is 0.61304×605.60=371.260.61304 \times 605.60 = 371.260.61304×605.60=371.26 units, rounded up to 372, and the reorder point is 3,000+372=3,3723{,}000 + 372 = 3{,}3723,000+372=3,372 units. Holding it costs 371.26×8.80=3,267371.26 \times 8.80 = 3{,}267371.26×8.80=3,267 dollars a year.

So the two readings of one sentence. 3,997 units against 3,372. 625 units of buffer, and $5,499 a year, decided by which of two definitions the person who wrote the policy had in mind.

And each delivers the other, which is the check. At the cycle service reorder point, G(1.64485)=0.020893G(1.64485) = 0.020893G(1.64485)=0.020893, so the expected shortfall is 605.60×0.020893=12.65605.60 \times 0.020893 = 12.65605.60×0.020893=12.65 units a cycle. Over 36,500÷2,000=18.2536{,}500 \div 2{,}000 = 18.2536,500÷2,000=18.25 cycles a year that is 230.9 units, out of 36,500, so 95% of cycles ending clean is 99.4% of units shipped from stock. At the fill rate reorder point the shortfall is 605.60×0.165127=100.00605.60 \times 0.165127 = 100.00605.60×0.165127=100.00 units a cycle by construction, 1,825 a year, which is exactly 5% of 36,500, while the chance of a clean cycle is Φ(0.61304)=73.0%\Phi(0.61304) = 73.0\%Φ(0.61304)=73.0%. 95% of units shipped from stock is 73% of cycles ending clean. Both are true. Neither is the other.

NamedCycle service reorder pointFill rate reorder pointImplied price, cycleImplied price, fill
90.0%3,7773,089$4.82$1.09
95.0%3,9973,372$9.64$1.79
99.0%4,4093,877$48$6.52
99.9%4,8724,415$482$49

One thing worth reading twice in that table: 99% named as a cycle service level and 99.9% named as a fill rate are 4,409 and 4,415, six units apart. They are the same policy under two very different sounding promises.

The implied price of a shortfall. One more unit of reorder point costs the carrying charge on one unit for a year, $8.80. It saves being short on that unit whenever a cycle runs out, which happens with probability 1−0.95=0.051 - 0.95 = 0.051−0.95=0.05, across 18.25 cycles a year. Setting the two equal, 8.80=ps×0.05×18.258.80 = p_s \times 0.05 \times 18.258.80=ps​×0.05×18.25 where psp_sps​ is the price per unit short in dollars, gives the price in dollars a unit short:
ps=2,000×8.80÷(36,500×0.05)=9.64p_s = 2{,}000 \times 8.80 \div (36{,}500 \times 0.05) = 9.64ps​=2,000×8.80÷(36,500×0.05)=9.64
On the fill rate branch the tail is 1−Φ(0.61304)=0.26991 - \Phi(0.61304) = 0.26991−Φ(0.61304)=0.2699 rather than 0.05, so the same arithmetic gives $1.79. The same spoken 95% prices a shortfall at 9.64 one way and $1.79 the other, a factor of 5.4. Note what is absent from that expression: nothing in it is a spread. The implied price does not move when demand or the lead time gets less predictable.

The replay, transaction by transaction. Opening stock 4,700 units, nothing on order, nothing owed. The reorder point is 3,997, the lot is 2,000, the lead time is 30 days, and six issues total 6,000 units across 60 days, which is the 100 a day typed above.

DayWhat happensOn handOn orderBackordersNet stockInventory position
0opening4,700004,7004,700
6issue 5004,200004,2004,200
13issue 7003,500003,5003,500
13order A, 2,000, due day 433,5002,00003,5005,500
21issue 8002,7002,00002,7004,700
29issue 9001,8002,00001,8003,800
29order B, 2,000, due day 591,8004,00001,8005,800
37issue 2,60004,000800−8003,200
37order C, 2,000, due day 6706,000800−8005,200
43receipt A, 2,0001,2004,00001,2005,200
46issue 5007004,00007004,700
59receipt B, 2,0002,7002,00002,7004,700
60replay ends2,7002,00002,7004,700

Inventory position is on hand plus on order less backorders on every single line, and the whole table closes: 4,700+4,000−6,000=2,7004{,}700 + 4{,}000 - 6{,}000 = 2{,}7004,700+4,000−6,000=2,700, with 2,700+2,000=4,7002{,}700 + 2{,}000 = 4{,}7002,700+2,000=4,700 still in position.

The three moments the table exists for. On day 13 the position drops to 3,500 and an order goes in: the position jumps by 2,000 and on hand does not move by a unit. On day 37 on hand hits its floor at zero while net stock keeps going to −800, because on hand cannot record what you owe and net stock can. And on day 43 two thousand units physically arrive: on hand rises by 1,200 after 800 go straight out to the backorder, on order falls by 2,000, and inventory position does not move at all, because those units had been counted since day 13.

Where the two conventions split. On day 37, deducting the backorder gives a position of 3,200, and not deducting it gives 4,000. The reorder point is 3,997, which sits between them. So the broader convention orders on day 37 and the narrower one waits until day 43, when the receipt takes its reading to 1,200+2,000=3,2001{,}200 + 2{,}000 = 3{,}2001,200+2,000=3,200 and it orders then. Three days of difference, from a definition. And there is nothing accidental about how close 4,000 sits to 3,997: with two lots of 2,000 already open and on hand at zero, the narrower reading cannot fall below 4,000 at all, so under that convention no further order is possible until something arrives.

What comparing against the shelf would have done. Run the identical ledger with one line changed, so the reorder point is tested against on hand instead of inventory position. It orders on days 13, 21, 29, 37, 43, 46 and 51: seven orders and 14,000 units against three orders and 6,000 units, and it ends day 60 holding 4,700 on hand with 8,000 more on the water. Every order after the first was placed because the previous one had not arrived yet.

Undershoot, and what it does to the number you named. The three placements happened at positions of 3,500, 3,800 and 3,200 against a trigger of 3,997, so the trigger was undershot by 497, 197 and 797 units, an average of 497 units. Cover is measured from where you actually order, so the effective cover is 3,997−497=3,5003{,}997 - 497 = 3{,}5003,997−497=3,500, which is 500 above the protection demand, a factor of 500÷605.60=0.826500 \div 605.60 = 0.826500÷605.60=0.826, and a cycle service level of 79.5% rather than the 95% named. Two honest caveats, both of which push the same way. That figure treats the undershoot as a fixed shift when it is itself a spread, and allowing for its spread would take the number lower. And one of the six issues, 2,600 units, is larger than the 2,000 unit lot, which is precisely the case where a standard undershoot correction is least reliable and also precisely the case where ignoring undershoot is most wrong.

Check it yourself

Move the lead-time spread from 12 days to 0, holding the rest still. The buffer falls from 997 units to 136 and the cost of holding it falls from $8,766 a year to $1,189. That gap, $7,577 a year, is the most a perfectly steady 30 day lead time could be worth to you in carrying cost, and it is the figure to take into a conversation about a more reliable route or a more reliable supplier, because nothing you pay above it can be justified by this saving alone.

The buffer goes to −410 units and the reorder point to 2,590, below the 3,000 the lead time consumes. That is not a fault: at that lot size the order itself covers 95% of units, and the arithmetic is saying that more than half the cycles may dip into backorder while 95 of every 100 units still ship from stock.

Sources

Silver, Pyke and Thomas, Inventory and Production Management in Supply Chains, 4th edition. The source for the four state measures, the protection interval, the two term lead time demand variance, cycle service against fill rate, undershoot and the fixed lot policy.

Nahmias and Olsen, Production and Operations Analysis, 7th edition. The source for separating the lot from the trigger, the narrower inventory position, expected lead time demand, negative safety stock, the two service definitions and the implied shortage price.

Cachon and Terwiesch, Matching Supply with Demand, 4th edition. An independent statement of the state accounting, protection interval, service definitions and implied shortage price, and of why a waiting promise is incomplete until its measured wait is named.

Chopra, Supply Chain Management, 7th global edition, chapter 12. The source for item fill rate against order fill rate and why a complete order is a harder promise than a filled line.

None of the material consulted writes the reorder point or safety stock as an algebraic expression. The algebra on this page is standard and no formula is attributed to an author.

Equation trace

  1. Calculate protection period demand and its spread.
  2. Translate the named service definition into its own safety factor.
  3. Add protection demand and the shown safety stock, then round to the displayed reorder point.
  4. Replay each issue, order placement, and receipt in date order.
  5. Compare the trigger with inventory position, not on hand stock alone.

Source anchors

  • Inventory and Production Management in Supply Chains. Provides published inventory control context for reorder points and service measures.
  • Foundations of Inventory Management. Provides published context for continuous review policies and inventory state definitions.

Calculation version

1.0

The whole record prints. Your browser can save it as a PDF instead of printing it.

This page works out the consequences of numbers you type and does not recommend a service level, a lot size or a reorder point. The arithmetic is standard continuous review inventory theory, stated in the page's own words: the books named below are described and cited, and no table, definition or wording is reproduced from any of them. The implied price of a shortfall is a reading taken inside a model rather than a loss anybody has observed. Everything here assumes demand over the protection period is close to normal, which a slow moving item with long empty stretches is not. The model is continuous review with one lot size and one lead time distribution, and it does not represent intermittent demand or replace the operating system's stock definitions.

Related

  • Safety stock: variance beats the average lead timeTwo suppliers both quote 30 days. One of them quietly costs you triple the safety stock.Interactive lesson · 2 min
  • Newsvendor model: order once, and the average is the wrong numberA single order against demand you will see once. Type what one unit left over costs you and what one unit short costs you, and every quantity on your table shows its own bill, including the two either side of the one you were about to pick. The average demand is usually not one of them.Interactive lesson · 5 min

Reorder point policy sheet

Policy

Reorder point
3,997 units
Service definition
Cycle service · 95.0%

Demand and lead time

Units a day
100 units
Demand spread
Normal · 15 units standard deviation a day
Lead time
30 days
How much the lead time moves
12 days

Order quantity

Lot size
2,000 units

Stock figures at the end of the replay

On hand
This replay2,700 unitsYour system currently holds
On order
This replay2,000 unitsYour system currently holds
Net stock
This replay2,700 unitsYour system currently holds
Inventory position
This replay4,700 unitsYour system currently holdsThe policy watches this figure

Sweep of Lead time spread

The assumption
Lead time spread
Values sampled
0 to 20 days, 21 values, step 1
The answer
800 units short on day 37
Holds across
6 to 14 days
Nearest change
15 days, where it becomes 700 units on day 46
Reading the boundary
The sweep samples only the values you entered. Between samples the answer is not checked, so read the boundary as observed, not proven.

Field record

The number you named
3,997 units · Cycle service · 95.0%
Equation trace
Calculate protection period demand and its spread. Translate the named service definition into its own safety factor. Add protection demand and the shown safety stock, then round to the displayed reorder point. Replay each issue, order placement, and receipt in date order. Compare the trigger with inventory position, not on hand stock alone.
Boundary
The model is continuous review with one lot size and one lead time distribution, and it does not represent intermittent demand or replace the operating system's stock definitions.
Source anchors
Inventory and Production Management in Supply Chains; Foundations of Inventory Management
Calculation version
1.0

This page works out the consequences of numbers you type and does not recommend a service level, a lot size or a reorder point. The arithmetic is standard continuous review inventory theory, stated in the page's own words: the books named below are described and cited, and no table, definition or wording is reproduced from any of them. The implied price of a shortfall is a reading taken inside a model rather than a loss anybody has observed. Everything here assumes demand over the protection period is close to normal, which a slow moving item with long empty stretches is not.

Badr Alghamdi · badralghamdi.com/tools/reorder-point

Badr Alghamdi

Request a consultationLinkedInGitHubRSS