Using Monte Carlo Simulation in a Six Sigma Project

We often need to improve the performance of a complex system using Six Sigma.  In this article we will discuss how to use simulation to our benefit.

We first define the problem as a requirement that is not being met.  We collect data about the extent of the problem and the factors that influence the outcome of the system.  We analyze the data to determine the root cause of the problem.  We then move to the improve phase, where we are faced with determining whether or not a potential solution will actually correct the problem.

Simulation can help during the Analyze and Improve phases in at least two ways.  First, we can build a model that helps us understand the behavior and limitations of the current system.  Second, we can use that same model to see what improvements might be realized by making certain changes to the system, prior to spending the time, money and effort to implement the proposed solution.

Here is an example to illustrate how Monte Carlo simulation might be applied to a real life project.  A national fast food chain wanted to reduce the amount of time that customers spent in their drive thru lane.  In the Define phase of the project the output variable was defined as wait time in the drive thru lane, with a requirement of less than three minutes at least 90% of the time.  The total wait time is the sum of four input variables:  the time to take the order, the time to cook the order, the time to package the order and the time to deliver the order.

Using historical data, the underlying distributions for the individual process steps were found to be normal.   Each of the four process steps has a mean time to complete and some amount of variation around that mean time.  The variation in each of the four process steps for each customer results in variation in the total wait time for each customer.

The current performance parameters for each of the four process steps (i.e. the mean and the variance) were entered into a Monte Carlo simulation to produce a distribution of the total wait time.  Typically we would simulate 1,000 cycles of the process.  The results are shown in the histogram below.  The red line defines the upper limit for wait time of three minutes.  The three minute wait time was being achieved 87% of the time.

59 Histogram before improvement

It was found that using burgers that were precooked rather than cooked-to-order would significantly reduce the wait time for the step in the process of cooking the order.  The improvement was modeled by changing the parameters for the cook to order step (mean and variance) and rerunning the simulation.  The results showed that if this improvement was implemented, the total wait time would be less than 3 minutes 99.4% of the time.

The histogram for the new, improved process is shown below:

59 hostogram after improvement

A primary benefit of this method is that an improvement can be evaluated without disrupting the actual process. Different scenarios can be compared and the one resulting in the best results applied to the actual process.

Two cautions:  First, assigning an incorrect distribution or parameters to an input will lead to incorrect predictions.   We must take care to correctly define the underlying distribution and the mean and variance for each of the input parameters.  Second, the method assumes that the inputs are independent from each other.  This may or may not be a valid assumption.  These are minor drawbacks in a method that is amazingly versatile and powerful for assessing uncertainty in the output of complex models.

Your comments or questions about this article are welcome, as are suggestions for future articles.  Feel free to contact me by email at

About the author:  Mr. Roger C. Ellis is an industrial engineer by training and profession.  He is a Six Sigma Master Black Belt with over 48 years of business experience in a wide range of fields.  Mr. Ellis develops and instructs Six Sigma professional certification courses for Key Performance LLC.   For a more detailed biography, please refer to