This article provides an overview of inventory management simulation and its use for testing algorithms.
If you want to use a particular algorithm for demand forecasting or reordering then it is desirable to simulate the effects first in order to avoid unpleasant surprises.
A useful starting point is to use a spreadsheet to gain a qualitative insight into the behaviour of the algorithms to be used. I intend to provide a spreadsheet for this purpose when I write articles on specific forecasting and reordering techniques. You can enter the demand history for an item into the spreadsheet to see the effects of an algorithm in relation to that item. It is helpful for the spreadsheet to contain graphs showing demand forecasts and inventory levels. I suggest that the spreadsheet be used for a number of items including both fast and infrequently moving ones. You might also like to try hypothetical demand histories to see how the algorithm would behave with particular types of demand patterns. A variety of different values of the algorithm parameters should be tried. What I have described so far is reasonably easy to do in a spreadsheet. However, taking variability of lead times into account in a spreadsheet is relatively difficult.
Ideally, the algorithm should be tested on your entire inventory. The computer program to be used for this purpose should provide the average overall inventory value and the overall service level for the new algorithm. It should also be used to ascertain the effects of continuing to use the current algorithm. The necessary programming is quite involved and would require a substantial amount of work. Also, the program would need to be modified for every algorithm to be tested. I might do such programming for some algorithms when time permits. After running the program, you should compare
the computer predicted overall average service level and average total inventory value if the new algorithm and its proposed parameters are used,
ditto for the current algorithm and its parameters and
the current actual overall service level and total inventory value.
The need for the above-mentioned programming can be avoided by means of stratified sampling. I suggest that the stratified samples consist of the items at the top of Category A (the items with the highest annual sales values) and a random sample of each of the following:
the remaining Category A items.
Category B and
Extrapolation from the stratified sample will give an indication of the overall effects. If you would like me to produce an online calculator to carry out the extrapolation, please leave a comment to that effect. The stratified sample can be analysed using either the above-mentiored spreadsheet or Monte Carlo simulation (described below). If the spreadsheet is used then it will need to show the service level and final or average inventory level for the item concerned. Using a spreadsheet for these purposes will produce highly inaccurate service level predictions for individual items. However, application to the stratified sample will, to a large extent, smooth out the effects of those inaccuracies. If the spreadsheet is used then there would still probably be the problem of variation in lead times not being taken into account.
Monte Carlo simulation of inventory management involves
development of a statistical model for customer demands,
development of a statistical model for lead times,
random sampling from the statistical distributions and
use of those random samples by the computer to estimate the effects of forecasting and reordering algorithms and their parameters.
Monte Carlo simulation is particularly useful in relation to inventory management scenarios which are not adequately catered for by existing inventory management theory. That includes most real life inventory management! For example, lead time demand is usually assumed to have a normal distribution. That is highly inappropriate for infrequently moving items. If the reorder review period is not small in comparison with the lead time then inventory management theory becomes complicated. Also, setting of safety stocks is usually done on the basis of a target probability of not encountering a shortage during a particular order cycle. This often differs greatly from what most people consider “service level” to mean, i.e. the percentage of customer demand which is satisfied immediately. As a result of these problems, highly inaccurate approximations tend to be used in practice.
Use of Monte Carlo simulation rather than a spreadsheet with the above-mentioned stratified sample avoids the need to enter demand histories. Also, it is easier to cater for variable lead times than would be the case with a spreadsheet.
I am currently developing an online Monte Carlo inventory management simulator and I expect it to be available for use fairly soon.
Parts of this article will be dealt with in greater detail in subsequent articles.
If you need help with application of the techniques mentioned in this article, please feel free to contact me.