Few sentences give as much false comfort as "the project will cost 100,000 euros". A single, dry number hides everything we do not know: the price of materials may rise, a supplier may be late, demand may surprise us. Reality is not a number — it is a range of possible outcomes, each with its own probability.
Monte Carlo simulation is a simple and powerful way to deal with that uncertainty. Instead of computing one scenario, it computes thousands, giving each uncertain variable a range of plausible values and letting chance combine them. In the end, instead of a number, we get a distribution: how likely it is to stay within budget, what the reasonable worst case is, how much margin of safety there is.
The name comes from the casinos of Monte Carlo, because the method rests on randomness. But there is nothing of gambling about it: it is one of the most useful tools for deciding when the future is, by nature, uncertain.
What Monte Carlo simulation is
The idea is this: take a model that links inputs to an outcome — for example, cost = materials + labour + contingencies — and, instead of giving each input a fixed value, describe each one as a range with a shape (a distribution). Then the computer "draws" a value for each input, computes the outcome, and repeats this thousands of times.

Each repetition is a possible future. Putting them all together gives the distribution of the outcome: not only the average value, but also the spread and the tails — those bad but possible scenarios that a single estimate never shows.
Why a single estimate misleads
When we add up the "most likely" values of several items, it is tempting to assume the total is also the most likely. It rarely is. It only takes one or two items going wrong at the same time for the total to spike. This is the well-known optimism of plans: each piece looks reasonable, but the whole accumulates risk.
A single line in the budget — "100,000" — does not say whether there is a 90% chance of staying below that figure or only 40%. The simulation answers exactly that question, turning "how much will it cost?" into "with what probability does it stay below X?".
Monte Carlo vs scenario analysis
Many teams already use scenario analysis: an optimistic case, a base case and a pessimistic one. It is useful and intuitive, but it has limits. Three scenarios are three points in a universe of thousands of combinations, and it is easy to choose them in a biased way.
- Scenario analysis: a few discrete cases, easy to explain, but without probabilities and with limited coverage.
- Monte Carlo: covers the whole range of combinations and returns probabilities, at the cost of requiring distributions and some computation.
- Complementary: scenario analysis helps to communicate; the simulation provides the quantitative basis behind it.
How it works, step by step
In practice, a simulation always follows the same recipe:
- Build the model: the formula that links the inputs to the outcome that matters (cost, deadline, return).
- Describe the uncertainties: for each uncertain input, choose a distribution and its limits.
- Consider relationships: if two variables move together, that correlation must be reflected.
- Run the iterations: draw values and compute the outcome thousands of times.
- Analyse the distribution: read averages, percentiles and probabilities of crossing thresholds.
Choosing the right distributions
This is where half the value — and half the risk — lies. A normal distribution suits quantities that cluster around an average. The triangular one is handy when you only know the minimum, the most likely and the maximum. The uniform one applies when any value in a range is equally plausible. And whenever historical data exists, the best distribution is often history itself.
The goal is not statistical perfection, but to capture honestly what is known and what is not. An approximate distribution based on real experience is worth more than a fixed number disguised as certainty.
Reading the results without fooling yourself
The output of a simulation is not a number, it is a distribution — and you need to know how to read it. Instead of the average, look at the percentiles: P10, P50 (the median) and P90 tell you, respectively, the good, the central and the reasonable bad case. The most useful question is usually: "what is the probability of crossing this threshold?".
A sensitivity analysis completes the picture, showing which of the inputs make the outcome swing the most. Often, one or two variables explain almost all the uncertainty — and that is where it pays to investigate further or negotiate.
Mini-case: fitting the budget with what probability?
A services company was preparing a bid for a project and wanted to commit to a fixed price. The "back of the envelope" estimate was 200,000 euros, adding up the most likely values of each line. Management, however, wanted to know the risk of exceeding that figure.
The team described each line as a range: labour between 90,000 and 130,000, subcontracts between 40,000 and 80,000, and a buffer for contingencies. They ran 10,000 iterations. The result was surprising: the median came out at 205,000 and there was about a 60% probability of exceeding 200,000. To have 90% confidence of not losing money, the price would have to be around 235,000.
With this information, the decision stopped being a guess. The company proposed an intermediate figure, with a clause for cost variations in subcontracts — precisely the variable that the sensitivity analysis flagged as the biggest source of risk.
Common mistakes
The most serious is the classic "garbage in, garbage out": made-up distributions with no basis produce numbers that look scientific and carry no value. Next comes ignoring correlations — treating as independent variables that in fact rise and fall together underestimates the risk. Running too few iterations makes the results unstable. And, perhaps most dangerous, presenting the outputs as if they were exact: "there is a 63.7% probability" conveys a precision the method does not have. The results are estimates, good for comparing and deciding, not truths to the decimal.
In practice
Monte Carlo simulation does not remove uncertainty — it makes it visible and usable. By replacing a number with a distribution, it changes the conversation from "how much does it cost?" to "how much risk are we willing to take?", which is the question managers really need to answer. You do not need expensive software: a spreadsheet is enough for simple models, while a language such as Python or R runs millions of iterations in seconds for larger ones.
Start small: choose an important decision with several sources of uncertainty, describe them honestly, run the simulation and communicate the results in percentiles and probabilities. You will quickly see that deciding with a range of scenarios in front of you is far more solid than trusting a single number that, deep down, was never more than a well-dressed guess.