Sunday, November 9, 2014

SAP's safety stock does NOT buffer demand fluctuations during the planning process !

Does the headline in this blog confuse you? Sorry, that is nit my intention. I just want to point out a not-so-well-known fact.

When you set a safety stock level in the MRP2 screen of the material master it is subtracted from available inventory in the MD04 stock / requirements list. Therefore the MRP run ignores that part of the inventory. Imagine the following situation: There is a forecast of 50 pieces for next month and you have maintained a safety stock of 30 pieces. The system will plan to have an inventory of 80 pieces in stock at the beginning of next month. As we are approaching the next month and actual customer orders drop in, the forecast is replaced by actual orders. Should the actual order exceed the forecast - lets say that customers demand 60 pieces instead of 50 - the MRP run will generate a new replenishment proposal for an extra 10 (instead of using the safety stock) and you end up with 90 pieces in inventory, even though you only need 60.

This type of behavior creates dead stock and misses the purpose of using a safety stock as a buffering strategy. The situation worsens if you have a rounding value or a fixed lot size.

So what can you do? Use a range of coverage profile that drives a dynamic safety stock if the situation allows for it. In a range of coverage profile you have a target safety coverage and a minimum safety coverage (in days of coverage). The MRP run can 'see' the safety levels and ONLY generates a replenishment order when the minimum safety coverage is broken. Therefore you have to make sure that the minimum safety coverage is set to 1 day and the target is higher. In that case the MRP planning run uses all the days in the target coverage as a buffer to counter demand variability.

By the way... the range of coverage also has a maximum safety coverage to keep the inventory from blowing up, should the forecast be too high.