Matt a colleague was working on setting up safety stock journals and shared some notes which I think others can benefit from if you are trying to understand how the safety stock journals calculate.
Safety Stock Journals
Being able to analyze historical demand set across a specified date range and effectively introducing the purchase lead time into that equation can often be considered your entry point into effective inventory management.
Microsoft Dynamics AX 2012 R3 provides the capability of managing such process through the “Safety Stock Journal”. The calculation is made up of two distinct formulas which can be setup to run and update your minimum inventory level.
· The use of the Average Issue of inventory per the lead time specified
· Based upon a pre-defined service level where by you nominate your preferred % in that calculation
Once method is determined the calculation proposal allows you to set the new minimum per site per warehouse against the item which therefore becomes your new safety stock setting. Additionally you can manually override these calculated figures if necessary.
Understanding the calculation
1. For this example, I have created a new inventory item and I have called it Safety Stock. I have simply used the default settings for storage and tracking dimension groups – stocked the item in each’s and set item coverage for site 1 warehouse 11 as requirement.
2. You must have “Issue” transactions for the period you are planning on running the safety stock journal for. A review of this example above analyzes the inventory transactions – note below transactions for October, November and December only for this item.
3. Purchase Lead time plays an important factor in the calculation of safety stock, so in this example, I have set the lead time to 5 days
4. To process the safety stock journal, navigate to master planning – journals – safety stock journal and create a new journal header – then select lines. Once in the journal, you can select Journal from the options and select create lines. The below example shows that I am looking for issue transactions over a 3 month period – from October 1st until December 2014 (Note I have selected these dates simply because of demo data – generally speaking you will select the most recent history
You will also notice that I am doing this only on 1 item so as to explain the calculation. Select OK and analyze the results.
5. By reviewing the statistics you can see that the average issues per month are 5. It calculated this from summing the issue transactions against the item for the nominated period specified. It has also calculated out the average issue per lead time. As our lead time is also 5, it has taken the standard 30 day month (note that is a predefined setting in the code) and it has divided that by the lead time within the month. 5 / 6 = .83
6. Let’s now perform the calculation proposal to determine what our safety stock minimum setting should be on this item going forward for master planning to create planned purchase orders. To do this, select journal lines from the menu, and select create proposal. In the create proposal screen you have the option to use both settings, Average issue during lead time, or use service level. We will select Av issue during lead time. Note you also have the ability to set a multiplier which can be used as a safety net. And you can also add an Admin lead time over and above the standard 5 days if you require. Note ours set to 0.00. Now select OK
7. Review the output of the proposal
The proposal it has calculated as the proposed minimum has been calculated as 1. It does this via the following calculation
Ave. issue per lead time in days (5 / 30 = .167) x factor used for multiplying (1 in the example). The output here is described that we need at least 1 item minimum in inventory as a safety stock to carry through the lead time period.
Using Service Level calculation
In order to use the service level, you firstly need to make sure you calculate out the standard deviation. To calculate out the standard deviation on the data set in our example follow these steps manually
Oct – 100
Nov – 0
Dec – 0
The above represents the data and the mean of that data is 33.33.
Now subtract the mean from the original data
100 – 33.33 = 66.67
0 – 33.33 = 33.33
0 – 33.33 = 33.33
Now square the answers
66.67 squared = 4444.8889
33.33 squared = 1110.8889
33.33 squared = 1110.8889
The sum of that is 6666.6667 / by the quantity 3 = 2222.2222 now find the square root of that number and you should arrive at 47.14
In order to understand the service levels you need to see the hard coded safety factors – these are in the code and are considered standard factors associated with % service levels.
|Service Level (%)||Safety factor|
The calculation is Safety factor (see service level percentages) x monthly std. deviation x the square root of lead time / 30.
3 x 47.14 x 0.408289113 = 57.5687649 rounded up 58.00
Very informative article you have written. I am using the average during lead time, when I calculate new proposals, but I get does not get a rounded number as you do (0.83 –> 1.00). Did you make any special settings to get this rounded number?
Best regards, Thomas Wagner, Denmark