Get startedGet started for free

Monte Carlo simulation

1. Monte Carlo simulation

Welcome back! In this chapter, we'll look at how simulation techniques can help us model uncertainty. By modeling real-world scenarios, they allow us to explore potential outcomes and assess risks that static data cannot capture.

2. What is Monte Carlo simulation?

Imagine planning a vacation and deciding what to pack. You might check the weather forecast but also consider various conditions: sunny skies, rainstorms, or cooler than expected days. By running through these different possibilities, using combinations of variables as temperature, humidity and wind direction, you can pack for most eventualities. Even though you can't know the exact weather for every day.

3. What is Monte Carlo simulation?

Monte Carlo simulation works in a similar way. Named after a famous casino and district in Monaco, it tries out many random possibilities to see what could happen. The result is a probability distribution of all simulated outcomes that can be analyzed further to identify risks, trends, and opportunities. Some example applications include: Financial forecasting by modeling investment returns and revenue projections. Risk assessment by evaluating the likelihood of project delays or cost overruns. Supply chain optimization by analyzing inventory levels and demands.

4. Steps in Monte Carlo simulation

Here is how Monte Carlo simulation works: The first step is to identify key input variables that influence the outcome and assign distributions, which is usually done using statistical expertise. For example, the normal distribution is commonly used for variables that cluster around a mean value, like costs.

5. Steps in Monte Carlo simulation

The second step is to run simulations by randomly sampling values for each input variable from their distribution and calculating the outcome for each iteration. Typically, thousands to tens of thousands runs are performed, or even millions in the case of complex problems. This can be done in statistical software, BI tools, or using programming languages like Python or R.

6. Steps in Monte Carlo simulation

The third and final step is to analyze the results by examining the distribution of outcomes to identify probabilities, trends, and potential risks or opportunities for the modeled scenario.

7. Example: project cost estimation

Let's take a look at an example. Consider a company estimating the total cost of a project. The first step is to identify key input variables influencing the cost, such as material prices, labor hours, and unexpected expenses, and assign appropriate distributions to each variable. For example, material prices could be described by the normal distribution.

8. Example: project cost estimation

Using Monte Carlo simulation, the company runs 10,000 simulations, generating a distribution of total costs. This helps evaluate the initial cost estimation and prepare a management reserve to avoid financial risk.

9. Key advantages of Monte Carlo simulation

Monte Carlo simulation provides the following benefits: It generates a range of possible outcomes, rather than a single estimate, providing better insight into uncertainty. It allows businesses to quantify risks and opportunities in terms of probabilities. It is able to capture the complexity and interdependencies of variables in a realistic way.

10. Limitations of Monte Carlo simulation

While Monte Carlo simulation is powerful, it has some limitations: The accuracy depends on the quality of the input data and assumptions. It can be computationally intensive, especially for large-scale problems. Results may be difficult to interpret without proper expertise.

11. Example: project cost estimation

In our project cost estimate example, missing or incomplete data could lead to underestimating price variability and overly optimistic cost projections. It is important to ensure the accuracy and completeness of input data, as well as to interpret the results carefully, to develop realistic contingency plans.

12. Let's practice!

Over to you!