Monte Carlo Simulation, also known as the Monte Carlo Method or a multiple probability simulation, is a mathematical technique, which is used to estimate the possible outcomes of an uncertain event. The Monte Carlo Method was invented by John von Neumann and Stanislaw Ulam during World War II to improve decision making under uncertain conditions. It was named after a well-known casino town, called Monaco, since the element of chance is core to the modeling approach, similar to a game of roulette.
Since its introduction, Monte Carlo Simulations have assessed the impact of risk in many real-life scenarios, such as in artificial intelligence, stock prices, sales forecasting, project management, and pricing. They also provide a number of advantages over predictive models with fixed inputs, such as the ability to conduct sensitivity analysis or calculate the correlation of inputs. Sensitivity analysis allows decision-makers to see the impact of individual inputs on a given outcome and correlation allows them to understand relationships between any input variables.
Unlike a normal forecasting model, Monte Carlo Simulation predicts a set of outcomes based on an estimated range of values versus a set of fixed input values. In other words, a Monte Carlo Simulation builds a model of possible results by leveraging a probability distribution, such as a uniform or normal distribution, for any variable that has inherent uncertainty. It, then, recalculates the results over and over, each time using a different set of random numbers between the minimum and maximum values. In a typical Monte Carlo experiment, this exercise can be repeated thousands of times to produce a large number of likely outcomes.
Monte Carlo Simulations are also utilized for long-term predictions due to their accuracy. As the number of inputs increase, the number of forecasts also grows, allowing you to project outcomes farther out in time with more accuracy. When a Monte Carlo Simulation is complete, it yields a range of possible outcomes with the probability of each result occurring.
One simple example of a Monte Carlo Simulation is to consider calculating the probability of rolling two standard dice. There are 36 combinations of dice rolls. Based on this, you can manually compute the probability of a particular outcome. Using a Monte Carlo Simulation, you can simulate rolling the dice 10,000 times (or more) to achieve more accurate predictions.
Regardless of what tool you use, Monte Carlo techniques involves three basic steps:
You can run as many Monte Carlo Simulations as you wish by modifying the underlying parameters you use to simulate the data. However, you’ll also want to compute the range of variation within a sample by calculating the variance and standard deviation, which are commonly used measures of spread. Variance of given variable is the expected value of the squared difference between the variable and its expected value. Standard deviation is the square root of variance. Typically, smaller variances are considered better.
Read more about how to conduct a Monte Carlo simulation here (this link resides outside of ibm.com)
Although you can perform Monte Carlo Simulations with a number of tools, like Microsoft Excel, it’s best to have a sophisticated statistical software program, such as IBM SPSS Statistics, which is optimized for risk analysis and Monte Carlo simulations. IBM SPSS Statistics is a powerful statistical software platform that delivers a robust set of features that lets your organization extract actionable insights from its data.
With SPSS Statistics you can:
Using the simulation module in SPSS Statistics, you can, for example, simulate various advertising budget amounts and see how that affects total sales. Based on the outcome of the simulation, you might decide to spend more on advertising to meet your total sales goal. Read more about how to use IBM SPSS Statistics for Monte Carlo simulations here (this link resides outside of ibm.com).
IBM Cloud Functions can also assist in Monte Carlo Simulations. IBM Cloud Functions is a serverless functions-as-a-service platform that executes code in response to incoming events. Using IBM Cloud functions, an entire Monte Carlo Simulation was completed in just 90 seconds with 1,000 concurrent invocations. Read more about how to conduct a Monte Carlo Simulation using IBM tooling, here.
For more information on Monte Carlo Simulations, sign up for the IBMid and create your IBM Cloud account.
Run your application code without servers, scale it automatically, and pay nothing when it's not in use.
Uncover data insights that can help solve business and research problems.
Hybrid. Open. Resilient. Your platform and partner for digital transformation.