This section explains some of the basic ideas underpinning Monte Carlo (MC) simulation. The goal here is to give you a pretty simple introduction into what MC Simulation is and how powerful it can be for you, what its advantages and disadvantages are, when it can and can't be used and how to perform MC simulation with different simulation software packages.
What is Monte Carlo Simulation?
Monte Carlo (MC) simulation is a quantitative risk analysis technique in which uncertain inputs in a model (for example an Excel spreadsheet) are represented by probability distributions (instead of by one value such as the most likely value). By letting your computer recalculate your model over and over again (for example 10,000 times) and each time using different randomly selected sets of values from the (input) probability distributions, the computer is using all valid combinations of possible input to simulate all possible outcomes. The results of a MC simulation are distributions of possible outcomes (rather than the one predicted outcome you get from a deterministic model); that is, the range of possible outcomes that could occur and the likelihood of any outcome occurring. This is like running hundreds or thousands of "What-if" analyzes on your model, all in one go, but with the added advantage that the "what-if" scenarios are generated with a frequency proportional to the probability we think they have of occurring.
Why Monte Carlo Simulation
The most important advantages of Monte Carlo include:
The probability distributions within the model can be easily and flexibly used, without the need to approximate them;
Correlations and other relations and dependencies (such as "if" statements) can be modeled without difficulty;
The level of mathematics required is quite basic;
Simulation software packages can automate the tasks involved in simulation;
The behavior of and changes to the model can be investigated with great ease and speed.
An often claimed disadvantage of MC Simulation is that it is an approximate technique. However, any degree of precision can be achieved (at least in theory) by simply increasing the number of iterations, so the real limitations of MC simulation are:
The number of random numbers that can be produced from a random number generating algorithm and;
The time a computer needs to generate the iterations (and the time the risk analyst has).
However, for most problems you will face these limitations are totally irrelevant or can be avoided by splitting up a model as described in Vose, 2000 (page 209-212).
When to use Monte Carlo Simulation (and when not to)
"Calculate when you can, simulate when you can't!" Monte Carlo simulation can be used for most of the risk analysis models you will encounter. However, in situations where exact calculation is possible, this is always preferred. An example is the determination of the probability that the sum of 3 dice is 3. Although with an MC simulation with many iterations we can indeed get very close to the real probability (1/(6*6*6) ≈ 0.4630%, the calculation is much quicker and exact. A calculation model can also be instantaneously updated if any of the parameter values need changing.
How to do Monte Carlo Simulations in Simulation Software Packages
Simulation software packages provide an easy, efficient and flexible tool to perform Monte Carlo Simulations. You can find the steps to create these simulations in the following software specific models:
The links to the Performing Monte Carlo Simulations software specific models are provided here:
The simulation software package ususally offers two methods of generating samples from probability distributions: Monte Carlo sampling, and Latin Hypercube sampling. The latter is the one we recommend you use for normal models. Monte Carlo sampling is mostly used when we are trying to replicate the pattern of randomly observed data. There are also a number of other sampling methods available in simulation you may wish to investigate. All the methods for generating random samples rely on a Seed value, and it is sometimes useful to control that value to check the quality of your results.
If your simulation software doesn't have a distribution you would like to use, visit this section for methods to generate your own distributions. In ModelAssist we introduce a number of such distributions, which of course we need to somehow generate values for.
ModelAssist provides you with topics on how to determine how many iterations to run a Monte Carlo model for. It's a good question, which is frequently asked in courses we give.