Module: Safety stock

Executive summary

Safety stock is an essential tool that helps you to observe the required service level (the module: Service level management). Its role is to cover basic uncertainties that cannot be computed explicitly.

For STOCK, uncertainties are:

Monthly forecast error,

Variability of daily forecasts,

Uncertainty in supplier’s lead time (Standard deviation of lead time)

Safety stock is calculated as the sum of these three components, each of which is adjusted by the given SLI.

Concerning ordering, safety stock is a stock level under which the stock should never get. Orders, then, are planned so that at the delivery time, the stock is either at or above the safety stock level.

There is an exception: the stock level can fall below the safety stock if the product can expire.

When a central warehouse is combined with branches, the module allocates the supplies automatically: a certain part of the safety stock is transferred to the central warehouse and then the safety stock is reduced (with respect to the number of branches). It is not likely that extreme sales occur at all branches at the same time and, thus, the central warehouse is the only place with an uncertainty with respect to the suppliers.

The safety stock is computed for non-sporadic items only (see the module Categorization based on regularity of sales). For sporadic items, the safety stock is zero (since safety stock is based directly on sales forecast and since sporadic items do not have accurate enough sales forecast, it doesn’t make sense to compute safety stock for sporadic items). SLI for sporadic items is managed in the module Base stock.

Functional description

Computing safety stock

As mentioned in the executive summary, safety stock consists of three components, which are summed up. In this section, we report in detail on parameters of the individual components.

Monthly forecast error

The first component of the safety stock covers only error estimated by the module: Computing monthly sales forecasts. For safety stock, the error is adjusted to reflect accumulated error for the period for which an order is set (ordering period). That is, if you order for 3 months, we do not care about an error in each month, we are only interested in accumulated error for the entire quarter.

The error is then multiplied by a SLI quantile and the square root of the lead time converted into months. (15 days = 0.5 months).

Variability of daily forecasts

Variability of daily forecasts is meaningful only if we deal with short lead times and periods. The implementer can choose the length of a period s/he wants to respect, maximum is 30 days. Longer periods are implicitly covered by forecast error: if we order every two months, we do not really care whether the goods get sold in the first or second week of the period.

Variability of daily forecasts is computed as follows: the real sales in the past year are compared to what actually would be sold according to computed sales, with monthly sales broken down into days (see Computed daily sales forecast module). The differences are summed into differences for a certain period (e.g. for a weekly period, accuracy of a breakdown into individual days is not crucial, the only really important parameter is a breakdown of weeks into a month). This way, we obtain errors for an ordering period. From these errors, we generate a histogram (i.e. frequency of individual errors in descending order) and based on the specified service level, we select the requested size of the error from the histogram. For example, if we want service level to be 99%, then we have to choose such error size that covers 99% of the cumulative deviation from the histogram. The remaining 1% of the deviation can be ignored.

Uncertainty in supplier’s lead time

This component of the safety stock is used to cover for deviations in a supplier’s lead time. If a supplier is absolutely (100%) reliable and goods are always delivered on time, this component equals zero. But if the goods get delivered every 10 days ±3 days, these three days (lead time standard deviation) enter into the computation of safety stock.

The result is calculated as a multiple of the deviation, SLI percentage and expected sales for the period of the deviation (i.e. the quantity sold, if the supplier were to be delayed for the whole period of the deviation).

Safety stock calculation in superior warehouses in distribution hierarchy

Safety stock calculation in central warehouse is composed based on distribution hierarchy (also multi-level). Every warehouse is then calculated with its own settings of lead time and service level. For daily variability and forecast error it also calculates - besides its own values - values of all subordinate levels according to the hierarchy. Using this mechanism it is possible that superodrinate (central) warehouse holds safety stock for items in direction to the supplier (with long lead time) and subordinate warehouse only counts on lead time error defined for distribution. In safety stock explanation you may find more detailed information about the level of safety stock that is being held for the items’ own sales and what safety stock level is being held for distribution, including detailed breakdown of every subordinate point.

Computing safety stock for manufacturing

Safety stock for manufacturing is calculated using the same mechanism as safety stock for warehouses in distribution hierarchy. In this case, raw materiál is considered as “superordinate warehouse” and final product is considered as “store”, according to the bill of materials. This way it is ensured that all raw materials have sufficient safety stock for all products. As opposed to the distribution hierarchy, in manufacturing it is possible to set (using parameters), what percentage of safety stock should be held at the product and what percentage should be moved to the raw materiál (e.g. in cases when we don’t want to keep products in warehouses).

Global limiters on safety stock

There are 2 limiters concerning safety stock that are set together for the entire STOCK.

Minimum forecast error

The minimum forecast error is the lower limiter of the safety stock. Default is 15%. We argue that even if the forecasted error is computed as less than 15%, there still is a margin for a chance and we want the safety stock always to take into account a monthly forecast error as at least 15%.

Maximum multiple of the monthly forecast

The upper limiter of the safety stock is calculated as the maximum multiple of monthly forecast. For setting 2 (i.e. 2x monthly forecast), the maximum possible forecast is two times the monthly forecast. If the result is higher, it is trimmed to this level.

The upper limiter can be switched off by setting the value to “0”.

As a monthly forecast, we take the average of the given month and the surrounding months. It is to balance extremes of these months – or a possible zero months between two non-zero ones. A null month would necessarily (and automatically) turn the safety stock to zero.

Safety stock for promotions

Promotion safety stock is automatically included in the module Safety stock if the module: Forecasting promotional sales is turned on.

The safety stock for promotions is – very much like safety stock for normal sales – based on errors computed by the Promotional sales forecasting module. This error is multiplied by SLI quantile and it is added to the current safety stock for the duration of the promotion.

The error is limited by the limiter: Maximum multiple of the monthly forecast. Unlike the normal (non-promotional) safety stock and the monthly quantity, for promotions we take the quantity over the whole period of the given promotion and an aliquot of the promotional period against “1 month”.

Setting firm limits for safety stock using SIDI

The module can get its input directly from the module SIDI. For each combination of a product and warehouse, you can

  • set limits (minimum and maximum) for the safety stock. If the safety stock falls outside these limits, minimum or maximum are enforced,
  • set the quantity by which the safety stock must increase. To do so, the so-called shelf quantity, or presentation stock is used. The idea is that we always want to have a certain quantity of goods on shelves, and usual supply management i.e. normal safety stock and ordering must regard these items as “dead presentation stock”.

Displaying safety stock

Safety stock can be displayed at several places:

  • In the report: Product overview, you find a table listing the the safety stock in the aggregate product, warehouse, month, safety stock. The safety stock listed here is the average safety stock in the given month. The average is based on days; smoothed months and any promotional safety stock are included.
  • In the tab Detail of the module Detail in the monthly sales chart, showing the average safety stock of the given month. The average is computed in the same way as in the preceding paragraph.
  • In the tab Explanation of orders of the module Detail. You find detailed view of safety stock in days for the entire period for which orders are made.

Explanation of safety stock

In the tab Forecast of the module Detail, there is an explanation of safety stocks. You find all the details about exact variables entering the safety stock for a particular item:

image0

There is help (under the explanation) for individual data in the formula.

Consequently, you can find out ratios of the central warehouse: that is, how much safety stock in the central warehouse is due to the items there – and how much of the safety stock in the central warehouse is there due to the products at subordinate branches.

image1

Breakdown into days:

image2

Extensions

Modifying safety stock using the module Fast adaptation of sales forecast

The safety stock is standardly computed from sales according to the modules Sales forecast and Forecasting promotional sales.

However, if the forecast is adjusted by Fast adaptation, it is possible to turn this extension on and modify the safety stock using an aliquot method.

This extension can be activated for modification of the safety stocks up and down separately.