What is Safety Stock?
Safety stock is kind of like insurance. It is the additional inventory that you carry to protect yourself against running out of stock. In my experience, there are three primary reasons for running out of inventory.
- Demand that is higher than anticipated.
- Interruption in the supply chain (e.g. late delivery from vendor)
- Bad inventory counts.
Bad inventory counts are a whole other issue altogether. If this is your issue, safety stock is not the answer. Rigorous cycle counting and better inventory control is the correct medicine for that problem.
On the other hand, variable supply and demand spikes are exactly what safety stock is supposed to protect you and your customers from. Customers rarely, if ever, buy exactly what they are supposed to all of the time. If yours do, consider yourself lucky, you have hit the inventory management lottery. Likewise, vendors sometimes have variable deliveries. Despite every company’s best efforts, there will be times when shipments do not arrive in time and cause you to run out of stock.
Volumes can and have been written about how to determine the correct amount of safety stock for an item. Personally, I like Jon Schreibfeder’s method of calculating safety stock based on average forecast deviation. This is a very good fine tuning method, but alas, most forecasting systems are not set up to handle it this way. If you want to so something like this, you would have to set the safety stock to days, and then use SQL to calculate your true safety stock, then convert it back to an equivalent number of days. It’s really not as bad as it sounds!
How Do You Change Prophet 21 Safety Stock for an Item?
Safety stock is set on the Replenishment Tab in Item Maintenance. Safety stock setting for an item are set on a per location basis. This means you can have a different safety stock setting for each location in Prophet 21.
To be clear, safety stock only applies to items that are set up as Up To or EOQ. It does not apply to Min/Max or Order Point/Order Quantity methods of replenishment since those are fixed methods. Any items with a safety stock setting which are not EOQ or Up To will be ignored.
To update the safety stock setting for an item, select the safety stock calculation method from the drop down list and, if you selected days or service level, you will also need to set the number of days or the service level goal, respectively. Each of the three methods are explained in detail below.
What are the Different Types of Safety Stock?
This method adjusts the safety stock based on the item’s ABC class. These classes are defined in the `ABC Class Maintenance` window in Prophet 21. You can set up the safety stock on an ABC class by supplier, a fixed number of days of usage, or by service level.
Select the desired method, and if you chose days or service level, input the setting that corresponds to your chosen method.
When you set safety stock as a fixed number of days, either on the item or the ABC class, you are choosing a number of days of usage. The usage is based on the average period usage. Since a period is 1 month, if your average period usage is 100 units, setting the safety stock to 30 days would have the effect of putting 100 units of safety stock into the purchase calculation.
This method establishes a customer service level goal, expressed as a percentage, and adjusts the safety stock on the fly to meet that goal. The adjustments are made based on 2 factors:
- MAPE: This is the mean average percentage error. This is a statistical method used to determine the accuracy of a forecast. This is a well-known method, but it has some flaws. First, it cannot be used if there is a zero value, it will cause an undefined value due to division by zero. Epicor may have attempted to correct for this in some way, but then it wouldn’t be a pure MAPE calculation. Second, when the forecast is too low, the MAPE cannot exceed 100, but when the forecast is too high, there is no maximum value. This means it is a biased formula.
- Standard Deviation: This is effectively a multiplier based on a conversion table that correlates the value of the desired service level. For example, a 95% service level corresponds to a standard deviation value of 1.64. Mathematically, this assumes a normal distribution of values. You can see the full table at http://www.inventoryops.com/safety_stock.htm
This formula used by Prophet 21 seems to give odd results. In the example above, the item history shows that the average shortfall for a single period on the forecast when it was less than actual usage was 8,500 units. This service level calculation is suggesting 4 days of safety stock, or 1,262 units. This seems low for an item with 6 month average forecast error of 138%.
Hopefully this sheds some light on the safety stock settings in Prophet 21. Based on my experience, I usually stick with a days of safety stock. I set this either on the ABC class, or directly on the item itself when needed. Should you choose to use customer service level, I highly recommend that you monitor the results closely to make sure you are OK with the outcomes.
Need more Prophet 21 info? Read more in our knowledge base!