# User Guide

**1. Streamline Client**

**2.Streamline Server**

**3. Starting Up**

**4. Connecting data**

**5. Demand and Sales Forecasting**

**6. Inventory Planning**

**7. Reference**

**1. Streamline Client**

**2.Streamline Server**

**3. Starting Up**

**4. Connecting data**

**5. Demand and Sales Forecasting**

**6. Inventory Planning**

**7. Reference**

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:

- the next
**Order cycle**if the periodic strategy is used; or - the
**Lead time**if the min/max approach is used.

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 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 the unbiased standard deviation of the model for the planning item with_{i}*i*-th location for the learning set.

`α`

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.

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:

`Φ`

– the quantile of standard normal distribution;^{-1}(·)

- 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:

`P`

- the_{t}**Transaction probability**;`Var`

- the variance estimation of Binomial distribution._{B(T - 1)}

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.

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.

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.

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.

The formula for the *Debt received* is:

,

where:

`N`

– the number of locations at the lower echelon which are supplied from the DC;*Debt passed*– safety stock debt passed from_{i}`i`

-th location.

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:

`Demand`

– the_{i}(DC lead time)`i`

-th location forecasted demand during the**DC lead time**;

`N`

– the number of locations at the lower echelon;

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.

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**:

- Go to the menu
**File**>**Settings**>**Inventory**tab >**Safety stock**section (see figure below). - 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**:

- Go to the menu
**File**>**Settings**>**Distribution center**tab >**Safety stock**section (see figure below). - 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.

safety-stock-calculation.txt · Last modified: 2022/06/08 18:18 by admin