Monte Carlo Analysis
Bringing Uncertainty and Risk Into Forecasting
So you've created a carefully-researched cash flow forecast for the business you want to start. And it looks like it might be a flier.
But how good is this forecast really? Will you make exactly the revenue forecasted? Exactly? And in this world of wildly fluctuating commodity prices, will your inputs cost exactly what you've forecasted?
If your revenue is just a bit down on what you expect and your costs are just a bit higher, is your promising business actually more likely to be a loss-making disaster?
And what of other forecasts – production forecasts, population forecasts, economic forecasts, even weather forecasts? How do you bring the sheer randomness of everyday life into these?
One way of doing this quantitatively is with Monte Carlo Analysis, an important decision and risk analysis technique.
Understanding the Tool
The name "Monte Carlo Analysis" refers to the casinos at Monte Carlo in Monaco, where hundreds of chance events happen every day.
The idea behind the technique is that you feed random numbers representing the uncertain inputs (revenue and commodity prices in the example above) into your forecasting model, and then track what comes out at the other end.
This wouldn't get you anywhere if you fed in truly random numbers, or if you used only one set of inputs. However, when you generate pseudo-random inputs based on an appropriate probability distribution, and feed enough of them into your model, you generate a useful and highly informative distribution of recorded outputs.
Before PCs became common in the workplace, this was impractical. Just preparing one run of a cash flow forecast (with one set of inputs) would take a day's manual calculation and checking. However with computers, you can run hundreds or thousands of sets of inputs through your model in only a few minutes.
To do this, you'll need MS Excel Risk Analysis plug-ins like @Risk, RiskAmp or Crystal Ball, or you'll need some form of Monte Carlo Simulation front end for the modeling system you're using.
How to Use the Tool
Use the following steps to carry out Monte Carlo Analysis:
- Start by building a well-constructed and properly-checked mathematical model of the system that you want to analyze. Business people will be familiar with financial evaluations and cash flow forecasts as examples of these. People in other professions will use other approaches (but may find systems diagrams useful in modeling.)
- The next step is to look at the inputs to your model, understand which of the inputs are certain and which are uncertain, and identify the most important of the uncertain inputs.
You then need to understand how data varies for each of these inputs. This is where it's useful to look back on how each input has varied in the past, ideally represented on a frequency distribution graph.
Where you can't look at past data, you'll need to make an educated guess as to the likely frequency distribution graph for inputs. In our example, you may be able to find good historical data on variations in commodity prices. However, agreeing the distribution for future revenue figures is likely to be a subjective and political exercise!
- Next, compare the frequency distribution graph you have for each input with the frequency distribution graphs supported by the MS Excel plug-in you're using, and set up the inputs appropriately.
- Run the simulation as many times as you need until results stop changing (you may find that results settle down into a stable pattern after as few as 100 sets of inputs.)
- Interpret the resultant probability distribution appropriately.
Selection of a sensible probability distribution is all-important here – there's a real risk of "Garbage in, Garbage out". Make sure you consider the distributions you use carefully, base your selection on hard data where you can, and agree necessarily subjective guesses early on with the people who are relying on you for the analysis.
Monte Carlo Analysis is a quantitative tool. See our article on Scenario Analysis to see how to do a similar thing in non-quantitative situations.
Monte Carlo Analysis is a useful technique to use when you need to bring uncertainty, randomness or risk into the mathematical models and forecasts you're building.
To use it, you need to understand which of the inputs to your model are subject to uncertainty and, for the most important of these, understand how that variation maps onto a frequency distribution graph.
Once you know this, you can set up these frequency distributions using the MS Excel plug-in you've selected, and run a large number of different, pseudo-randomly selected inputs through the model. This then gives you a frequency distribution graph showing the likelihood of achieving different outcomes through the model.