GMDH Streamline Docs

Site Tools

safety-stock-calculation

7.5. Safety Stock Calculation

Assume we have locations imported. In this case, an inventory planning item is defined by a pair Location, Item code. There are two different safety stocks in Streamline depending on its configuration.

• If a planning item is sold in the Location, Streamline assigns it a safety stock that is shown in the Safety stock column. Let's denote it as Safety stock.
• If a planning item is distributed via a distribution center, Streamline assigns it a special safety stock. This safety stock is shown in the DC safety stock column. Let's denote it as DC Safety stock.
If a planning item is both sold and distributed through a DC, it is assigned both safety stocks. In this case, Streamline shows the sum of them in the DC safety stock column on the Distribution center tab.

Depending on the inventory replenishment strategy, Safety stock or DC safety stock is an assessment of the reserve stock for:

Safety Stock Calculation Methods

Depending on the model type, the way Streamline calculates the Safety stock is different.

Streamline calculates Safety stock using one of the following methods for any model type, except for the intermittent model.

• It is computed based on the given Service level percentage using the formula:

, (1)

where:

• `α` is determined by the given Service level unambiguously;
• `δ` is the unbiased standard deviation of the model for the learning set. If Item code is sold, let's say, via `n` channels (we have `n` models), `δ` is calculated as:

• `t` is the Order cycle if the periodic strategy is used, or the Lead time in the case of the min/max replenishment strategy. The Order cycle and Lead time are converted to the data aggregation periods before the calculation.
• It is taken as the demand of the given number of data aggregation periods coming after the Lead time plus Order cycle. This number is the Safety stock periods parameter.

For example, if data aggregation period is one month (monthly data), Lead time is 30 days, Order cycle is 1 month, and Safety stock periods = 2, then Safety stock will be calculated as summed demand of the February and March (see figure below). This parameter can be also given as a fractional number.

• It is the maximum from two options above.

The DC safety stock is computed using one of the same approaches as the Safety stock. The difference is only in the formula (1):

, (2)

,

where:

• `m` is the number of locations that are supplied by the DC.
• `α` is determined by the given DC service level unambiguously.
• `t` is the DC Order cycle value if the periodic strategy is used, or the DC lead time value in the case of the min/max replenishment strategy. The DC order cycle and DC lead time values are converted to the data aggregation periods before the calculation.

Safety Stock for Intermittent Model

Suppose `T` is the number of data aggregation periods in future for which Safety stock is calculated.

If `T ≤ 1`, then Safety stock is an estimation the following log-normal distribution:

, (3)

where:

• `Φ-1(·)` – the quantile of standard normal distribution;
• SL - a given Service level;
• – the deviation estimation of the log-normal distribution expressed in orders of magnitude. It is the Deviation parameter of intermettent model;
• – the median estimation of the log-normal distribution. It is the Median parameter of intermittent model.

You can also adjust the Deviation and Median parameters manually in the Model tab.

If `T > 1`, then the Safety stock is calculated in three steps:

1. Find the estimations and .
2. Correct the estimations in the following way:

,
,

where:

• `Pt` - the Transaction probability;
• `VarB(T - 1)` - the variance estimation of Binomial distribution.

3. Calculate Safety stock using the formula (3) using the corrected estimations.

When `T` is fractional, there is no binomial distribution, but a formula for variance exists.

Final Safety Stock

After Safety stock or DC safety stock has been calculated, Streamline refines it with one of the following ways:

• `Safety stock = MAX(Display qty, Safety stock)` (default)
• `Safety stock = Display qty + Safety stock`

If Display qty is not imported, it is zero. You can switch between these methods in the project settings.

Safety Stock Debts

To replenish inventory in the two-echelon-model, Streamline uses the safety stock debt approach. Consider an example shown in the figure below.

There are four locations in the figure – one is a DC that resides at the highest echelon and the other three locations are stores, residing at the lowest echelon. Three safety stock characteristics are calculated for each location:

• Passed – the safety stock debt passed to the upper echelon. It is the quantity that is required to restock in order to maintain the location's safety stock at the recommended level. It arises when the location's safety stock is consumed due to unpredictable demand fluctuations. This safety stock debt is calculated at the current echelon and is passed to the upper echelon meaning that it should be replenished from there.
• Received – the safety stock debt received from the lower echelon. It is calculated as the sum of the safety stock debts Passed from the lower echelon.
• Accumulated – the safety stock debt accumulated during the DC lead time. This debt is calculated as the sum of the Received debt and the total forecasted demand for the locations at the lower echelon during the DC lead time that current DC on hand can't cover. This amount is used to calculate an ordering plan for the DC.
It is obvious, that Debt received and Debt accumulated equal to zero for locations at the lowest echelon in the two-echelon model. Despite that Streamline computes Debt passed even at the highest echelon, this result has no impact on any other calculations used to produce DC replenishment outcomes. Streamline shows it just for display purposes.

Safety Stock Debt Passed

This debt is calculated for each planning item in the two-echelon model. Depending on the current on-hand level and demand during the lead time, safety stock debt passed may include:

• the current safety stock debt – how much the on-hand level fall below the safety stock threshold;
• the forecasted debt – how much the on-hand level will be cut down due to the demand forecast during the lead time.

Consider all the available cases.

• D(LT) – the demand of the planning item during the lead time.

If no constraints (Min lot, Max lot, and Rounding) are applied, the calculation of the Debt passed follows the logic:

If on-hand ≥ safety stock + D(LT),

Debt passed = 0.

If safety stock ≤ on-hand < safety stock + D(LT),

Debt passed = MIN(safety stock, D(LT) + safety stock - on-hand)

If on-hand < safety stock,

Debt passed = MIN(safety stock, D(LT) + safety stock - on-hand)

As you see, the formula for calculating Debt passed is the same in the last two cases. We duplicate it here to demonstrate all the three cases shown in the figures above.

As you see, Debt passed can't exceed the location's safety stock.

Safety Stock Debt Received

The formula for the Debt received is:

,

where:

• `N` – the number of locations at the lower echelon which are supplied from the DC;
• Debt passedi – safety stock debt passed from `i`-th location.

Safety Stock Debt Accumulated

The formula for the Debt accumulated is the following:

`Debt accumulated = MIN[MAX{0, Forecasted consumption - DC On hand} + Debt received, Max SS debt]`,

,

,

where:

• `Demandi(DC lead time)` – the `i`-th location forecasted demand during the DC lead time;
• `N` – the number of locations at the lower echelon;
• `Safety stocki` – the Safety stock for `i`-th location.

Safety Stock Debts in Streamline

To demonstrate safety stock debts in Streamline, we use the built-in example Two-echelon Inventory Planning. To view safety stock debts for locations at the lowest echelon, check the Safety stock debt option on the Inventory tab in the Settings dialog (see figures below).

As you see, locations which are replenished from DCs have empty columns Received and Accumulated. The Passed column indicates the Debt passed to the upper echelon.

To view safety stock debts for DCs, check the Safety stock debt option on the Distribution center tab in the Settings dialog (see figure below).

Distribution center tab now shows an additional section Safety stock debt (see figure below).

The Received, Accumulated, and Passed columns refer to the Debt received, Debt accumulated, and Debt passed accordingly. Gray color in the Passed column means that these data are not used for calculating the DC outcomes.

Configuring Safety Stock Calculation

Calculation methods for the Safety stock and DC safety stock are configured separately in Streamline.

To set up a calculation method for the Safety stock:

1. Go to the menu File > Settings > Inventory tab > Safety stock section (see figure below).
2. Select:
• the first option, to calculate Safety stock using the formula (1);
• the second option, to determine Safety stock as the demand sum of a given number of the future periods;
• both options, to compute Safety stock as the maximum from two options above.

To set up a calculation method for the DC safety stock:

1. Go to the menu File > Settings > Distribution center tab > Safety stock section (see figure below).
2. Select:
• the first option, if you need to calculate DC Safety stock using the formula (2);
• the second option, to determine DC Safety stock as the sum of demand of a given number of the future periods;
• both options, to compute DC Safety stock as the maximum from two options above.

As we mentioned, the Safety stock and DC safety stock are calculated based on the given Service level and Safety stock periods parameters. There are several ways to set these in Streamline. To learn more about them, refer to the Replenishment parameters configuration methods.