Safety Stock Calculations

When I first learned inventory planning the math was rather simple.  On top of the cycle stock (expected demand during lead time) I would add a percentage or a number of days (or more likely weeks).  If the lead time was 2 weeks I  might carry 3 or 4 weeks.  I soon learned that demand for some inventory items is more volatile than for others, and some suppliers less reliable than others.  I’d rather have too much then not enough, and I’d never gotten in trouble for having a little too much.

So since all items and situations are different I started using some statistics; (average demand * lead time) + (one sided Z factor * demand standard deviation) for the target inventory level; a little better approach.

Here’s another formula from Inventory Management Review;

Safety Stock:
{Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}.

Over at QuickMBA ; To calculate the safety stock, first calculate the standard loss function, designated as L(z). This function is dependent on the values of the desired fill rate  f,  the demand  μ  and its standard deviation  σ ,  the time between orders  p,  and the replenishment lead time l : L(z)  =  ( 1 – f ) µ p / σ ( p + l )1/2.  Once L(z) is known, z can be found in a look-up table and the safety stock can be calculated by:

Safety Stock  =  z σ ( p + l )1/2

Here’s a new one recently published by Kent Linford in the APICS Magazine Nov/Dec 2006. 
SS = √ [( σFE)2 x (LTI/FI)beta + ( σLT)2 x D2] x Z x (FI/OCI)beta

Where:
SS = safety stock
FE = forecast error
LT = lead time interval
FI = forecast interval (pick a beta between 0.5 and 0.7)
D = average demand during lead time
Z = normal distribution service factor based on desired service level
OCI = order cycle interval

Dave Piasecki at InventoryOps.com uses;
safety stock = (standard deviation)*(service factor)*(lead-time factor)*(order cycle factor)*(forecast-to-mean-demand factor)

Jon Schreibfeder has another approach.

 

Any questions? Got any other versions? What formula do you use?

 

 

 

47 comments to Safety Stock Calculations

  • Artem.Kalitin

    Lawrence,
    could you please check the source of APICS formula, it seems that standart demand(D) should be squared.
    Thank you.

  • Hamidur Rahman

    What is the difference between Saifty stock and minimum control inventory level?

  • Hamidur Rahman, the difference is that safety stock is generally considered a quantity, that is a number of units, while a control level is used as an action point or reorder point. The number for both can be the same. Sometimes they are not, it depends on your system and how you determine replenishment; whether you are using reorder point, time-phased reorder point, MRP, kanban, rate-based. Often I will need to hold additional inventory in flow above the safety stock quantity to handle temporary demand for promotions, or product model change, or seasonality.

  • Sean

    What is beta?

    Is it some statistical distribution?

  • Sean, from the article by Kent Linford … An element of this lead time adjustment is a variable called beta. This variable is used as an exponent in the adjustment. Most literature, including APICS
    curriculum, recommends a beta between .5 and .7.

    Sorry, but I’ve never used this approach for setting safety stock. Perhaps you could write to the author.

  • Susan Hallman-Shumaker

    I am looking for a LSS focused formula for calculating specific inventory level for achieved a desired fill rate. Not sure if the above is what I need. For a given location inventory I know what items are stocked, which items moved and how much, how those items moved (ie: straight from inventory, bought out, fill rate, etc…) and based on individual item inventory stratification classification I can segregate “good” boyouts from “bad” buyouts. I also know the overall fill rate for the location. What I am looking for is a calculation incorporating these (and other?) variables in order to state “In order to achieve desired fill rate of X% – I need to carry Y Inventory ($). I am beginning to feel like I am searching for the Holy Grail. Anyone have any suggestions?
    Thanks,
    Susan

  • Susan,

    A book for your consideration: Inventory Management Explained, by David J. Piasecki.
    Feel free to write to me directly at lmloucka@comcast.net

  • Riaz Ali

    What should be the formuala to calculte the safety lavaels?

  • Riaz Ali

    what should be the formaula to calculate safety stock for flexible production systems?

  • Safety levels aren’t calculated, they are a management decision. The higher the level the lower the risk of ‘stocking out’, but also the higher the inventory cost. You could do an optimization: cost of lost sale verses inventory cost, but can you really know the true costs of poor customer service?

  • what do you mean by ‘flexible production system’? For companies that make to order you may not need finished good safety stock. When well linked to suppliers with quick response and pull techniques you may not need raw material safety stock. Having no safety stock anywhere in a supply chain is rare and probably foolish.

  • Susan,

    I have developed a correct, comprehensive safety-stock analysis for random demand/usage variation. It determines the safety stock required to achieve a target fill rate at a confidence level. For details, take a look at my white papers: topdownleansystems.com/white.htm.

  • Kenneth Raskin

    Hello,

    I am a student Logistics Management from Belgium and I a have a question. I need to find a good formula for safety stock. A formula which pays attention to variable leadtime and variable demand.

    Is there anyone who has a good suggestion??

    Kind regards, Kenneth

  • Safety Stock:
    {Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}.

  • Kenneth Raskin

    Thanks Lawrence for the formula. There are a lot of formulas who use “Z”. Where can I find this Number, or how can I calculate it??

  • Z table, also known as the Standard Normal distribution.

    http://www.sjsu.edu/faculty/gerstman/EpiInfo/z-table.htm
    http://en.wikipedia.org/wiki/Standard_score
    also MS Excel can give you the values.

    Here’s an abbreviated table:

    Service Level and z value
    .90 1.282
    .91 1.340
    .92 1.405
    .93 1.474
    .94 1.555
    .95 1.645
    .96 1.751
    .97 1.881
    .98 2.054
    .99 2.327

  • Kenneth Raskin

    Oh now I see, thanks Lawrence.

    I will save this table, than I can always consult it.

    Anyone who has another formula for calculating Safety stock??

    Thanks

  • Kenneth,

    I have developed a correct, comprehensive safety-stock analysis for random demand/usage variation. It determines the safety stock required to achieve a target fill rate at a confidence level. For details, take a look at my white papers: topdownleansystems.com/white.htm. (See also my previous posted reply to Susan Hallman-Shumaker.)

  • Kenneth Raskin

    A few days ago I tried your website (with the link above) but it didn’t work on my computer. Today, I tried again and it worked great.

    Thanks for the link and by the way, great website!!

  • Zuzana Dancova

    Dear Lawrence,

    I have got one question regarding the safety stock formula.
    I´ve done the calculation, but the safety stock are quite high. I think that the problem is that I have the lead time in days and the consumtion is per month.
    Is there any standard which can I use?
    Thank you.

  • Zuzana, You must use the same units of measure. If lead time is in days then calculate the averaged daily demand (monthly demand divided by 20 for example). Better would eb to look at the actual daily demand.

  • Kenneth Raskin

    Zuzana, which formula have you used for calculating your safetystock??

  • Zuzana Dancova

    Dear Lawrence, thank you very much for your replay.
    As far as I don´t have a forecast and the actual daily demand is changing I have to use historical consumtion to calculate the safety stock.
    Should I take then the daily consumtion multiplied by the lead time ( a have diff lead times for diff codes) to calculate the avg.demand?
    Because when I did it like that the values of safety stocks were low…
    Thanks.

  • Just take the average of the daily demand (sum the daily divided by the number of days).

  • Kenneth,

    Thanks so much for the feedback on my website link. (I’m glad it’s now working for you!) Also, I truly appreciate your opinion of my website and its content.

  • Zuzana Dancova

    Hi Kenneth,

    I´ve used this formula.
    {Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}.
    But but when I took the average daily demand, the safety stock are too low…

  • Let me see your data. Send me a few samples. lmloucka@comcast.net

  • Zuzana,

    It would be my privilege to analyze a few samples of your data, if you would like. I’m the founder of TopDown Lean Systems. I have a correct, comprehensive safety-stock model that addresses random demand variation.

    My model first identifies potential issues in the daily historical time-series data itself: trend, seasonality and outliers. Once any input-data issues are resolved, my model then determines safety stock (expressed in both quantity and days) to achieve a target fill rate with a high degree of confidence.

    My comprehensive model requires six inputs for each inventory item (in addition to the item’s identifier / part number):
    (1) Time-series demand data, daily if possible, at least one year’s worth if possible, even more is better if available;
    (2) Target fill-rate service level;
    (3) Typical, not necessarily average, lead time;
    (4) The reorder quantity (usually MOQ or EOQ) and package size that drive replenishment interval;
    (5) Number of business days in your actual service-level-measurement cycle, for example 90 days if actual service-level performance is for a quarter, so that your items’ actual performance and my model’s results use comparable time frames;
    (6) Probability that unfulfilled demand will be canceled, a value of 0% if unfulfilled demand becomes past-due and is fulfilled late, or 100% if demand not fulfilled on time is canceled.

    I can send you an input-data file with some data examples in it. Feel free to provide me with your contact info, http://topdownleansystems.com/contact.php.

    For an example of my safety-stock-analysis outputs, see page 16 of my white paper at http://topdownleansystems.com/wpss.pdf.

  • michelle lagahit

    i know a simple formula for safety stock…and that is maximum usage during the lead time-normal usage during the lead time

  • Michelle,

    Great point –- the simpler the solution to a problem, the better. As your post highlights, a fundamental goal of safety stock is to take care of the customer by addressing the difference between average demand and peak demand during lead time. Your basic formula also correctly emphasizes that both calculated and actual service levels should be based on quantities (as opposed to stockout events).

    Often, more involved solutions are needed because safety stock also affects nearly every aspect of financial performance. This business reality means that the costs, expenses, warehouses and cash required for 100% service level are usually prohibitive. So something less than 100% service level is better for profit, but too much less than 100% can be disastrous. Determining the safety-stock level that maximizes financial results, and not just service level, introduces more complexity to finding the optimal difference between average demand and peak during lead time. (Really, the key is to determine the peak demand that we’re willing to cover with safety stock.)

    Over 20,000 times per month, people make Google searches related to “safety stock.” In part, this indicates the challenges and frustrations of defining the optimal difference between average and peak demand during lead time. Here are two examples:
    1. Intuition tells us that if an item has a large MOQ, it may not need any formal safety stock as an adder to ROP, gross requirements or other replenishment techniques. If we were to use a simple safety-stock approach for this large-MOQ item, ignoring the de facto safety stock effects of MOQ, we would calculate formal safety stock that would increase our inventory levels, tie up cash unnecessarily and reduce financial performance in general. To optimize financial performance, safety stock must consider the effects of MOQ, EOQ, reorder-review frequency and similar replenishment-interval factors.
    2. Historical demand is not a perfect picture of future demand. History provides, at best, a probability spectrum of future demand. On the one hand, using the historical peak may overstate optimal safety stock for our desired service level. On the other hand, the probability of future peaks exceeding the historical peak may be considerable, and we may need safety stock exceeding the historical peak. We simply don’t know unless we “do the math.” We must make an informed business choice of the point along that future-demand spectrum that optimizes the balance of service-level benefits and inventory-related costs. Optimal safety stock requires a correct statistical approach.

    The good news is that computers quickly crunch the mathematical and statistical complexities required for optimal safety stock. Our challenge, then, is to find and use a safety-stock model that has just enough complexity to give us the right answer. Personally, I’ve spent over 15 years developing my model. Your suggested basic calculation is always my “sanity check” whenever I get mired in the complexities that optimal safety stock requires.

    Dave McP, TopDown Lean Systems

  • Zuzana Dancova

    Dear David,

    Thank you for your replay.Now I know that I made a mistake by evaluating the consumption. I took the average consumtion per month..now I have the daily consumption figures and lead times. As far as I have material with diff. lead times I decided to split them in some groups, or maybe it will be better to evaluate ste std.deviation in lead time only based on my filling, or the biggest diviation in lead time divided by 3.
    I´ve checked your white papers, but I have to say that it´s too difficult for me. Does it means that I need to have all that figures ( actual Fill rate, Averadge reorder point…)to calculate the safety stock?

  • Zuzana,

    Thanks for your feedback on my previous reply and on my white papers. I must admit, those white papers are pretty detailed! Let me try to clarify the information that we require for our TopDown Lean Systems modeling approach. Really, we need only the following:

    1. Demand values for each item over time (daily is best, as you discovered)
    2. Lead time for each item (usually an average or representative value – see below)
    3. Target fill-rate service level and its measurement period (often a quarter or year)
    4. Reorder quantity (or reorder-review frequency)
    5. Package size (or order multiple)
    6. Probability of cancellation for demand not fulfilled on time

    Requirement 3 comes from your company’s strategies, policies or performance measures. Requirements 4 and 5 come from your MRP/ERP/business system. Requirement 6 is usually 100% if you often have past-due backlog, or 0% if you are in a pure-commodity market. These values enable our model to calculate and integrate the many factors that affect safety stock.

    As many experts have observed, calculating valid safety stock levels is not simple. The simple safety-stock calculations can provide unreliable results. Because I was never able to find a safety-stock formula that addressed all of the factors I listed above, my company developed our own correct, comprehensive safety-stock modeling approach. This approach draws on over fifteen years of experience, utilizes compelling statistical methodology, and has been subjected to extensive testing.

    If you would like to provide data on up to 30 on your inventory items, I would be honored to provide you with correct safety stock levels as a free trial. I’ll provide detailed information on our data requirements, and I’ll send you an Excel file containing data examples.

    See my “Safety Stock Optimization” forum at http://www.resourcesystemsconsulting.com/blog/blog.

    The best way to send me your contact information is at http://www.topdownleansystems.com/contact.php. Also, my direct phone number is listed there, if you would prefer to call. If you’re on Skype, you may look me up in the directory. I’m the only “David McPhetrige”, and my time zone is CEST -08:00. Feel free to contact me at your convenience.

    As for your lead-time variation, can you first tell me if, for a given item, the lead time varies significantly over time? If so, do you have detailed data on this variation? If you do, then please send us that lead time data along with the demand data for the 30 items that we will evaluate. This will enable our analysts to choose the best technique for handling the lead time variation. Otherwise, for each item, if there is only slight variation in lead time, as is often the case, an estimate of average or typical lead time is sufficient.

    David McPhetrige, TopDown Lean Systems

  • Paw Andersen

    Hi,

    I wonder if I can reduce safety stock (SS), when fx. 25% of future orders (purchased orders) are known? As I see it these 25% don’t represent any variation, and it would make sence to be able to reduce SS corresponding to this. But how do I take known orders out of the calculation for SS? Can I reduce StDev some way?

    A bit information to my data:
    - My ERP is SAP R/3
    - I have fixed replenishment periods R (½, 1 and 2 weeks depending on which warehouse)
    - StDev on demand is calculated on 6 months of historical data
    - z is fixed to 2.326
    - Leadtime is 5 days for the 2 week replenishment periods (LT is considered fixed)
    - The formula I use for SS = StDev * z * sqrt(LT+R/HistoricalDataInterval)(5workingdayweek)
    (ex. SS = 100 EA * 2.326 * sqrt(5+10/5) = 403 EA )

    /kind regards, Paw

  • Paw, first thought is to segment your demand, that is split the 25% known from the 75% variable demand and recalculate your mean and standard deviation. Then only carry safety stock for the 75%. But you will want to ‘protect’ your stable 25%. Might need to allocate inventory, or set a priority rule so that the 25% always gets ‘first pick’. When you split the demand stream you might want to check to see just how stable the 25% really is. Even booked orders can change in quantity and timing. Regards, Larry

  • Paw,

    Please forgive me for answering your question with more questions. Might I ask for some clarification, please:

    On this 25% of orders that are known, do you have enough visibility of demand (the customer allows you enough lead time) so that you can acquire (make or buy) what you need to fulfill this demand “to order”, instead of from stock? If this is true, do you actually acquire this 25% of demand “to order”, or allocate/reserve inventory for this demand as soon as the demand is visible, so that the inventory is unavailable for other orders?

    What is the time interval for your historical demand data that you’re using in your estimation of standard deviation? Daily, weekly, monthly…?

    I don’t understand the logic for adding R (replenishment interval), converted to weeks, to your lead-time days, and then taking the square root of that total. Could you explain this, please? As a general rule, longer replenishment intervals require less safety stock than do shorter intervals. This is because the larger reorder quantity, which is driven by the longer replenishment interval, provides some degree of “de facto” safety stock. By contrast, the formula in your post indicates that a longer replenishment interval effectively increases lead time, and therefore also makes the resulting safety-stock level higher.

    Is your z value of 2.326 intended to represent a 99% service level? If so, how do you measure your actual service-level performance? If your actual measure is a quantity-based fill rate, such as units delivered on time as a percentage of total units (on-time delivery), then your z value causes a mismatch between the calculation’s event-based probability of no stockouts and your actual quantity-based measure.

    Is your historical demand data actually normally distributed? In my experience, demand data is often significantly right-skewed, and is also often sporadic. If this is true of your data, and especially with a five-day lead time, then you cannot depend on the central limit theorem to justify using a normality-based z value.

    Thanks!

    David McPhetrige, TopDown Lean Systems

  • Kenneth Raskin

    Hi, I’m here again.

    I’m trying to calculate the safety stock (see formulas on top of this page) but this really doesn’t work for me.

    For calculating L(z), what do they mean with desired fill rate? Is this the same as the customer service level?? And what do they mean with the demand (daily, weekly, yearly)??? When I calculate this, I calculate that L(z) = 497. But is this possible because the table only goes until 3,09.

    And then I calculated the formula from Apics but this formula doesn’t work either. What do they mean with this “beta” (between 0,5 and 0,7). What do Which beta da I have to use?

    Can someone please help me with this problem?

    Thanks everyone

  • Lawrence Loucka

    Fill rate and customer service levels mean the same thing.

    Whatever time bucket you use, just be consistent. If you have lead time in days and demand in months, the math will be wrong.

    For your question on Beta, why not write to Kent Linford(kent.linford@moen.com)?

  • mojtaba

    DEAR ALL
    I HAVE QUESTION ABOUT THIS FORMULA {Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}.
    WE HAVE MONTHLY DEMAND & LEAD TIME IS 3 MONTH ACCORDING TO THIS INFORMATION HOW WE CAN USE THIS FORMULE

  • Mojtaba,

    Short answer: Since your demand data is in monthly intervals, and your lead-time is a whole-number-month multiple, be sure that all of the factors in your safety-stock calculation are expressed and/or calculated as monthly values.

    Longer answer:
    1. Monthly data may not offer very many data points, and statistical reliability will suffer. For instance, a year’s worth of demand data is only 12 points, and this is not a very good sample size for several reasons. For one thing, your standard deviation estimate will only reflect month-to-month variability, and this will most likely be smaller than the amount of variability that you would see in weekly or daily data. Keep in mind that you can run out of stock any time during a month, and using monthly buckets treats demand as if all that matters is whether it is late in that month. It does not distinguish whether a stock-out occurs early in the month or late in the month, since within-the-month variability is not acknowledged. Also, monthly values conceal interesting patterns that may occur during a month, for example, trending, cyclical effects, or simply high-volume periods. If there’s any way you can get daily or weekly demand data, you’ll have many more data points to work with, and more reliable results.

    2. The formula you posted uses a normality-based z value. This assumes that your demand over lead time is approximately normally distributed. In reality, demand is typically right-skewed, and may also be sporadic, meaning that normality-based calculations may result in incorrect safety-stock levels.

    3. Make sure your actual service-level-measurement criterion matches the criterion you use in your safety stock approach. (See the Wikipedia entry for “Service Level”.) Likely, you measure your actual service-level performance as a quantity-based fill rate, such as on-time delivery (demand quantity fulfilled on time / total demand quantity). By contrast, a typical z-table shows the cumulative probability of no stock-out events. This z value is a different service-level criterion than your actual, quantity-based measure.

    4. The formula you posted suggests that service level, lead time, demand variation and lead time variation are the only factors that significantly affect safety stock. However, MOQ (or EOQ, or reorder-review interval) also affects safety stock. Additionally, past-due demand backlog can make a big difference in safety stock requirements. In contrast, your posted formula assumes that demand not fulfilled on time is canceled.

    5. A comprehensive safety-stock approach should provide you with a range of safety-stock levels that reflect various likelihoods of achieving the service level you desire. The value that you select from that range should represent the confidence you need to have that the safety-stock level will consistently achieve your service-level target.

    I have another post on this forum, “Safety Stock Optimization”, at http://resourcesystemsconsulting.com/blog/blog. As it says, we will provide a complete, comprehensive free trial safety-stock analysis on up to 30 of your inventory items.

    David McPhetrige, TopDown Lean Systems

  • Kenneth,

    First, your L(z) question about the Quick MBA service-level formula, which seeks to find a safety-stock quantity that provides a quantity-based, as opposed to a stockout-event-based, service level. This formula is based on the idea of computing the expected number of units late over a time period, given a distribution that represents the demand. In the Quick MBA formula, that time period is the lead time (l), adjusted by the reorder period (p).

    This formula first requires your desired fill-rate service level, say f = 0.98. Next, let’s suppose your demand distribution is approximately normal, with mean = 50 and standard deviation = 10. Also, let’s say that the reorder period is 5 days, and that lead time is 2 days. Then L(z) = ((1 – 0.98)*50*5)/(10*(5+2)^.5) = 0.189.

    Next, look up L(z) in a table of normal-loss-function values. The corresponding z-value is approximately 0.53. Take this value and multiply it by the standard deviation of demand times the adjusted lead time (the square root of the total period of 7 days): S = 0.53*10*7^.5 = 14.0, which implies that safety stock of about 14 units is needed to obtain a 98% fill rate.

    This safety-stock calculation, based on the unit normal loss function, reflects a quantity-based service measure. In our example, we expect our demand quantity during lead time to be 100, and our quantity-based service level is 98%, so we would like to have sufficient safety stock to ensure that 98 of these are fulfilled on time. The Quick MBA formula uses L(z) to obtain a value that corresponds to the desired 98% fill rate.

    In contrast to this calculation that finds a safety stock value intended to achieve a desired fill rate, formulas such as the one from Inventory Management Review seek to ensure a level of stockout (or no-stockout) events. So, you might calculate safety stock to ensure a 98% no-stockout rate. Note that the stockout could involve 4 items or 4000 items – this formula does not distinguish, it looks only at the probability that a stockout occurs.

    One practical concern with the stockout-event approach is that it rarely represents the way you measure your actual service-level performance. For example, you may track actual demand quantities delivered on time as a percentage of total demand quantities, a typical “on-time delivery” measure. Likely, you also have a strategic target for this quantity-based on-time-delivery measure. Let’s say that your on-time-delivery target is 98%. If you use the Management Review formula for your calculation, you are actually determining the safety-stock level required to achieve 98% probability of no stockouts. This is very different from saying that 98% of the demand quantities will be on time.

    Generally, event-based safety-stock formulas provide higher safety stock values than do fill-rate based formulas and methods. If your actual service-level performance measure is quantity-based, and your safety-stock level is based on the probability of no stockout events, your safety stock levels may be too high.

    Both formulas we have discussed assume that total demand over the period of interest is approximately normal. In reality, demand data is rarely normally-distributed. It follows that the central limit theorem may not apply, especially when the lead time is short, the demand distribution is significantly skewed, and/or demand is sporadic.

    Next, your question on demand-data intervals: From a practical perspective, daily demand data is best, for several reasons. 1) Usually, one wants to have safety stock to cover demand each day. This requires that the estimate of demand variability (standard deviation, for example) be based on daily demand data. If, say, the daily data are binned by week and the standard deviation of the weekly data is computed, this estimate will conceal variability that occurs on a daily basis, thus giving incorrect results when used in calculations. 2) Trends, seasonality, other patterns and special causes can be concealed by weekly or monthly data. With short product life cycles and market volatility, your representative historical demand-data time frame may be only 12-24 months. If this data is in weekly or monthly bins, you will have only 52-104 weekly, or 12-24 monthly, data points. By contrast, daily data will provide you with several hundred data points.

    Finally, your question on “beta”: As Lawrence Loucka indicates in his posting dated September 11, 2009, beta is intended to adjust lead time for forecast interval, and forecast interval for order cycle interval. I suggest you contact Kent Linford, the author of the formula, to get his explanation of beta.

    Importantly, the Linford formula acknowledges that MOQ, EOQ or reorder-review interval can have a significant impact on the safety-stock level actually required to achieve a target service level. Intuitively, this makes sense: A large MOQ provides “de facto” safety stock, so that little or no additional calculated safety stock may be needed to achieve the target service level.

    I’ll be happy to discuss these various safety-stock factors with you. The best way to contact me is on http://topdownleansystems.com/contact.php. Also, I’m the only “David McPhetrige” on Skype.

    David McPhetrige, TopDown Lean Systems

  • Allan

    Hello everyone.

    A question about the following formula:

    {Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}

    Shouldn’t the correct one be {Z * SQRT (Avg. Lead Time ^2 * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2 + Standard Deviation of Demand ^2 * Standard Deviation of Lead Time ^2)}?

    Also, has anyone studied the following variation:

    {Z * SQRT (Avg. Lead Time ^2 * MAD ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2 + MAD ^2 * Standard Deviation of Lead Time ^2)}

    Where MAD = (Sum(|Real Demand – Forecast|)/n) where n = periods

    I’d really apreciate your comments.

    Thanks

  • Allan,

    Short answer: Let’s address the first formula that you cited in your post, which we will call Formula (1) in what follows:
    z * SQRT(avg lead time * std dev demand^2 + avg demand^2 * std dev lead time^2).

    This formula is stated correctly, given the event-based service-level criterion that it intends to optimize (and with the understanding that the expressions involved are the means and standard deviations of the relevant theoretical distributions).

    Expanded answer: Formula (1) is based on the distribution of total demand over lead time, where lead time is allowed to vary according to some probability distribution. It can be shown that the standard deviation of the total demand over lead time is precisely the square root given by the formula, namely, SQRT(avg lead time * std dev demand^2 + avg demand^2 * std dev lead time^2). We are currently preparing a white paper that discusses the derivation and shortcomings of this formula; this paper should appear on our Website shortly. If you (or anyone else) would like a copy, please contact me at http://topdownleansystems.com/contact.php.

    Before discussing the other two formulas that you mentioned, we need to say that Formula (1) can give extremely misleading results. This formula’s computed safety-stock values can be excessively overstated (poor inventory velocity) or inadequate (poor actual service levels). These values are highly sensitive to the distribution of lead time. This is illustrated in the white paper that we are currently preparing. Again, if you are interested, please contact me for a copy.

    Concerning the second formula that you listed:
    z * SQRT(avg lead time^2 * std dev demand^2 + avg demand^2 * std dev lead time^2 + std dev demand^2 * std dev lead time^2).

    We are not familiar with this formula. The square-root portion of this formula cannot represent the std dev of total demand over lead time, since, as mentioned above, the square root in Formula (1) is the correct expression for this. Might this be a std dev for a different situation? Could you provide an explanation of how this formula is derived, or where you might have seen it published? We are very interested in its source.

    Concerning the MAD-based formula that you listed: In this formula, the std dev of demand in your second formula has been replaced by MAD. As you know, the use of MAD implies that demand is being forecast. So, whereas Formula (1) is built around actual demand values, using MAD in a safety-stock formula presumes that safety stock will be computed to guard against forecast error. Although it is true that MAD can be used to estimate the theoretical std dev of forecast error, it is a flawed approach that is inferior to simply using the sample std dev of forecast errors as an estimate of the theoretical std dev. However, whenever MAD is used to estimate the std dev of forecast error, it must be multiplied by a factor of approximately 1.25; in other words, the theoretical std dev of forecast errors is estimated by 1.25 * MAD.

    Using forecast-error MAD to estimate the theoretical std dev of forecast error is suboptimal. The sample std dev of forecast errors gives a better estimate of the theoretical std dev of forecast errors than does MAD. Using MAD made sense when computing power was minimal, but today the use of MAD to estimate a std dev is not defensible.

    Additionally, using MAD to estimate the theoretical std dev of forecast errors can be problematic for a number of reasons:

    1. The typical use of MAD to estimate the theoretical std dev of forecast error requires that forecast errors be normally distributed with mean zero. However, actual demand values are often right-skewed, and sometimes highly so, especially in cases of sporadic demand, leading to non-normal forecast errors.

    2. Forecasts are biased for various reasons, especially at the inventory-item level. For example, an inventory item’s forecast demand may be chronically under or over actual demand. In such cases, forecast errors will not have mean zero, making the computed safety stock-value suspect; this could lead to safety-stock levels that are much too high, or dangerously low.

    3. Many common MAD-based safety-stock formulas also assume that the forecast errors are independent. Often, forecasts are based on demand values from previous periods. Although this does not necessarily mean that the errors will fail to be independent, in many cases, the errors could fail the independence requirement, again making the computed safety-stock value suspect.

    4. The time frame of typical forecast periods decreases the number of forecast-to-actual deviation data points. For example, if the forecast period is one month, one year’s worth of historical forecast-to-actual comparisons provides a relatively unreliable 12 deviation values, and even a one-week forecast period provides only 52 values. Historical daily demand variation based on customer-requested fulfillment, not forecast-to-actual-demand forecast error, provides the best indicator of potential service-level failures.

    Even if all of the assumptions on which Formula (1) and similar formulas are based were satisfied, we contend that these formulas are not “correct,” in part because they optimize the wrong service-level criterion. These formulas aim to limit the risk of a stockout occurring over a lead-time period. This is an event-oriented criterion. This is not how service level is measured at most companies. Most companies measure service level as a fill rate (see http://en.wikipedia.org/wiki/Service_level), where the “beta” and “gamma” criteria are described).

    We have developed a safety-stock approach that is fill-rate based. Beyond this, it integrates the many other parameters that affect inventory levels and thus safety stock. Our approach is correct and comprehensive, in contrast to the many simple formulas that are available. For example:

    None of the safety-stock formulas you cited provide a confidence interval, or range of possible results based on the variation of all the variables. Instead, the implied confidence of these formulas is only 50%. This means that even if the assumptions behind the formulas were satisfied, the safety-stock level itself would, on average, achieve the desired service level only 50% of the time. This low confidence would result in a financially-unfavorable combination of expediting and unhappy customers for one month, quarter or year out of every two, on average. Our safety-stock approach allows you to specify your desired confidence level (we suggest 90-95%).

    All of the safety-stock formulas you cited assume that actual demand is normally distributed. Actual demand is often right-skewed and may also be quite sporadic. Actual demand has a natural lower bound of zero, but no upper bound. The upper range of a demand distribution poses the potential for service-level failures. Our safety-stock approach accommodates actual demand-distribution skewness and sporadicity.

    Our approach adjusts safety-stock levels for positive or negative forecast bias, if your acquisition is driven by forecast (such as MRP).

    Our approach also includes these factors that definitely affect safety stock and service levels: Historical daily demand patterns; quantity-based fill-rate targets; realistic lead times; MOQs / EOQs / package sizes / reorder-review intervals; probability of unfulfilled-demand cancellation; high confidence of consistently achieving fill-rate targets; expected near-future trend and/or seasonality.

    I’ll be happy to perform our correct, comprehensive safety-stock analysis on up to 30 of your items as a free trial, just as I’ve offered at http://www.resourcesystemsconsulting.com/blog/blog (about the third posting down from the top).

    See our white papers on safety stock at http://topdownleansystems.com/white.htm. Take the Safety Stock Quiz, at http://topdownleansystems.com/quiz.htm. Contact me at http://topdownleansystems.com/contact.php.

    David McPhetrige, TopDown Lean Systems

  • Dan F

    Hello,
    I had two questions I was hoping you could look at and respond….

    1) Formula question: Why is the Average Lead Time term not squared in the equation? Can you explain this in “layman’s” language, maybe with an example?

    {Z * SQRT (Avg. Lead Time * Standard Deviation of Demand ^2 + Avg. Demand ^2 * Standard Deviation of Lead Time ^2}

    2) Plant A uses Raw Material X (10 units day +/- 3 units). Raw material X is stored in Warehouse 1. Raw Material X is shipped by truck from Warehouse 1 every Friday to Plant A (1 day +/- 0.5 days). Raw Material X is sourced in Warehouse 1 at 50% by local supplier (truck arrives every 7 days +/- day) and 50% by import supplier(ship arrives every 30 days +/- 7 days). What would you recommend to calcualte the “total” system safety stock for Plant A to insure 95% service level and why? Do you make two calculations and add them together(i.e. one for local and one for imports)? Any help would be great.

    I’d apprecaite your feedback and advice.
    Thanks!

  • Dan F,

    We have the statistical derivation of the formula in your first point in a new white paper, “Safety Stock Involving Lead Time Variation,” which is now available on http://topdownleansystems.com/white.htm.

    I’ll try to provide an intuitive explanation of why Avg. Lead Time is not squared. The formula in your first point asserts that the variance of total demand over lead time is:

    Variance(Total Demand) = Avg. Lead Time*Standard Deviation of Demand^2 + Avg. Demand^2*Standard Deviation of Lead Time^2

    Let’s use an example where lead time is given in days, and where the daily demand is normal with mean 50 and standard deviation 5. We will assume that lead time can be one, two, or three days, with probabilities .25, .50, and .25, respectively. Then the total demand over lead time is a mixture of three distributions, depending on the number of lead-time days, where these are represented in the proportions .25, .50, and .25:

    One day: Normal, mean 50, standard deviation Sqrt(1)*5
    Two days: Normal, mean 100, standard deviation Sqrt(2)*5
    Three days: Normal, mean 150, standard deviation Sqrt(3)*5

    The fact that the standard deviation of Total Demand, say, for a two-day lead time is Sqrt(2)*5 follows from rules for summing variances of independent quantities: the variance of a sum is the sum of the variances.

    We will address the second term in the Variance(Total Demand) formula, Avg. Demand^2*Standard Deviation of Lead Time^2 first, and then will address the first term.

    This second term describes the variation in lead times, but converts this to days. The variance in lead times is simply Standard Deviation of Lead Time^2. But Total Demand is given in items of demand, and so this quantity has to be converted to demand. To give a heuristic idea of what is going on: We convert lead times to their associated average demand values, so that we are looking at Avg. Demand*Lead Time. The variance of Avg. Demand*Lead Time is Avg. Demand^2 * Variance of Lead Time = Avg. Demand^2 * Standard Deviation of Lead Time^2. This is, intuitively, how the term Avg. Demand^2*Standard Deviation of Lead Time^2 appears in the formula.

    The first term appears in the formula for Variance(Total Demand) because there is more to the variation of Total Demand than the variation in average demand at the various lead-time values; the variation of the demand distributions involved in the mixture must also be factored in. This is the role of that first term, namely, Avg. Lead Time*Standard Deviation of Demand^2.

    In terms of our example, here is an intuitive view of how that term appears. The variance of daily demand, in our example, is 5^2. However, the distributions in the Total Demand mixture have different standard deviations depending on the numbers of lead-time days. As we saw, the standard deviations for these component distributions are given by Sqrt(k)*5, where k = number of lead-time days. When squared, these give the variances k*(5^2). The first term in the formula takes the average of the individual lead times and multiplies this average by the variance of daily demand, in our, example, Avg.Lead Time*Standard Deviation of Demand^2 =2*5^2 = 2*25 = 50.

    The short answer to your second question is: Establishing safety stock for each demand stream, and adding together the results of each, would be a safe, conservative approach. We use a technique that is more complex, but that also finds a more optimal balance of inventory levels and service-level performance.

    I have some additional questions that could help provide a more clear answer to your second question:

    1. What criteria determine the sourcing for any given demand for Raw Material X? In other words, the distribution shape and scale of these two demand streams may be significantly different, even though the overall demand split is 50-50. The formula you have cited assumes, among other things, that demand is normally distributed. Likely, X’s demand is right-skewed, and perhaps even sporadic.

    2. What are the lead times for each sourcing scenario? You have stated the replenishment intervals (every 7 days, every 30 days), but you have not indicated the lead times. On this topic, notice that the formula you cited does not have a term for replenishment interval, even though replenishment interval can significantly affect safety-stock requirements. As you know, lead time and replenishment interval are not the same thing, and it’s simply coincidence if the two are equal.

    3. When you say 95% service level, do you mean a quantity-based fill rate, or an event-based probability of no stockouts? Your cited formula is event-based. My guess is that when you measure your actual service-level performance, you use a quantity-based fill rate. These two service-level criteria are not the same, and the difference can be substantial.

    In addition to the white paper I mentioned above, we have three other white papers on the topic of safety stock at http://topdownleansystems.com/white.htm. Also, we’ll be happy to discuss safety-stock details and specifics, so feel free to contact us at http://topdownleansystems.com/contact.php.

    David McPhetrige, TopDown Lean Systems

  • Dan F

    David,
    Thank you for your detailed response to my questions. This is very helpful information. The specific exmaple I mentioned has changed, so I will write back if any more follow-up is needed. In the meantime, I will check-out the white paper(s) you listed above for furter insight.
    Again, thanks for your time and response.
    Dan F.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>