Monte Carlo Simulation Tutorial
Introduction
A simulation model is like a mathematical machine that is running on the computer. It takes various input data from the user, performs calculations on the data, and shows the output to the user. This tutorial explains the basics and you should see the other tutorials for specific simulation models.
Why Simulate
Simulations are necessary when the future is uncertain, because average estimates can be wildly misleading. This is demonstrated in the plots below, where the left plot shows a stock return that is estimated to be +30% on average, but the right plot shows there is actually 23% chance of loss and the biggest loss can be almost -60%, while the gains can go all the way up to +140%. If you had just estimated the average value, then you would have been oblivious to the entire range of possible outcomes, including a significant risk of loss.


Input
Some input data is constant (or const for short), so it will always have the exact same value for all simulations. For example, in finance we often know the exact purchase price of something such as the price of a stock, so it is a constant number.
Other input data is uncertain so we use a probability distribution (or dist for short) for its possible values. For example, in finance we usually don't know the future valuation ratio of a stock, so we use a probability distribution to estimate a whole range of possible values.
The left image below shows a typical input-form for a probability distribution. Some of these input-forms have a button which opens the plot shown on the right, where you can click and drag on the plot to select its data, and then you can click the button next to the plot to copy the selected data back into your simulation.

Output
A simulation run produces many thousands of output values for the random input values, which are plotted so you can easily see the probability distribution of the output. Different plot-types are used for different kinds of simulations, as explained here. Extreme outliers are removed automatically and the sensitivity can be adjusted in the simulation settings.
Copy / Paste
There are several ways of copy/pasting user-input, probability distributions, and simulation results:
- Click the button on top of the simulation page, or next to a probability distribution.
- Click the button to copy data to the clipboard, and click to paste the data back into a simulation.
- Click and drag on a plot to select its data, and then click the button to copy the probability distribution to the clipboard, or the button to copy it directly into a simulation. Depending on the number of selected data-points, the system will automatically determine whether to use the individual data-points or create a smooth curve. You can force it to create a smooth curve by holding the CTRL-key while clicking the copy-button.
- Right-click a tab-name to copy/paste the contents of that tab.
- For tabs that have many related sub-tabs with probability distributions, e.g. for the future 10 years of earnings, these can all be pushed one step left or right by right-clicking on each distribution's tab-name.