
What Monte Carlo simulation is
Monte Carlo simulation repeats a calculation thousands of times, drawing random values for the uncertain inputs on each run, and shows the distribution of possible results. Instead of a single completion date, you get a range and the probability of meeting each date.
The method came out of work by Stanislaw Ulam, John von Neumann and Nicholas Metropolis in the 1940s and takes its name from the Monte Carlo casino. In planning it fixes a simple problem: adding up the most likely estimates of uncertain tasks does not give the most likely project duration.
For networks with fixed durations, use PERT/CPM critical path analysis. Simulation comes in when each duration is a range and you want to know the risk, not just the critical path.
Visual map of Monte Carlo simulation
The map shows the flow (inputs, draw, sum, repeat) and the schedule distribution of the example, with P50, P80 and P90.

How it works, step by step
- Model the calculation. Define the output that matters (total duration, cost, lead time) and how it depends on the inputs.
- Describe each uncertain input with a distribution. The most common in scheduling is the triangular distribution, defined by three numbers: minimum (a), most likely (m) and maximum (b).
- Draw one value for each input and compute the output. That is one trial.
- Repeat 5,000 to 10,000 times and store every output.
- Read the distribution: mean, standard deviation and percentiles.
For the triangular distribution the mean and variance have closed forms:
mean = (a + m + b) ÷ 3 | variance = (a² + m² + b² − a·m − a·b − m·b) ÷ 18
To draw values in a spreadsheet, generate U = RAND() between 0 and 1 and apply the inverse triangular function. If U < (m − a) ÷ (b − a), the duration is a + √(U × (b − a) × (m − a)); otherwise it is b − √((1 − U) × (b − a) × (b − m)).
Worked example: three tasks in series
Fictional example: a machine installation project with three tasks in series, estimated in days.
| Task | Minimum | Most likely | Maximum | Mean (a+m+b)÷3 |
|---|---|---|---|---|
| A. Foundation and base | 4 | 6 | 10 | 6.67 |
| B. Mechanical assembly | 3 | 5 | 9 | 5.67 |
| C. Electrical and commissioning | 5 | 8 | 14 | 9.00 |
| Total | 12 | 19 | 33 | 21.33 |
The traditional plan adds the most likely values and promises 19 days. But all three tasks have a long right tail (the maximum sits further from the most likely value than the minimum does), so the mean is already 21.33 days. Variances add up by task: 1.56 + 1.56 + 3.50 ≈ 6.61, giving a standard deviation of about 2.57 days.
One manual trial shows the mechanics: drawing A = 6.0, B = 4.3 and C = 9.7 gives a project of 20.0 days. Another trial gave 6.3 + 3.9 + 6.6 = 16.8 days. Each trial is one possible future.
Running it 10,000 times (seed 42, triangular distribution for each task) gave:
| Measure | Result (days) |
|---|---|
| Mean | 21.3 |
| Standard deviation | 2.6 |
| P50 (median) | 21.2 |
| P80 | 23.5 |
| P90 | 24.7 |
| P95 | 25.7 |
| Chance of finishing within 19 days | about 19% |
| Chance of finishing within 24 days | about 84% |
With another seed the numbers shift in the first decimal, but the conclusion holds: the 19-day plan has only about a one in five chance of being met. For 80% confidence, commit to 24 days; for 90%, to 25 days.
How to read P50, P80 and P90
The Pxx percentile is the duration the project meets in xx% of trials. P50 is the coin-flip date: half the time you overrun. P80 is a common customer commitment, and P90 suits contract dates with penalties. The gap between P80 and the plan (23.5 − 19 = 4.5 days) is the schedule reserve the risk justifies; keep it as an explicit buffer instead of padding every task.
A histogram of the outputs shows the shape of the risk. To review how to build one, see histogram: how to build and read it.
When to use it and when not to
- Use it for: projects with serial or parallel tasks and uncertain estimates; total cost with variable prices; uncertain demand; safety stock sizing.
- Combine with the network: in networks with parallel paths, the critical path changes from trial to trial. Simulating the whole network gives each activity's chance of being critical, which deterministic PERT/CPM does not show.
- Demand: use the error of your demand forecast as an input distribution and simulate the service level.
- Investment: draw cash flows and the discount rate to see the NPV distribution rather than one value (NPV, IRR and payback).
- Queues: when closed-form queueing theory formulas do not fit, simulation fills the gap.
- Do not use it when you have no basis at all for estimating ranges. Start by collecting data.
Tools
You can run it in Excel with RAND() and a data table, in Python (the standard library already has random.triangular) or in dedicated simulation add-ins. The tool matters less than the quality of the input ranges.
Common mistakes and limitations
- Guessed ranges. The result is only as good as the inputs: garbage in, garbage out. Ask the people doing the work and use history from past projects.
- Overly optimistic maximum. Estimators tend to underestimate the tail. Ask for a realistic worst case and compare it with past projects.
- Ignoring correlation. If two tasks slip for the same reason (same crew, same supplier), drawing them independently understates the risk.
- Too few trials. With 100 trials the percentiles wobble. Use thousands.
- Confusing the mean with a commitment. The mean (21.3) has about a 50% chance of being met, not 100%.
- False precision. Report P80 = 23.5 days as "about 24 days", without misleading decimals.
Frequently asked questions
What is Monte Carlo simulation?
It is a method that repeats a calculation thousands of times with values drawn for the uncertain inputs, to get the distribution of results.
How many trials should I run?
5,000 to 10,000 is enough for most planning work. With a few hundred, the percentiles change too much between runs.
What is the difference between PERT and Monte Carlo?
PERT uses a mean and variance formula per activity and assumes the total is roughly normal. Monte Carlo draws the durations and measures the actual distribution, including in networks with parallel paths.
What does P80 mean?
It is the value the result does not exceed in 80% of trials. In the example, the project finishes within 23.5 days with 80% confidence.
Which distribution should I use for task durations?
The triangular (minimum, most likely, maximum) is the simplest and is enough to start. With enough historical data, fit a distribution to the data.
Do I need special software?
No. A spreadsheet with RAND() or a short Python script runs the example simulation.
Sources
- METROPOLIS, N.; ULAM, S. The Monte Carlo Method. Journal of the American Statistical Association, v. 44, 1949.
- VOSE, D. Risk Analysis: A Quantitative Guide. Wiley.
- HUBBARD, D. W. How to Measure Anything. Wiley.
- PROJECT MANAGEMENT INSTITUTE. A Guide to the Project Management Body of Knowledge (PMBOK Guide). PMI.
Keep studying: trusted sources and links
- INFORMS: What is Operations Research?
- INFORMS: Institute for Operations Research and the Management Sciences
- Wikipedia: Risk management
Save this address: Manufatura Enxuta is your school for lean manufacturing. Come back whenever you need to study, with a complete article, a visual map and trusted sources. Follow one of the learning paths or check the A–Z glossary.
Want to measure what really matters?
Download the free e-book on performance indicators and track the losses in your operation.
Download the e-book
