You are on page 1of 18

5.

Discrete Event Simulation of Inventory Processes

Many inventory processes are difficult or impossible to model


mathematically and statistically without the use of a computer. Discrete
event simulation is an easy way to model these inventory processes.
Discrete event simulation is an academic discipline per se with a lot of
depth and breadth, and many different software packages can be used to
implement discrete event simulation. In this chapter we do not go in depth
on the theory and intricacies of discrete event simulation nor the software
packages to implement them. Rather, we explain how to set up a discrete
event simulation of an inventory process in Microsoft Excel1 and explain
how modify it, analyze it, and interpret the results. Discrete event
simulation not only allows for the modeling of complex inventory
replenishment processes, but it also allows you to incorporate uncertainty
into the demand, lead time, and other areas where uncertainty exists. You
can also explicitly model process execution errors. Finally, such a discrete
event simulation allows you to estimate the performance of the inventory
replenishment process if parameters are changed, if execution is improved,
or even if the process is changed.
The purpose of this chapter is to empower you to be able to use discrete
event simulation in Excel to model inventory processes. It is a powerful tool
and is easily accessible in Excel. You learn to create either a full-fledged
discrete event simulation model, or at the very least a prototype. When
working with discrete event simulation experts, being able to create a
prototype makes it more likely that you will be able to more fully
communicate the process you want to have modeled, the types of decisions
you want to make, and the performance metrics and how they should be
calculated. Many times there is a gap between what a manager wants
modeled and what he eventually receives from an expert in discrete event
simulation. What you learn in this chapter should help you close that gap. A
side benefit is that you will become much more aware of the intricacies of
the inventory process you are attempting to model.

UNDERSTAND THE INVENTORY


REPLENISHMENT PROCESS
Before you begin the discrete event simulation modeling process, make sure
you clearly understand why you are modeling the process. Who are the
customers of the output of the modeling and analysis? What will occur if
you succeed and have a clear model with decisive output? How will the
results be presented? How much understanding do the customers have of
inventory processes, inventory theory, and discrete event simulation?
Within discrete event simulations of inventory processes you must clearly
understand how the process actually works to model it. So, the first step is
documentation of the inventory process. Here is a list of questions to
answer:
 When can orders be placed?
 At what points in time?
 How often?
 At what inventory levels?
 How much can be ordered?
 Is there a maximum amount that can be ordered?
 Is there a minimum amount that must be ordered?
 Is there a fixed order quantity?
 Are multiples of the fixed order quantity permitted?
 Is there an order up to level?
 If the order up to level is not possible to be reached in the order
increments, is the order quantity rounded up or what rule is used?
 Are orders based on a unit quantity or a dollar volume?
 What are the time increments?
 Days? Weeks? Months?
 Are all products on the same time increments?
 Can the time increments be overridden?
 What is the lead time?
 Is there one supplier?
 If there are multiple suppliers, are the lead times the same?
 What is the variability of the lead time?
 What is the historical minimum and maximum of the lead time?
 Is there a good source of data for the lead time?
 Are lead times the same throughout the year or do they vary over the
year?
 Is it possible to expedite orders?
 What are the components of lead time?
 What is the longest portion of lead time?
 Which element of lead time is most uncertain?
 What is transit time?
 What is demand?
 Is there data on previous sales?
 Is there information on when there were stockouts?
 Is the sales data clean or does it need to be cleaned?
 What is the empirical distribution of demand?
 Which theoretical probability distribution best represents the actual
distribution of demand?
 What types of forecasting methods are used?
 Are time series methods used?
 What is the number of periods in the moving average models?
 What are the smoothing constants?
 What has been the MAD, MAPE, bias, and standard deviation of forecast
error?
 Are there any constraints on inventory?
 Are there space limitations?
 Are there inventory investment limitations?
 What are the performance metrics?
 How is on time delivery measured?
 How is fill rate measured?
 How is in stock measured?
 How is inventory measured?
 How can system generated orders be overridden?
 Who can override orders?
 How are decisions made to override orders?
 What are inventory costs?
 What are the elements of inventory costs?
 How are they monitored?
 What are the fixed ordering costs?
 What are the variable ordering costs?
 Are there quantity discounts?
 How are the quantity discounts achieved?
 What are the processes for receiving the quantity discounts?
 What is the accuracy of inventory position?
 When does inventory position lose accuracy in the inventory
replenishment process?
 How often is inventory position inaccurate?
 How often are physical inventories taken?
 What is the unit cost?
 What is the transportation cost?
 What mode of transportation is used and which carriers are used?
 What is the product commodity classification of the product?
 What is the weight and volume of the product?
 Where and when do execution problems occur in the inventory process?
 Do products always get put away when they are received?
 When do problems occur with put away?
 Are products mis-picked? What percentage of the time?
 Are products mis-shipped? What percentage of the time?
 Is product damaged?
 How often is product damaged?
 When is it damaged?
 At what point in the inventory replenishment process is inventory
damaged?
This is actually a small sample of the questions that should be asked. Every
situation has idiosyncrasies that we cannot anticipate, but attempting to
answer these questions will help you make progress. It is important to
carefully document the process and to dig deep with questions. Make sure
you understand the answers and question the answers. It is also a good idea
to document the process with a flow chart and then review your
documentation and flow chart with experts and with those you interviewed
to understand the process. At this point you will probably discover a
number of errors and misunderstandings. You many also uncover new
decision processes and constraints in the inventory replenishment process.
Getting perspectives from multiple people and from multiple functional
areas is also helpful. Keeping a laboratory notebook facilitates the
documentation process. You should note the day, who you interviewed, and
take copious notes. After meetings with key informants, it is recommended
to summarize the discussion with the key informant. This also helps to
identify misunderstandings from the interview. After leaving the meeting
with the key informant, you should also summarize the meeting in your
notes. Write out any questions that come up.

RANDOMNESS IN DEMAND
To simulate randomness we use a random number generator and the
inverse of a cumulative probability distribution. Suppose you have a
spinner with three numbers on it, 0, 1, and 2, and suppose that 90 percent
of the area of the spinner is for the number 0, 7 percent is for the number 1,
and 3 percent for the number 2. Then the cumulative probability
distribution for this spinner is 0 has a 0.9 probability, 0 to 1 has a 0.97
probability, and 0, 1, or 2 has a 1.0 probability. The inverse of this
cumulative probability distribution takes a number between 0 and 1 and
maps it to the outcomes of the event. For example, 0.99 would be mapped
to 2; 0.92 would be mapped to 1; and 0.333 would be mapped to 0. In
general, it would map any number between 0 and 0.9 to 0, any number
between 0.90 and 0.97 to 1, and any number between 0.97 and 1 as 2. In
Excel you can generate random numbers between 0 and 1 using the
function =RAND(). If you put =RAND() in a cell you get a number between
0 and 1, and if you press CONTROL + F9, it gives you a different random
number. So, we could use these random numbers and the inverse of the
cumulative distribution of the spinner that was just described to simulate
spinning the spinner. For example, suppose we used =RAND() and it
returned a 0.453. Then the inverse of the cumulative distribution of the
spinner would return a 0.

Empirical Distributions of Demand and Lead Time


One easy way to represent the probability distribution of demand within
discrete event simulation is with an empirical distribution. Suppose you are
simulating demand per day and based on history you find that 10 percent of
the time you sell zero units, 30 percent of the time you sell one unit, 40
percent two units, and 20 percent three units. You have never sold more
than four units, but there is always plenty of inventory on hand. From this,
you would want to create Table 5-1 in Excel.
Table 5-1 Empirical Demand Distribution

The middle column in Table 5-1 is the number of units demand per day and
the last column is the probability of selling that many units in a given day.
The last column in Table 5-1 is what we are referring to as the cumulative
probability. Technically, in probability theory we would say that the
cumulative probability of selling zero units is 0.1, but here we have a zero in
that column. This is due to an idiosyncrasy of Excel in terms of how it reads
tables, as we see later in the chapter. In effect, the Cum Prob column is
shifted down one cell from what you would expect.
We would use this distribution in Excel with a random number generator
from 0 to 1, and then, based on the random number generated in Excel, we
would look at the cumulative probability column to pick out how many
units sold for that simulated day.
We can simulate a number from 0 to 1 in Excel using the function
=RAND(). Suppose we use that function and it returns a 0.15, then the
simulated number of units sold will be one unit for that day because 0.15
lies between 0.1 and 0.4, for a total of a 0.3 probability. If =RAND()
returned 0.05, then the simulated number of units sold for that day would
be zero units. In the cell where we want to simulate demand, we would use
the function =VLOOKUP(RAND(),TABLE RANGE, COLUMN NUMBER
OF UNITS OF DEMAND, COLUMN NUMBER TO LOOK UP THE
RANDOM NUMBER THAT WAS GENERATED). In this case, suppose the
cumulative probability of zero is in Cell A5. Then we would use
=VLOOKUP(RAND(),A5:C8,2,1). We could then create a column of
demand simply by copying =VLOOKUP(RAND(),$A$5:$C$8,2,1) in as
many cells as we want. Notice the “$” sign before the column and row
designations in the formula. This keeps them from changing when you copy
them to different cells.
Table 5-2 is an example of a discrete event simulation according to the
distribution in Table 5-1.

Table 5-2 Quantity Demanded

We look at other distributions of demand including the Poisson, truncated-


discretized normal, and discretized gamma later in the chapter. Now we
briefly examine the discrete event simulation of lead time.
Just as you can create an empirical distribution of demand, you can also
create an empirical distribution of lead time. You simply keep track of the
length of lead times for each order and create a table similar to Table 5-3.

Table 5-3 Empirical Lead Time Distribution


Table 5-3 shows that 80 percent of the time lead time was two days but 20
percent of the time it was either a day longer or shorter. The approach to
using this table to simulate the lead time is the same as in Table 5-2 for
discrete event simulation of the demand from the empirical distribution of
demand.Table 5-4 is an example of a discrete event simulation of lead time
based on Table 5-3.

Table 5-4 Lead Time

INVENTORY SIMULATION IN EXCEL


Now let’s consider discrete event simulation of an inventory system in
Excel. We simulate on a daily basis, where the replenishment system
reviews every day and if the inventory position is at or below the reorder
point, it orders a fixed order quantity Q. This system does not allow for
back-ordering; all stockouts result in lost sales. Table 5-5 is a basic layout of
the Excel spreadsheet we use to simulate an inventory replenishment
system.
Table 5-5 Discrete Event Simulation of Inventory System

Beginning and Ending Inventory


Table 5-5 shows a couple of weeks of the discrete event simulation of an
inventory replenishment system. The second column, Beginning Inventory,
is simply the Ending Inventory from the previous day. Notice that the sixth
column is Ending Inventory. Although Beginning Inventory is Ending
Inventory of the previous day, it cannot be for the first day, so you have to
start with some number. In this case, we started beginning inventory with
the order quantity. The third column is Replen Received, which we have
initialized as zero for the first day. In that column the formula is
=COUNTIF($J$8:J13,A14)*Q. This counts the number of cells in the range
J8:J13 (which is the column titled Day Order Arrives) that are the same as
the number in the Day column. When the formula is at Day 6 in the Replen
Received column, there are no numbers in the Day Order Arrives column
that are equal to 6 so it counts zero cells. But the next cell down, when the
formula is at Day 7 in the Replen Received column, there is only one cell
that is equal to 7, so it counts 1. This is then multiplied by Q, the order
quantity. The order quantity is 10, so it shows that 10 units were received.
Quantity Demanded is the fourth column. We have already discussed how
to use a table based on an empirical distribution. We could instead use a
theoretical distribution, such as the Poisson, to create a table similar to that
of the empirical distribution, and use a similar method to simulate
demand. Table 5-6 is an example of a demand schedule according to a
Poisson distribution with a mean of two units per day. For a Poisson
distribution, the mean is equal to the variance.

Table 5-6 Poisson Demand

Poisson Distribution of Demand


Table 5-6 is set up just like Table 5-1, so it can be used for discrete event
simulation of demand in the same way it was done for the empirical
distribution. In the Probability column of Table 5-6 you can use the
function =POISSON.DIST(UNITS OF DEMAND, MEAN, FALSE). The last
argument in the function, FALSE, designates the probability mass function
as opposed to the cumulative distribution function. If you want to use a
truncated2 discretized3 normal distribution, you do not need a table; you can
simply insert the following inside the Quantity Demanded column:
=ROUND(MAX(NORMINV(RAND(), MEAN, STANDARD
DEVIATION),0),0)
The MAX(X,0) ensures we do not get negative numbers, and ROUND(X,0)
ensures that we get integers.

Gamma Distribution of Demand


Similarly, we can use a gamma distribution, which does not need to be
truncated because it starts at zero, whereas the normal distribution goes
from negative infinity to positive infinity.
As mentioned before, there are two parameters you need for the gamma
distribution, alpha α and beta β. The following equations allow you to use
the inverse of the gamma distribution in Excel.

In the Quantity Demanded column you can use the Excel function
=ROUND(GAMMAINV(RAND(),ALPHA,BETA),0)

Demand Versus Sales


Referring back to Table 5-5, the fifth column is Sales. In some cases, we
don’t have enough inventory to meet the quantity demanded. If you look at
Day 9, you see that the beginning inventory was 2, no inventory was
received (Replen Received column), but the Quantity Demanded column
was 3. So the amount sold (Sales column) is the minimum of Beginning
Inventory plus Replen Received and Quantity Demanded. The formula to
use in the Sales column is
=MIN(Beginning Inventory + Replen Received, Quantity Demanded)
Ending Inventory is the sixth column. This is simply Beginning Inventory +
Replen Received – Sales. Inventory Position is the seventh column, which is
on hand plus on order. To calculate it in Excel, take the previous inventory
position, subtract sales for the current period, and add in what is on order
from the previous period. To do that use IF(Order Placed Previous Period =
1, Q, 0). This function is indicating that if an order was placed in the
previous period, then return Q; otherwise 0. This is added to inventory
from the previous period, and sales from the current period are subtracted.
In other words, it is the inventory position at the end of the period. That is
an artifact of how this spreadsheet is constructed, namely, the review is
conducted at the end of the day to determine whether an order should be
placed. Order Placed is the eighth column. This is an “IF” statement,
comparing inventory position with the reorder point ROP. If inventory
position is less than ROP, it returns a 1 indicating an order was placed, and
0 otherwise. If you want to set up the discrete event simulation so that
orders can only be placed, say, once per week, or do not want to order on
certain days, just enter zeros in the Order Placed column for those days.

Lead Time and Orders


Lead Time is the ninth column, and we have already discussed how to
simulate lead time. Now, if you want lead time to be deterministic, you can
just enter the fixed number of days of lead time in the Lead Time column.
Day Order Arrives is the tenth column and can be calculated as =IF(Lead
Time ="","",Current Day Number+1+Lead Time). This is saying that if the
entry in the Lead Time cell is nothing (nothing is ""), then return nothing;
otherwise, return the sum of the current day, plus one, plus the lead time.
One more note about how lead time is modeled here: Orders are placed at
the end of the day. If the lead time is one day and deterministic, then if an
order is placed at the end of Day n, it is received at the beginning of Day 2.
So, although a stockout cannot occur during that time interval, you still
have a one day protection period as a result of the one day review interval.
So, setting it up like this allows you to keep track of the number of days of
the protection period. One caveat is based on what we discussed earlier: the
option of setting up the discrete event simulation so that the review interval
is longer than a day. If you were to do that, you would need to account for
the additional protection interval in setting safety stock.

Inventory Measurement
Average Inventory is the next column and is calculated by summing the
beginning and ending inventory and dividing by 2. The eleventh column
may seem esoteric to some degree and is labeled (min I/C) SS. The part in
parentheses “min I/C” means minimum of inventory per replenishment
cycle and “SS” means safety stock. This column allows for the calculation of
historical safety stock, as discussed in Chapter 2, “Inventory Management
Fundamentals.” The formula in Excel is
=IF(Beginning Inventory this Period > Beginning Inventory Last Period,
Beginning Inventory Last Period,"")
In this discrete event simulation, replenishments are received at the
beginning of the period, so, the minimum on hand inventory in a
replenishment cycle is the beginning inventory.
The final column in the spreadsheet is Max I/C, which means the maximum
inventory per cycle. For a pure continuous review (Q,ROP) inventory
replenishment process the expected max I/C is safety stock plus the order
quantity. That is not what we are modeling here; we are modeling a
periodic review (Q,ROP) process with lost sales (no back orders).

Length of Simulation Run


One question that must be answered in setting up the discrete event
simulation is how many days to simulate. In this example, we have
simulated 365 days, but it is easy to change this in Excel. Many times the
goal is to get to “steady state,” which means that the variance in the variable
is to a level that is what it will continue to be at in the long run. However,
you have to pick the variable to analyze. In this case, you could use, for
example, average inventory. A discrete event simulation run has what is
referred to as a “warm-up” period. There are statistical approaches to
selecting the length of the run.Figure 5-1 illustrates the idea of steady state
and the warm-up period.

Figure 5-1 Warm-up interval

In Figure 5-1, the vertical axis is average inventory over a day and the
horizontal axis is time in days. As you can see, it takes about 50 days to get
through the warm-up period to steady state. Consequently, if you included
the first 50 days in your metric calculations, such as average inventory over
the year, it would skew the metric to be too high. As a result, when you are
calculating your metrics, it is a good idea to set the calculations to begin
after the warm-up period. In this example, the warm-up period is an
artifact of how the beginning inventory was initialized.

Number of Replications
The other question is how many times you should replicate the discrete
event simulation. In Excel you can replicate a discrete event simulation
multiple times using the Table function. Before you run replications, you
need to decide which performance metrics you want to collect. For
example, you might want to collect fill rate, percentage of days in stock,
average inventory, historical safety stock, and others. To calculate fill rate,
sum the sales column and divide it by the sum of the demand column. To
calculate the percentage of days in stock, you could use the COUNTIF
function to count how many times ending inventory was positive and divide
that by 365 (since 365 days are simulated). When you use the Table
function in Excel, this is what you collect from the replications. In our
example, we replicated it 500 times, using a Poisson demand of 2 units per
day, a deterministic lead time of 2 days, a reorder point of 8, and an order
quantity of 10. Averaging more than 500 replications we have a fill rate of
0.97, the system is in stock 94 percent of the time, average inventory is 7,
and historical safety stock is 2. If we increase the Poisson demand to 4 units
per day, the fill rate drops to 0.75, the system is in stock 62 percent of the
time, average inventory is 3, and historical safety stock is almost 0. Now, if
you increase Q from 10 to 20, fill rate increases to 0.86, the system is in
stock 78 percent of the time, average inventory is 7.5, and historical safety
stock is still almost 0. Now, suppose the lead time goes from 2 days to 3
days, then the fill rate decreases to 0.74, the system is in stock 67 percent of
the time, average inventory is 6.4, and historical safety stock is even closer
to 0. The point of this is just to give you an idea of the types of issues you
can investigate with discrete event simulation.

Execution Errors
Now, let’s take this same inventory process and assume it is at the store
level. In this retail store, when an order is received it goes to the sales floor
to be put on the shelf. If it doesn’t all fit, the rest of it goes to the backroom.
Suppose you want to know how often orders received do not fit and must go
to the backroom. You can simply add a couple of columns to collect this
data. For example, to indicate when a replenishment will not fit on the
shelf, you could use =IF(Beginning Inventory + Replen Received >
Shelf_Cap,1,0). You could also calculate a new metric, the percentage of
time replenishments do not fit on the shelf. You could also create another
column to calculate how many units do not fit on average and the
maximum overage. In our example, suppose the demand is Poisson and 2
units per day, lead time is deterministic and 2 days, ROP = 8, Q = 10, and
Shelf Capacity = 15. Averaging more than 500 replications we have a fill
rate of 0.97, the system is in stock 94 percent of the time, average inventory
is 7, historical safety stock is 2, and the replenishment exceeds shelf
capacity only 1 percent of the time. Suppose that the company has a policy
of being in stock 99 percent of the time so the ROP is increased to 12.
Averaging more than 500 replications we have a fill rate of 0.99, the system
is in stock 99 percent of the time, average inventory is 10, historical safety
stock is 6, and the replenishment exceeds shelf capacity only 22 percent of
the time.
This gets to an important point: Discrete event simulations can ignore
important costs or ignore problems that can arise when metrics change.
Let’s take the previous example where the ROP went from 8 to 12 so as to
increase the percentage of time in stock from 94 percent to 99 percent. It
worked, but it caused the percentage of time replenishments that didn’t fit
on the shelf to increase from 1 percent to 22 percent. One obvious problem
is that this creates additional labor costs because the store associates have
to go to the shelf and then to the backroom. This would be an easy cost
metric to add to the analysis as long as we knew how much extra labor it
costs every time a replenishment didn’t fit on the shelf.4 But this creates an
additional problem, namely, product goes to the backroom more often.
Product in the backroom is difficult to find, gets damaged, stolen, and lost.
So, this increase in the amount of units going to the backroom may also
reduce fill rate at the shelf. This could also be added but would require a
study to determine the relationship between the level of backroom
inventory and shelf fill rate.
Continuing with this example, suppose the demand now increased to 4
units per day. This results in the percentage of days in stock decreasing to
87 percent and the percentage of time replenishments that don’t fit on the
shelf to 8 percent. Now, suppose we could reduce the lead time to one day.
That would decrease the percentage of days in stock to 94 percent and the
percentage of time replenishments that don’t fit on the shelf to 17 percent.
That might surprise you. The reason is that the shorter lead time effectively
increased the safety stock.

Variations on the Model


The discrete event simulation model we developed in this chapter took the
reorder point and reorder quantity as inputs. You could easily make the
reorder point a function of a forecast. In the discrete event simulation
spreadsheet you could create a new column titled Forecast for Next Period
or Forecast for Lead Time Demand. You could create the forecasts using
any of the techniques discussed in this book as well as others. You could
then create a second column titled Error. This would be the forecast error,
the difference between actual sales and the forecast in the previous period
or lead time. The third column would be Absolute Error, where you would
take the absolute value of the Error column (=ABS(Error)). You will need
the Error column to calculate the standard deviation of the forecast error to
go into the reorder point calculation. If you take the standard deviation of
the Error column, that becomes the measure of uncertainty you will use in
your reorder point calculation.5 The forecast during the lead time will also
be an input to the reorder point calculation, and because of this, you will
need an additional column, Reorder Point. In our previous discrete event
simulation, since the reorder point was constant over the discrete event
simulation run, we did not need a column, just an input cell. However, with
this model, the reorder point will be updated with new information. Setting
it up to update every period is one option, but you can also set it up to
update weekly or other intervals of time. In fact, you could use discrete
event simulation to determine the best updating policy for the reorder
point. You could also use this to test different forecasting methods and
parameters. The Absolute Error column could be used to calculate mean
absolute deviation and mean absolute percent error.
Using this discrete event simulation spreadsheet you could test different
types of inventory replenishment policies. As we have designed it, it does
not use an order up to level method, but it could easily be adapted to use
such a method: It could replace the reorder point method or be used in
conjunction with it. You could keep the order quantity Q, and order in
multiples of Q to bring the inventory position up to the order up to level, or
you could drop Q and just order enough units to bring the inventory
position up to the order up to level. This could be used to test the benefit of
using break pack operations in the distribution center. That is, in the
replenished node, instead of having the distribution center ship only
multiples of case pack quantities, which are then used as Q, you could use
individual units. Then you could compare the cost savings at that node and
compare it to the additional labor cost at the distribution center to see
whether it is cost justifiable. If this is a retail supply chain you could run it
for an exemplary store and then multiply the savings by the number of
stores. Or you could cluster the stores based on sales, running one
simulation for each cluster, multiplying the savings by the number of stores
in each cluster, and then adding the savings from all of the clusters. In
addition to clustering by demand, you could also cluster by demand
uncertainty, lead time, review interval, and other factors. At the extreme
you could run a unique simulation for each store. It is probably wise to start
with a good representative store and investigate whether the savings are
even in the realm of possibilities for justification of the extra labor in the
distribution center. If it is clearly unjustifiable, you will avoid wasting time
running a lot of simulations that will not lead to anything substantial. On
the other hand, it is possible that it is so easy to justify, that it is not worth a
more detailed analysis. The more detailed analysis is called for in the
situation where it is a close call on the cost benefit analysis.

Calibration
It is a good idea to calibrate your simulation model. To calibrate your
model, you attempt to model the existing process as closely as possible and
then run the model, capture performance measures of the model, and
compare them to the actual performance metrics from the inventory
process. If they differ significantly, there are a number of aspects of the
model to check, but one of the most important first checks is the inner
workings of the spreadsheet model per se. You need to make sure there are
not any calculation errors, which are easy to make. One tool in Excel that is
useful for making sure that the calculations are referring to the correct cells
is the Trace Precedents and Trace Dependents tool. If you put your cursor
in a cell and then click Trace Precedents, it shows arrows emanating from
the cells used by the cell your cursor is in. If you put your cursor in a cell
and then click Trace Dependents, it shows arrows emanating from that cell
and pointing to the cells that use that number for calculations. It is tedious
to go through the spreadsheet and carefully check for errors, but it is worth
the investment of time and will keep you from making poor decisions based
on erroneous analysis. For the part of the spreadsheet containing the
simulation run, you only need to check the first cell that you copied down
the spreadsheet, so you will have one cell per column. You then need to
check the metric calculations based on this simulation run.
If the discrepancy is not a result of a calculation error, it is worthwhile
revisiting the process documentation created from the questions at the
beginning of this chapter. Perhaps promotions are not incorporated into
the simulation or some other ongoing demand stimulating event. Perhaps
there are more execution errors than you are aware of. Finding that the
model varies from reality is common and can simply point to execution
errors that are not being taken into account in the simulation model.
The metrics discussed in this chapter have not included cost metrics, but
cost metrics should usually be included, such as inventory holding costs,
labor costs, transportation costs, and so on. In addition, common measures
such as inventory turns, days of supply, and similar metrics would be
beneficial. It would be important to clearly understand which metrics are
most important for the study to begin with, as we discussed at the
beginning of the chapter.
Once you have made simple discrete event simulation models in Excel, you
might want to consider more elaborate models, use more elaborate discrete
event simulation tools such as Arena,6, 7 or have a discrete event simulation
expert work with you. Your prototype helps you explain the specific details
of the inventory replenishment process you are modeling. What you
learned in this chapter should help you communicate about subtle, but
important, nuances in the design and working of the process as well as how
they are modeled. In addition, as anyone who has modeled a process with
discrete event simulation knows, the effort to model the process improves
your understanding of the process per se.

ENDNOTES
1. An excellent discussion of this and other uses can be found in Ragsdale,
C. T. Spreadsheet Modeling and Decision Analysis. Cincinnati, OH: South-
Western, 1998.
2. You don’t want negative demand.
3. Integers.
4. This could be discovered with an industrial engineering study,
specifically, a time motion study.
5. The specifics of this calculation have already been discussed in Chapter
3, “Inventory Control.”
6. Rossetti, Manuel D. Discrete Event Simulation Modeling and Arena.
New York: Wiley Publishing, 2009.
7. Arena and other discrete event simulation tools can model other
processes well beyond inventory processes. It can be used to model material
handling, scheduling, routing, queues, and many other processes.

You might also like