Feb 16 2012

# Safety Stocks: Beware of Formulas

A formula you find in a book or learn in school is always tempting. It is a “standard.” If you follow it, others are less likely to challenge your results. These results, however, may be worthless unless you take a few precautions. Following are a few guidelines:

*Don’t use a formula you know nothing about.*Its validity depends on assumptions that may or may not be satisfied. You don’t need to know how to prove the formula, but you need to know its range of applicability.*Examine your data.*Don’t just assume they meet the requirements. Examine their summary stats, check for the presence of outliers, generate histograms, scatter plots, time series, etc.*Don’t make up missing data*. If you are missing the data you need to estimate a parameter, find what you can infer about the situation from other parameters, by other methods. Do not plug in arbitrary values.*Make your Excel formulas less prone to error by using named ranges rather than cell coordinates.*If a formula is even slightly complicated, referring to variables by names like “mean” or “sigma” makes formulas easier to proof-read than with names like “AJ” or “AK.”

Contents

## The safety stock formula for the reorder point method

Safety stock is a case in point. The literature gives you a formula that is supposed to allow you to set up *reorder point* loops with just the minimum amount of safety needed to prevent shortages under certain conditions of variability in both your consumption rate and your replenishment lead time. It is a beautiful application of 19th century mathematics but I have never seen it successfully used in manufacturing.

Let us look more closely at what it is so you can judge whether you would want to rely on it. Figure 1 shows you a model of the stock over time when you use the Reorder Point method and both consumption and replenishment lead time vary according to a normal distribution. The amount in stock when the reorder point is crossed should be just sufficient to cover your needs until the replenishment arrives. But since both replenishment lead time and demand vary, you need some safety stock to protect against shortages.

**Figure 1. The reorder point inventory model**

If your demand is the sum of small quantities from a large number of agents, such as sugar purchases by retail customers in a supermarket, then the demand model makes sense. In a manufacturing context, there are many situations in which it doesn’t. If you produce in batches, then the demand for a component item will be lumpy: it will be either the quantity required for a batch or nothing. If you use heijunka, it will be so close to constant that you don’t need to worry about its variations.

What about replenishment lead times? If in-plant transportation is by forklifts dispatched like taxis, replenishment lead times cannot be consistent. On the other hand, if it takes the form of periodic milk runs, then replenishment lead times are fixed at the milk run period or small multiples of it. With external suppliers, the replenishment lead times are much longer, and cannot be controlled as tightly as within the plant, and a safety stock is usually needed.

Let us assume that all the conditions shown in Figure 1 are met. Then there is a formula for calculating safety stock that you can find on Wikipedia or in David Simchi-Levy’s Designing and Managing the Supply Chain (pp. 53-54). Remember that it is only valid for the *Reorder Point* method and that it is based on standard deviations of demand and lead time that are not accessible for *future* operations and rarely easy to estimate on *past* operations. The formula is as follows:

*S*is the safety stock you need*.*- C is a coefficient set to guarantee that the probability of a stockout is small enough. You can think of it a number of standard deviations above the mean item demand needed to protect you against shortages. In terms of Excel built-in functions, C is given by:

**C = **NORMSINV(Service level)

Service level | C |
---|---|

90.0% | 1.28 |

95.0% | 1.64 |

99.0% | 2.33 |

99.9% | 3.09 |

- The other factor, under the radical sign, is the corresponding standard deviation.
*μ*and_{L}*σ*are the mean and standard deviations of the lead time._{L}*μ*and_{D}*σ*are the mean and standard deviation of the demand per unit time, so that the demand for a period of length T has a mean of_{D}*μ*xT and a standard deviation of_{D}*σ*x √T_{D}

## Case study: Misapplication of the safety stock formula

This formula is occasionally discussed in Manufacturing or Supply Chain Management discussion groups, but I have only ever seen one attempt to use it, and it was a failure. It was for the supply of components to a factory, and 14 monthly values were available for demand, but only an average for lead times.

The first problem was the distribution of the demand, for which 14 monthly values were available. This is too few for a histogram, but you could plot their cumulative distribution and compare it with that of a normal distribution with the same mean and standard deviation, as in Figure 2. You can tell visually that the actual distribution is much more concentrated in the center than the normal model, which is anything but an obvious fit. Ignoring such objections, the analyst proceeded to generate a spreadsheet.

**Figure 2. Actual versus normal cumulative distribution**

The second problem is that he entered the formula incorrectly, which was not easy to see, because of the way it was written in Excel. The formula in the spreadsheet was as follows:

C*SQRT((AJ4*AL4^2)+(AI4^2*AM4^2))

then, looking at the spreadsheet columns, you found that they were used as follows:

- AJ for
*Standard Deviation of Daily Demand*, and - AL for
*Average Replenishment time*.

And therefore the first term under the square root sign was σ_{D}xμ_{L}^{2} instead of *μ _{L}*x

*σ*.

_{D}^{2}The third problem was that the formula requires estimates of standard deviations for both consumption *and replenishment lead times*, but no data was available on the latter. To make the formula produce numbers, the standard deviations of replenishment lead times was arbitrarily assumed to be 20% of the average.

For all of these reasons, the calculated safety stock values made no sense, but *nobody noticed*. They caused no shortage, and the “scientific” formula proved that they were the minimum prudent level to maintain.

## Sizing safety stocks in practice

There is no *universal* formula to determine an optimal size of safety stocks. What can often be done is to simulate the operation of a particular replenishment loop under specified rules. For a simulation of a Kanban loop using Excel, see Lean Logistics, pp. 208-213.

No calculation or simulation, however, is a substitute for keeping an eye on what actually happens on the shop floor during production. One approach is to separate the safety stock physically from the regular, operational stock and monitor how often you have to dig into it. If, say, six months go by without you ever needing it, you are probably keeping too much and you cut it in half. With a Kanban loop, you tentatively remove a card from circulation. If no shortage results, then the card was unnecessary. If a shortage occurs, you return the card and look for an opportunity to improve the process so that the card can be removed.

Clendon Raines

February 18, 2012@ 4:38 pmComment in the Lean Six Sigma Worldwide discussion group on LinkedIn:

Steven Bonacorsi

February 18, 2012@ 4:48 pmGreat topic Michel,

Safety stock is not considered inventory waste in Lean because…..?

I believe that when we understand the concept, it will make it easier to understand how to size.

Andy Beynon MEng MBA CEng MIMechE RAF

February 18, 2012@ 4:51 pmComment in the Lean Six Sigma discussion group on LinkedIn:

Cornelio Abellanas

February 18, 2012@ 4:53 pmComment in the Lean Six Sigma discussion group on LinkedIn:

Jim Curry

February 18, 2012@ 4:54 pmComment in the Lean Six Sigma discussion group on LinkedIn:

Michel Baudin

February 18, 2012@ 5:32 pmStock in and of itself is not waste, but

unnecessarystock is waste.If you have variability in your supplies or your consumption, and you don’t have any safety stock you will have shortages that will stop production.

If you can get suppliers to respond instantly to changes in your consumption rate, you don’t need safety stocks.

If the variability in your consumption is self-inflicted, for example by bad planning and scheduling, then, by techniques like heijunka, you can reduce or eliminate the safety stock.

If you need safety stock, then your challenge is to find just how much of it you need item by item. Keeping two months’ worth of everything on the shelf may seem simple, but it is likely to be overkill for many items, and it may not be enough for some. For example, if you use small quantities of an exotic alloy from a single worldwide supplier, it may be prudent to have two years’ worth of it.

Chad Smith

February 18, 2012@ 5:37 pmComment in the APICS discussion group on LinkedIn:

Comment in the Lean Six Sigma Worldwide discussion group on LinkedIn:

Michel Baudin

February 19, 2012@ 12:26 pm@Chad –

If I understand you correctly, you are proposing to do away with safety stocks altogether. Let us look at the implications for specific items.

You already have no safety stocks for model- and option- specific items you receive just-in-sequence from suppliers. You practice heijunka, you communicate your production sequence to the suppliers as you start executing it at the first station of final assembly, and the suppliers make and deliver the parts in that sequence at the station where they are used. It’s wonderful but there are not many customer-supplier relationships that are able to make it work.

Now consider more generic items, like brackets, that you use on multiple products and for which you have an in-house Kanban loop between your incoming stores and one or more production lines. Let’s say you have milk runs every 30 minutes and have an item you use as an average of 1 unit every minute on a given line, with fluctuations so that, in 30 minutes, you use between 28 and 32. With Kanban rules, whenever you pick the first part in the bin, you pull the card and place it in the collection box for pick up by the next milk run and delivery on the following. If you issue the signal electronically, you may get the delivery one milk run earlier. If you use bins of 30, you may have only 30 units at the start of an interval between milk runs in which you will consume 32. On the other hand, if you use bins of 32, you will end up with a small amount of safety stock to protect you against the fluctuations. How do you propose to avoid this?

You may also have bulk items, like resin pellets for injection molding, that you manage on reorder point. The quantity remaining when you cross the reorder point is supposed to carry you until the next delivery. If you give yourself no safety stock whatsoever, then an accident on the freeway that delays the delivery truck for 30 minutes will stop your production. Same question: what do you propose to do?

We could go on. If you have a plan for every part that involves safety stocks for none, what is it?

Chad Smith

February 21, 2012@ 2:56 pmComment in the Lean Six Sigma Worldwide discussion group on LinkedIn:

Michel Baudin

February 21, 2012@ 3:08 pm@Chad – From your words, I still don’t see the difference. Safety stock is extra stock that is maintained to mitigate the risk of stockouts due to variations in supply and consumption.

Where and how much of it you keep, and how you use it in your planning, does not strike me as changing what it is. By any other name, it is extra stuff you keep around in case you receive less or need more.

Holding safety stock certainly decouples suppliers from users, in the sense that, for example, if Iran stops selling you oil, your strategic reserves — a safety stock — keep you from feeling an immediate effect.

When you talk about preventing the amplification of variations, do you mean avoiding the bullwhip effect? To me that is what heijunka and a well thought out pull system do.

Thanks for the link to your paper. My own publications can be found on Amazon but, rather than giving you homework, I would rather discuss the issues right here in this forum, as we might around drinks if we met at a conference.

David

February 22, 2012@ 7:41 amMichel – and particularly Chad, I think you are seeing the forest – instead of the trees.

Michel is right, KISS is the way to go. Keep it simple stupid.

In my experience in a large 24/7 aged manufacturing plant, with 16,000 SKU’s, and

a marginal MRP system.

The A,B,C and VMI practices take care of most of the “so called” stock outs, that may / or frankly in most cases, are just assumed stockouts – “over the weekend”.

One also must consider EOQ’s, more than ever now. And for one to consider that safety stock (as Michel as mentioned several times) is NOT wasted material.

It simply is material that will be used, but maybe, not this week, or until a months production input is need. Or gets damaged/lost.

Unless it has a shelf life, it can generally be managed through production weekly counts, MRP updates, and/or better yet VMI programs.

With VMI – the supplier manages the inventory and generally has MORE of an incentive to both mitigate stock outs, reducing inventory (financing) and simplify the supply chain. And opportunity costs mitigate any expense of a VMI program.

Also if inventory is not “sold” to the business unit, until used, and safety stock, monitoring is done buy a vendor, including CI. Whats the worry? Why the formulas?

Formulas and effciency gains, can be measured once the inventory levels are reduced overall, supply chain vendors are reduced and CI is in place.

If I can get most inventory in a category, 24/7, an in hours of realising I may be running below ROP, and if this happens a few times a year, and typically planning causing most of the issues, what can purchasing possiblly do? We have done our job

I remember the schedulers, productions comments that “we are always running out of pallets”, can’t ship without a pallet!

After creating some data presentations showing pallets were at 98% on time delivery, (and the fact that production published at 75% on time delivery)..they shut up and did not mention it for sometime.(when I did heard purchasing had “stockout” again, production obviously did not mention my presentation/proof, to the plant manager or others too!

We are just a good excuse for their poor planning and execution.Thats all.

Again; VMI, EOQ and CI, will take care of most SKU’s and safety stocks, forget the formulas in a job shop or chase type, push type production environment.

Lastly; if you are not instinctively monitoring your SKU’s, and part of communication , production meetings, or not visiting the plant floor, for storage and organizational reasons, you should definitely not rely on formuals, and actually do your job and know the “supply” and supply chain of any B,A items. C’s too.

I see no need to overcomplicate a rather simple strategic process.

Safety Stock Calculations | Lean Sigma Supply Chain

April 4, 2012@ 9:04 pm[…] Michel Baudin has a nice piece on safety stock in an article titled Beware of Formulas. […]

Safety Stocks: More about the formula | Michel Baudin's Blog

July 23, 2012@ 8:48 am[…] Stocks: More about the formula In a previous post on 2/12/2012, I warned against the blind use of formulas in setting safety stock levels. Since […]

Excel Safety Stock Formulas – Know What They Really Do | TopDown Lean Systems

July 24, 2012@ 11:46 am[…] I like to read others’ opinions of common, popular safety stock formulas – how they are used, how useful they are, what are their shortcomings. I recommend Michel Baudin’s concise, insightful blog written in February, 2012 – Safety Stocks – Beware of Formulas. […]

Supermarket sizing | Michel Baudin's Blog

February 18, 2013@ 4:42 pm[…] details on pull systems, see Lean Logistics, Part IV, pp. 197-330. See also the two posts on Safety Stocks: Beware of Formulas and Safety Stocks: More about the […]

Replenishment lead time in retail | Michel Baudin's Blog

March 19, 2013@ 6:00 pm[…] blog on Safety Stock Formula was very fascinating. I work in a Retail company and I am trying to apply the safety stock formula […]

Ferdi Grah

April 28, 2013@ 4:33 amReblogged this on Lean Freaks.

How do I analyze historical consumption for 13,000 items? | Michel Baudin's Blog

May 1, 2013@ 5:41 am[…] to find the reorder point? Is it ok to use the reorder point formula which is in your post “Safety Stocks : Beware of Formulas” even though the distribution is not […]

Safety Stock Calculations - Lean Sigma Supply Chain

July 15, 2013@ 1:37 pm[…] Michel Baudin has a nice piece on safety stock in an article titled Beware of Formulas. […]

Gauthier Duval

December 15, 2013@ 8:37 amComment on LinkedIn:

Ruslan

July 15, 2014@ 6:58 amDid you think that it is not correct to use standard deviation to calculate the Safety Stock?

Because periods with demand below the average will increase SS according the formula!!!

But we do not need SS at all if demand below the average. Stock = Lead Time Demand is enough for such periods without any SS.

Only periods with demand bigger than the average should be considered for SS calculation.

Michel Baudin

July 16, 2014@ 6:03 amI did not mean to imply any such thing, only that you should not blindly use formulas. Before you use a formula, you should know its underlying assumptions, and verify that they apply in your circumstances.

Item safety stock in AX 2012 | timsaxblog

February 18, 2016@ 10:09 am[…] while I was thinking about writing this I came across this post: Safety Stocks: Beware of Formulas – and it wasn’t just the title that I […]

Item safety stock in AX 2012 - Microsoft Dynamics AX Community

February 18, 2016@ 10:22 am[…] while I was thinking about writing this I came across this post: Safety Stocks: Beware of Formulas – and it wasn’t just the title that I […]

Top And Bottom 10 Posts Of All Time | Michel Baudin's Blog

June 2, 2016@ 6:49 am[…] It is not surprising. What is, on the other hand, is the first runner up, a technical discussion of safety stocks, and the means of setting their […]

Josh

September 4, 2016@ 7:07 amHi Michel, I am a bit confused about the demand standard deviation per unit time. How to define unit time here? If the daily demand amount is group into weekly demand, what is the unit time here, a day or a week? The identical daily demand data series, if transformed into weekly demand or monthly demand data series, can produce different standard deviations. Then, in the situation, which standard deviation, weekly or monthly, should be taken as the right one required by the formula?

Michel Baudin

September 4, 2016@ 8:18 amIn principle, it doesn’t matter which unit you use. As long as you do it consistently, the end result should be the same. In practice, you should choose units that are matched to the clockspeed of your work. If you plan daily, the standard deviation of daily demand will be more meaningful to you than of yearly demand. In addition, the assumption that demand fluctuates around a steady average is unlikely to hold for a year.

You seem motivated to use the formula. Remember the post is a warning against it!

Probability For Professionals | Michel Baudin's Blog

January 3, 2017@ 10:36 am[…] 2nd most popular post in this blog cautions against the misuse of a formula for setting safety stocks. I wrote Lean Logistics before I ever heard of this formula and my first encounter with it was […]

Laura Her

June 28, 2017@ 6:08 amWhat do I do if my data is not normal?

Michel Baudin

June 28, 2017@ 6:34 amYou may notice that I am explaining the formula, not advocating its use. The formula assumes that both consumption and replenishment lead times follow gaussian distributions. If they don’t, don’t use the formula. The post presents alternative methods of solving the problem.

Willie Antonio Cordova Hanna

July 10, 2017@ 1:39 pmI have a doubt! When we talk about “L” (Lead Time), do we refer to the replenishment time from the time I place a purchase order until it reaches my warehouse, or the time between orders (Days of the year / Annual Demand / Optimum Q*?

What happens when my ROP is greater than my Qmax?

Michel Baudin

July 11, 2017@ 6:48 amA lead time is an amount of time between order issue and receipt of the goods, in whatever form the order is issued and however the goods are received. It’s a good idea to make a clear statement of the end points when you discuss a lead time, for example, “from the time I place the Kanban in the collection box to the time a full bin arrives.”

If you use the reorder point system, and your reorder point is higher than the maximum amount of stock you can hold, you have a problem.

Willie Antonio Cordova Hanna

July 11, 2017@ 3:12 pmDear Michel, thank you for your kind reply.

“If you use the reorder point system, and your reorder point is higher than the theoretical maximum amount calculated of stock” (I don´t have storage restriction)… so, What happens if I use the time between orders like lead time? That is, if my supplier takes 3 months to dispatch an order, and I place monthly orders, then only the first time the order will arrive in the third month, then, from there deliveries will begin arriving monthly. This in practice is very common. If this is so, to calculate the ROP I use the time between orders (1 month) to calculate dxL + SS and not the 3 months of Lead Time?

Michel Baudin

July 11, 2017@ 9:53 pmIf you place monthly orders, you are not using the reorder-point system, and certainly should not use a formula that is for that system. Carmakers are often faced with the dilemma of ordering daily parts made overseas that have a 4-month lead time, and deal with the issue of working through a trading company that behaves like a local supplier and delivers daily. The trading company is essentially paid to take responsibility for the problem and deal with it, in the many forms it can take. Meanwhile, the carmaker can use the same methods to order parts from overseas and parts from the neighboring stamping shop and focus on the task of assembling them into cars.

Dennis Malandro

January 17, 2018@ 7:29 amIt looks like that formula has a sum of terms with different units:

mu_L and sigma_L are in units of time

mu_D and sigma_D are in units of amt / time

This gives:

mu_L * (sigma_D)^2 [=] (time) (amt / time)^2 [=] amt^2 / time

(mu_D)^2 * (sigma_L)^2 [=] (amt / time)^2 time^2 [=] amt^2

Terms with those units can’t rightly be summed, what am I missing here?

Michel Baudin

January 17, 2018@ 9:37 amYes, the formula is surprising because it doesn’t look homogeneous. I didn’t come up with it and don’t generally recommend it but its math is sound. I worked out the proof after seeing the formula — without proof — in several logistics books.

You can check it out at Safety Stock: More About The Formula

Dennis Malandro

January 27, 2018@ 2:05 amThat other post helped a lot, thanks for pointing me to it.

So it turns out that the units do work out because demand-rate variance per time is precisely that, giving demand-rate standard-deviation per sqrt(time).

But as you alluded to, it’s definitely counter-intuitive!

Kyle Harshbarger

February 14, 2022@ 6:35 amThe thing that gets lost with Safety Stock (SS) is that it is really a definition. In a reorder point system, the reorder point (ROP) itself is what you care about. The remaining relevant term is Lead Time Demand (LTD): the average amount of demand you expect to see during the lead time.

ROP = LTD + SS

So, if you keep a fixed SS, and your LTD is changing based on forecasts or supply chain disruptions, your ROP is going to move around significantly based on LTD.

If you consider ROP directly, then you can talk about the distribution of demand during lead time. This is where the SS formula comes from. If we assume Gaussian demand and Gaussian LT, you get a distribution of demand during lead time with average = D*LT and st. dev = the square root part of Simchi-Levy’s formula.

If you pick a different distribution of demand during lead time, then you can just set your Service Level to whatever percentile of that distribution you choose. That value of the cumulative distribution function at that percentile is your ROP. LTD is the expected value of your distribution. SS = ROP – LTD.