This article is not a troubleshooting guide or deep-dive into how Safety Stock is calculated in IBP for Inventory. It's purpose is to point out some basic things to check if the results at first don't make sense.
The information here is to help you eliminate any data problems or misunderstanding of inputs to the single-stage or multi-stage inventory optimization operators that could lead to calculated Safety Stock values that aren't intuitive.
TARGETSERVICELEVEL attribute as Key Figure and SERVICELEVELTYPE attribute
First thing to look at is the value loaded into the TARGETSERVICELEVEL attribute as Key Figure in your Demand Stream data (SOURCECUSTGROUP). The value loaded is a percentage and should therefore be between 0 and 1 (it can be equal to 1). If you load anything higher than 1, like 97.5 instead of .975, it will be changed to 1 for the purpose of calculating safety stock.
Secondly, the value of SERVICELEVELTYPE affects the value stored in TARGETSERVICELEVEL. If the SERVICELEVELTYPE is set to 'F', this is equal to 'Fill Rate'. The Inventory code converts the value of TARGETSERVICELEVEL entered to non-stockout probability and uses it in the safety stock calculation. If the value is 'A', this is equal to 'Non-stockout Probability', or otherwise known as 'Available In Full'. The Inventory code treats the value of TARGETSERVICELEVEL as the value of non-stockout probability - there is no conversion needed. In both cases, the key figure AVAILABLEINFULL stores the value used in the calculation.
To summarize, if SERVICELEVELTYPE = 'F', the value is converted to available in full. If SERVICELEVELTYPE = 'A', no conversion is made.
The following formula can be used to give you an estimate of safety stock (the Demand Variability component of SS). Note: this equation only applies to a single-stage supply chain that only contains Demand Variability (i.e. no lead times, etc) and with normal distribution. Note: IBP for Inventory can use gamma or normal distribution. This is an attribute (DISTRIBUTIONTYPE) in the LOCATIONPRODUCT master data.
Z(TARGETSERVICELEVEL*) x (forecast x CV) x SQRT(LT+PBR) = Z(AVAILABLEINFULL output keyfigure) x (IOFORECAST x IOFORECASTCV) x SQRT(LT + PBR)
TARGETSERVICELEVEL* = the actual value used depends on value of SERVICELEVELTYPE.
Remember that SERVICELEVELTYPE is stored at LOCATIONPRODUCT, so it doesn't have to be the same value for every location/product.
If you are looking at a node that has internal demand along with customer demand, you can estimate the calculation this way:
Z(AVERAGESERVICELEVEL) x (PROPAGATEDDEMANDMEANSTDDEV) x SQRT(LT + PBR)
The Effect of Lot (Batch) Size on Safety Stock
After running the multi-stage Inventory Optimization operator and the calculated Safety Stock is 0, and you've verified that the TARGETSERVICELEVEL in the Demand Stream data is populated correctly, consider if minimum and/or incremental lot sizes are > 0 for that product/location. As lot sizes increase, the need for safety stock decreases. This is because the excess inventory provided by the lot size can be used to cover safety stock. For example, if you have demand at a node of 500 units and the production minimum lot size into that node is 15,000, there is no need for safety stock to be calculated separately because the excess inventory of 14,500 units will cover any need for safety stock.
A new key figure was introduced in IBP 1611 called Zero Lot Size Additional Safety Stock (SAFETYSTOCKLOTSIZE). It represents the increase in safety stock that would result if the lot size was reduced to 0 from its current value. If lot size is currently 0, then this key figure would have a value of 0. If your planning area does not have this key figure, you can create it based on the key figure in the SAP3 Sample Planning Area.
The lot size key figures are listed below along with their ID and base planning level.
|Key Figure Name||Key Figure ID||Base Planning Level|
|Production Minimum Lot Size||PMINLOTSIZE||WKPRODLOCSRC|
|Production Incremental Lot Size||PINCLOTSIZE||WKPRODLOCSRC|
|Transportation Minimum Lot Size||TMINLOTSIZE||WKPRODLOCLOCFR|
|Transportation Incremental Lot Size||TINCLOTSIZE||WKPRODLOCLOCFR|
In summary, check for the presence of Production or Transportation Minimum Lot Size into the node where the calculated value of Recommended Safety Stock is 0.
Keywords: IBP-INV, INV, IO, incorrect safety stock, batch, lot
The following are some links to related information in the SAP Help portal.
Inventory Optimization Planning Operators (including inputs and outputs)