Safety Stock: a Supply Chain Management Buffer Against Unpredictable Events

Safety Stock

A safety stock is a quantity of items that a company would like to keep in their inventory in order to be able to satisfy the demand even in the presence of some unpredictable events. Before defining more precisely what the safety stock is and why it might be necessary, it is worth remembering what an inventory is, why we should keep it, and why not.

What is Inventory?

An inventory is anything, in a production process, which is temporarily not used. This obviously refers to raw materials, intermediate products waiting to be assembled, finished products waiting to be shipped, products on display in a shop, etc. It might also refer to non-material stock like an inventory of purchase orders, filled and ready to be issued. 

There are many good reasons to keep an inventory: for example, it helps in dealing with unexpected demand and avoiding losing customers or in balancing a product line by having a stock of semi-assembled parts  (protective reason). Or an inventory is built as we might be interested in purchasing more than strictly necessary, in order to profit from quantity discounts. Or, in other cases, in order to cut down transportation costs, by shipping full trucks. Or even it might be useful when it is believed that costs will change in the future and we might try to speculate on the price of goods (cost minimization reason). On the other hand, an inventory always generates a cost: it might be a direct cost, of keeping a physical location, of insurance, refrigeration, or something more indirect like depreciation, perishing, or capital immobilization. Optimizing an inventory is the search for the best balance between these advantages with the disadvantages. In this context, safety stock can be considered as a quite standard part of any inventory. It is, indeed, an inventory and, as such, it will cost  – the larger the safety stock level, the higher the cost. 

So Why Keep a Safety Stock Inventory?

Safety stock is a safeguard against unsatisfied demand. It is almost never the case that in a business environment, everything is perfectly known in advance. Demand is unpredictable with certainty, both in its quantity as well as in the time it will manifest itself. Even in an apparently deterministic setting like, for example, a make-to-order business, demand might be unpredictable: it is true that production is started in order to satisfy a perfectly known purchase order, but in planning (production, workforce levels, inventories, marketing strategies, …) it is necessary to forecast future purchase orders, which are still not known to the manager.

Also, production times, delivery times, and lead times in general, are very seldom perfectly known in advance and subject to random fluctuations. Similarly, in a multi-part assembly process, downstream production units might have production times that are not perfectly predictable, so upstream production should be ready to generate parts in advance. 

Safety stock is meant to mitigate the negative consequences of unpredicted events. Keeping a stock of finished products might allow us to satisfy a sudden increase in demand, or, similarly, to be able to cope with unexpected delays in the delivery of new finished products. The aim is mainly to avoid customer dissatisfaction, an extremely negative event that most companies try to avoid as much as they can. An unsatisfied customer might complain, might require a discount, might generate negative word-of-mouth, and decrease the reputation of the company. In a global environment, a dissatisfied customer might decide to look for another supplier or another product. 

Safety Stock & Service Levels in the Supply Chain

Inside the supply chain, the safety stock of intermediate parts might help in keeping different stages separated from one another: if the upstream producer always guarantees a sufficient level of supply, the downstream stages will be able to satisfy unpredicted production requests. As in all stochastic environments, we can never be sure that the safety stock will be enough to protect against unpredicted events. A compromise is always needed between the level of the safety stock (which, we recall, corresponds to a cost) and the reliability, also known as service level. This is the estimated probability that demand will be satisfied. Higher service levels always come at the cost of increased safety stock. 

From a mathematical point of view, an accurate decision on a safety stock level needs reliable estimates of future needs. Let’s assume that D denotes the future demand for a specific product. D is a random variable that we cannot assume to know exactly, in advance. The best information we might think to have on future demand is a function F, called the “cumulative distribution function” (CDF) which is defined in this way:

F(x) := P( D <= x)  for all x >= 0.

Given a demand level x, the CDF evaluated at x is the probability that the demand, in the next period, will be at most x. This function might be assumed as known or, better, might be estimated on the basis of a historical data set of past demand levels. Given the CDF of the demand for an item, let α denote a probability threshold (a non-negative number smaller than one) which corresponds to the probability that the safety stock will not be enough to satisfy the demand. It is a measure of the acceptable risk of stock out or of unsatisfied customers. The service level is 1-α. If, as an example, α = 5%, this means that we require the safety stock to be large enough to be sufficient to cope with future demand in 95% of cases.  The safety stock is then computed as the smallest solution S to the inequality  F(S) >= 1 -α. That is, the minimum level of stock that “guarantees” (in a probabilistic sense) that in, say, 95% of cases the demand will be no more than S, the safety stock.  

If the CDF can be inverted mathematically, then we will find that S = F⁻¹(1-α). Of course, this simplified mathematical introduction to safety stock computation ignores many difficulties in the process: how to estimate F? How to choose a service level? How to modify F in different time periods? How to numerically solve the equations? How to deal with product substitutions?

Written by
 Fabio Schoen
Co-Founder & Scientific Advisor
Professor of Operations Research at the Università degli Studi di Firenze
Adjunct Professor of Operations Management at NYU Stern School of Business

Professor of Operations Research, thinks Optimization can solve (almost) every problem! Passionate on using analytics to efficiently impact real life.

Related articles