Let me try and explain to you through a mix of functional procedures and how SAP calculates the Safety Stock:
In normal materials management there are basically 2 basic inventory management systems, the P system and the Q system.
P system is a system wherein replenishment is done keeping the quantity constant. The period becomes the variant. In other words you fix the quantity you want the stock to dip, to trigger a requirement. As soon as the stock level is reached you replenish the stock. During a lean period the time taken to reach the level will be longer and during an active period the time taken to reach that stock could drop.This normally relates with your consumption based planning.
Q system is a system wherein replenishment is done keeping the period constant. The quantity becomes the variant. In other words you will check for the level of stock at fixed time intervals (daily, weekly, monthly etc.) compare it with the requirements on that day and trigger the procurement process for replenishment.This normally relates with your MRP.
Now there are 4 more factors that could affect the idealistic procurement pattern:
1. Ordering Lead-time.
2. Manufacuring Lead-time
3. Transporting Lead-time
4. Stock conversion Lead-time (or Quality Inspection lead time)
A delay in any or all of the above can have effect on the entire replenishment process and the stock. A buffer stock must be designed to take into account the above coverage. Again the determination of your safety stock depends on the accuracy of your forecast. Higher your accuracy, lower your safety stock. This relationship between forecast accuracy and service level
is denoted by factor R. This also takes into account that the customer demand cannot be always satisfied 100% of the time.
Hence what we have is:
R = Relationship between forecast accuracy and service level (Service Factor)
W = Delivery time (in days) / Forecast Period (in days)
MAD = Mean absolute deviation (parameter for forecast accuracy)
Now If replenishment lead time is greater than the forecast period by factor W then:
Safety Stock = R x Sq.rt. W x MAD
Else
Safety Stock = R x W x MAD
Now in SAP If the material is produced in-house, the delivery time is: opening period + in-house production time + goods receipt processing time. It is expressed in workdays. The forecast period is taken from the material master record and is also expressed in workdays.
If the material is procured externally, the delivery time is: Processing time for purchasing + planned delivery time + goods receipt processing time. It is expressed in calendar days. The forecast period is taken from the material master record and is also expressed in calendar days.
As a result of this you will have observed now that the safety stock must cover both the unplanned material excess consumption, as well as the additional requirements caused by delayed deliveries.
In SAP you can specify a minimum safety stock. If the result of the safety stock calulation by the system is lower than this limit, the safety stock is automatically set to this value. You enter the minimum safety stock in the material master record (MRP 2 screen).
Safety Stock:
In IMG -> Materials Management -> consumption Based Planning -> Master Data -> Check MRP Types (transaction code OMDQ) you use the indicator Calculate Safety Stock so that system calculates the safety stock automatically.
The safety stock can be calculated automatically for materials planned with one of the consumption-based planning procedures if:
1. The service level has been maintained in the material master record.
2. Historical data exists
3. The forecast has been carried out for the material.
Dynamic Safety Stock:
If the option Define Range of coverage profiles is chosen in IMG (Tr.Code OM1A) you can determine a safety stock level that takes into account:
1. Requirements.
2. Range of coverage
The limiting factors to the above are:
1. Maximum and minimum range of coverage ( defined period , that is month, week or PPC planning calendar)
2. Determination of various periods for the validity of the range of coverage.
The system uses the formula:
Dynamic safety stock = average daily requirements (ADR) x Range of coverage
ADR = Requirements in the specific period / number of days in the total period length (defined period x standard days)
Please note here that if you carry out the planning run even in the middle of the month the system will include even the requirements planned at the beginning of the month.
Please also note that you can determine the range of coverage for a maximum of 3 periods.
1. Range of Coverage in the First Period
2. Range of Coverage in the second period
3. Range of coverage on the rest of the horizon
However you have the option of maintaining different coverage for each of these periods.
Based on your customization the system determines the number of days used for calculating your average daily requirement
Minimum Stock Level (mSL) = ADR x minimum range of coverage
Target Stock Level (Dynamic Safety Stock this is DSL) = ADR x Target range of coverage.
Maximum Stock Level (MSL) = ADR x maximum range of coverage.
Having confirmed the above, I will now try and explain through an example how the system calculates the Dynamic safety stock:
Presume that the system has determined the ADR as 25 Kgs for a material.
You have set the following in customizing:
Minimum Range of coverage = 2 days
Target Range of coverage = 6 days
Maximum Range of coverage = 10 days
Now the System determines the following;
mSL = 2*25 = 50 KGs
DSL = 6*25 = 150 KGs
MSL = 10*25 = 250 KGs
This is what happens for various levels of stock
Case 1:
Stock = 45 Kgs
System Activity = DSL - stock
Procurement Proposal = 105 Kgs
Case 2:
Stock = 60 Kgs
System Activity = DSL - stock
Procurement Proposal = 90 Kgs
Case 3:
Stock = 155 Kgs
System Activity = none
Procurement Proposal = none
Case 4:
Stock = 255 Kgs
System Activity = System checks whether the procurement proposal is firmed and if yes it displays an exception message.
Also note that in the case of Time Phased materials planning The range of coverage is calculated differently.