What is Monte Carlo Simulation

Guide: Monte Carlo Simulation

Author's Avatar

Daniel Croft

Daniel Croft is an experienced continuous improvement manager with a Lean Six Sigma Black Belt and a Bachelor's degree in Business Management. With more than ten years of experience applying his skills across various industries, Daniel specializes in optimizing processes and improving efficiency. His approach combines practical experience with a deep understanding of business fundamentals to drive meaningful change.

The Monte Carlo Simulation (MCS) is a statistical technique that quantifies uncertainty in various scenarios. Named after the Monte Carlo Casino, synonymous with chance and randomness, it mirrors the unpredictability of real-world events. MCS excels in modeling the likelihood of different outcomes in inherently uncertain processes, especially where complexity and variability make precise predictions challenging.

At its core, MCS employs probability distributions rather than single-point estimates, allowing for a broad exploration of possible outcomes through the repeated recalculations. This methodology shines in scenarios like estimating the average result of a die roll, where it leverages random sampling over numerous iterations to approximate the true average.

Table of Contents

What is the Monte Carlo Simulation?

The Monte Carlo simulation is a technique used in statistics to understand and quantify uncertainty in various scenarios. This method is named after the Monte Carlo Casino, which is associated with randomness and change, which reflects the simulation’s reliance on random sampling. 

Monte Carlo Simulation models the likelihood of different outcomes in inherently uncertain processes. This is useful in situations where it is difficult or impossible to predict outcomes with certainty due to the complexity and variability of the factors involved.

The core process of the simulation is:

Modelling with Probability distributions

Instead of using single-point estimates, the Monte Carlo Simulation uses probability distributions to represent the range of possible values for any uncertain factor. These distributions could be normal, uniform, binomial, etc., depending on the nature of the variable.

Iteration and Recalculation

Once the model is set with probability distributions, the simulation is able to calculate the results repeatedly. Each run of the simulation will use a different set of randomly selected values from each of these probability distributions.

Lets use an example to explain this: 

Imagine we’re interested in estimating the average result of rolling a six-sided die. While the theoretical average is well-known (3.5), we’ll use Monte Carlo simulation to demonstrate how this can be estimated through repeated random sampling.

For this simulation, we’ll:

  1. Simulate rolling a six-sided die.
  2. Repeat this process over a large number of iterations.
  3. Calculate the average result after each roll.

This will give us a visualization of how the estimated average converges towards the true average as the number of iterations increases.

Let’s visualize this process with a graph. Simulating the rolling of a die for, say, 10,000 iterations and plotting how the average outcome evolves with each roll.

monte carlo simulation die rolls

The graph above visually demonstrates the process of iteration and recalculation in a Monte Carlo simulation.

Outcome Analysis

After running the simulations, it generates a distribution of outcomes, which can be analyzed to understand the likelihood of different scenarios. This is crucial for risk assessment, decision-making, and planning under uncertainty.

To demonstrate the distribution of outcomes from the Monte Carlo simulation of rolling a six-sided die, we will create a histogram. This histogram will show how often each outcome (i.e., each number between 1 and 6) occurred in our 10,000 iterations.

This visual representation will help us understand the likelihood of different outcomes, which is crucial in assessing risk and making decisions under uncertainty. In our simplified example, we expect the distribution to be relatively uniform, as each side of a fair six-sided die has an equal chance of appearing.

monte carlo simulation die histogram

The histogram above shows the distribution of outcomes from the Monte Carlo simulation of rolling a six-sided die 10,000 times. Here are some key observations:

  • Each bar in the histogram represents the relative frequency of each outcome (1 through 6). The distribution is approximately uniform, indicating that each number has a roughly equal probability of occurring. This is what we expect from a fair die.

  • The y-axis shows the relative frequency. Since we rolled the die 10,000 times and there are 6 possible outcomes, each outcome (if perfectly uniform) should occur about 16 or approximately 16.67% of the time.

  • In a more complex simulation, analyzing such a distribution is essential for understanding the likelihood of various scenarios. For example, in financial risk assessment, a similar histogram might show the distribution of returns on an investment, helping investors understand the potential risks and rewards.

Key Components of MCS

Random Number Generation

The basis of Monte Carlo simulation is that it involves generating a sequence of random numbers or symbols that cannot be reasonably predicted better than by chance.

This works by having numbers generated based on probability distributions, such as normal, uniform, lognormal, etc. that will best represent the uncertainty of the variables in the model.

By using random values as inputs into the simulation model, you are able to explore a wide range of possible outcomes.

Modelling of the System

This involves the creation of a mathematical or computational model that will represent the real-world system or process being studied. 

The model incorporates the uncertainties within the system by using randomly generated numbers. For example, in financial modelling, this could involve variables like interest rates, market returns, or inflation rates.

Repetition of Experiments

The simulation runs many times (just like the dice example above), with each run using a different set of values generated by the random number process.

This repeated process results in a distribution of outcomes, which can be analyzed to understand the probability and impact of different scenarios.

Benefits and Limitations of Monte Carlo Simulation

Before using the simulation it is important to understand the benefits and limitations of the model to understand if it is the right analysis model for your situation.

Benefits

  1. Flexibility: They can model complex systems with multiple interdependent variables, which would be difficult or impossible to solve analytically.
  2. Risk Analysis: Monte Carlo simulations provide a robust framework for understanding and quantifying the risks associated with different decisions or events.
  3. Optimization: They are used to find optimal solutions in scenarios with many variables and uncertain outcomes, such as financial portfolio optimization or supply chain management.

Limitations

  1. Computational Intensity: Simulations, especially those with a large number of variables or requiring a high number of iterations, can be computationally expensive and time-consuming.
  2. Model Accuracy: The reliability of the simulation’s outputs is heavily dependent on the accuracy of the model and the quality of the input data. low-value input, low-value output.
  3. Statistical Knowledge: A thorough understanding of probability distributions and statistical methods is essential for correctly setting up and interpreting Monte Carlo simulations.

Step-by-Step Process to Monte Carlo Simulation

Below we will outline the process of conducting a Monte Carlo Simulation and create a Monte Carlo simulation example that follows the detailed step-by-step process. For this example, we will simulate an investment scenario to assess the potential future value of an investment portfolio.

Step 1: Define the Problem

The first step in conducting a Monte Carlo Simulation is to define the problem or question you are trying to answer with the simulation. This includes identifying the goal of the simulation, the decision to be made, and the uncertainties involved.

We also need to determine all the relevant variables that impact the outcome. This could be both known quantities and uncertain factors.

For each uncertain variable, establish a range of possible values. This range should be as realistic as possible, this can be done using historical data, expert opinion, or other relevant sources.

Example

  • Clarification: The goal is to estimate the future value of an investment portfolio over a one-year period.
  • Identifying Variables: The key variables are the initial investment amount, the expected annual return rate (which is uncertain), and the time period (one year).
  • Range of Uncertainty: The annual return rate is uncertain. Based on historical data and market analysis, we estimate that the annual return rate could vary between -10% and +30%.

Step 2: Build the model

The next step is to build the model by translating the real-world problem into a mathematical model. This involves developing formulas or algorithms that will describe the relationships between different variables in the system.

The complexity of the modal can vary; it could be simple with a linear relationship or a set of complex differential equations that depend on the nature of the system being modelled. It is important that the model accurately reflects the real world, as inaccuracies in the model can lead to misleading results.

Example

  • Mathematical Representation: The future value of the investment can be calculated using the formula: Future Value = Initial Investment * (1 + Annual Return Rate).
  • Complexity Level: The model is relatively simple, with a linear relationship between the initial investment, return rate, and future value.
  • Ensuring Realism: The formula accurately reflects the basic principle of investment growth.

Step 3: Determine the Input Variables

Once the variables have been identified, the next step is to model the uncertainty for each. This involves selecting a probability distribution for each variable.

The choice of distributions should be based on the nature of the variable and available data. For example, stock returns might be modelled with a normal distribution, while the time to failure of a machine part might follow an exponential distribution.

Finally, the parameters will need to be determined, such as the mean and standard deviation for each distribution, usually based on historical data or expert estimates.

Example

  • Uncertainty Modeling: The uncertain variable is the annual return rate.
  • Choice of Distributions: We choose a normal distribution to model the annual return rate, as it’s a common assumption for financial returns.
  • Parameter Estimation: Based on historical data, we estimate the mean return rate to be 10% and the standard deviation to be 10%.
 

Step 4: Run the SImulation

Once all the variables and parameters are set the next step is to run the simulation by using computational tools to run the simulation multiple times. Potentially thousands or millions of times. Each iteration uses a different set of random values generated for the input variables based on their respective probability distributions.

Modern software such as Minitab and computing power make it feasible to run a large number of iterations in a reasonable amount of time, which is essential for obtaining reliable results.

Example

  • Execution of Iterations: We will simulate the future value of the investment for 10,000 iterations.
  • Computational Power: The simulation will be run using a computer algorithm capable of handling numerous iterations efficiently.

Step 5: Analyze the Results

After running the simulations, the results for each iteration are collected. The data forms a distribution of the possible outcomes. 

You then need to analyze this distribution to understand the likelihood of different outcomes. Calculate statistics such as mean, median, standard deviation, and percentile values. These metrics provide insights into expected outcomes and the range of variability or risk.

Finally, you should use these results to make informed decisions. For example, in finance, this might involve determining the level of risk associated with an investment; in engineering, it might involve understanding the probability of system failure under different conditions.

Example

  • Data Collection: We will collect the simulated future values from each iteration.
  • Statistical Analysis: We will analyze the distribution of future values, calculating statistics such as mean, median, and standard deviation.
  • Decision-Making Insights: The results will help in understanding the range of possible future values and the risks associated with the investment.

Let’s implement this simulation. We will assume an initial investment of $10,000. The normal distribution for the annual return rate will have a mean of 10% and a standard deviation of 10%. We will then run the simulation for 10,000 iterations and analyze the results.

investment_portfolio_future_values
 

The histogram visualizes the distribution of future values of an investment portfolio based on our Monte Carlo simulation. Here’s the analysis:

  • Distribution of Future Values: The histogram shows how the future values of the investment are spread out. Most outcomes are clustered around the mean, but there’s a spread due to the variability in the return rate.

  • Mean and Median Future Value:

    • Mean: The mean future value of the investment is approximately $10,981.57. This is indicated by the red dashed line.
    • Median: The median future value, marked by the green dash-dot line, is about $10,972.93.
  • Standard Deviation: The standard deviation of the future values is $987.56, indicating the extent of variation or dispersion of the values from the mean.

Conclusion

Monte Carlo Simulation offers a robust framework for understanding and navigating uncertainty. By modelling system uncertainties with probability distributions and iterating simulations, it generates outcome distributions vital for risk assessment, decision-making, and planning.

The simulation’s flexibility allows for the modeling of complex, interdependent systems, while its power in risk analysis and optimization makes it invaluable in fields ranging from finance to engineering. However, it demands computational resources and accurate models to be effective. As exemplified in our investment portfolio simulation, MCS can predict future values by assessing variability and risk, providing a deep understanding of potential outcomes. This versatile tool is indispensable for those seeking to make informed decisions in uncertain environments.

References

A: Monte Carlo Simulation is a computational technique that uses random sampling to obtain numerical results for problems that might be deterministic in principle. It allows for the exploration of uncertainty in system inputs by simulating various scenarios and producing a range of possible outcomes instead of a singular prediction.

A: The name “Monte Carlo” was inspired by the Monte Carlo Casino in Monaco. The method’s reliance on randomness and probability mirrors the unpredictable outcomes of casino games. The technique was developed during the 1940s by scientists working on nuclear projects, who borrowed the casino reference to name the method.

A: MCS is versatile and finds application in a myriad of fields. This includes finance for option pricing and risk assessment, engineering for system reliability analysis, energy for oil and gas reserve estimation, and even in healthcare for disease modeling and drug development.

A: Traditional forecasting often relies on fixed inputs to provide a single predicted outcome. In contrast, MCS uses a range of possible inputs, reflecting uncertainties, to produce a spectrum of potential outcomes. This allows stakeholders to understand not just a single expected scenario but the entire landscape of possibilities, including best-case, worst-case, and likely scenarios.

A: While MCS is powerful, it has limitations. The accuracy of results heavily depends on the quality and relevance of the input data and the assumptions made. Moreover, it requires a suitable model to simulate the system. Additionally, MCS can be computationally intensive, especially with complex models or when many iterations are required.

Author

Picture of Daniel Croft

Daniel Croft

Daniel Croft is a seasoned continuous improvement manager with a Black Belt in Lean Six Sigma. With over 10 years of real-world application experience across diverse sectors, Daniel has a passion for optimizing processes and fostering a culture of efficiency. He's not just a practitioner but also an avid learner, constantly seeking to expand his knowledge. Outside of his professional life, Daniel has a keen Investing, statistics and knowledge-sharing, which led him to create the website learnleansigma.com, a platform dedicated to Lean Six Sigma and process improvement insights.

All Posts

Free Lean Six Sigma Templates

Improve your Lean Six Sigma projects with our free templates. They're designed to make implementation and management easier, helping you achieve better results.

Other Guides