How to use the monte carlo project duration simulator
- Add each task with a best case, a most likely and a worst case estimate in any one unit, such as days.
- In the last column, name the tasks it waits for, separated by commas. Leave it empty for tasks that can start at once.
- Choose beta-PERT or triangular, the number of simulated projects and a seed.
- Read P50, P80 and P90 and look at the histogram table.
Formula
task duration drawn from beta-PERT (shape 4) or a triangular curve between best and worst
project length = longest chain through the "waits for" links
P(p) = sorted simulated lengths, interpolated at position (n - 1) x p
Beta-PERT has the mean (best + 4 x likely + worst) / 6 and triangular has (best + likely + worst) / 3. A seeded generator makes every run repeat exactly.
A five task project
Design (3, 5, 10) is followed by Build (8, 12, 25) and Content (4, 6, 14), which can run side by side, then Test (3, 4, 9) after both, then Launch (1, 2, 4). The longest path using the most likely values is 5 + 12 + 4 + 2 = 23, and using the mean values it is 25.83.
Simulating 10,000 projects with seed 1 gives a median of 25.6, a P80 of 28.8 and a P90 of 30.6, with a mean of 25.91 and a standard deviation of 3.43. The most likely path of 23 is shorter than even the median, because each task’s worst case is further from its likely value than its best case, and because Test waits for the slower of two tasks.
Why a single date misleads
Adding most likely values ignores that tasks run late more often than early and that a task waiting on two others waits for the slower one. The simulation draws many possible projects and reads the spread directly.
P80 means that 80 percent of the simulated projects finished in that time or less. Many teams quote P80 as a date they can commit to.
Reading the setup
Tasks are assumed to be independent, so a problem in one does not slow the others. In real projects delays are often linked, which makes the true spread wider than shown here. The estimates also matter more than the number of runs: wide estimates give wide results.
The links must not form a loop, and each name must match a task. For a single-path plan with fixed durations use the Critical Path Method Calculator.
Assumptions and limits
- Each task has best <= likely <= worst in the same unit.
- Tasks are independent, and a task starts when all the tasks it waits for have finished.
- There is no resource limit, so tasks that can run side by side do.
- The same seed always gives the same answer. A different seed gives a slightly different sample.
- Up to 30 tasks and 100,000 simulated projects are allowed.
Frequently asked questions
What is beta-PERT?
It is a smooth curve between the best and worst case that peaks near the most likely value and gives the likely value four times the weight of the extremes in its mean. It is often preferred to the triangular curve.
How many simulated projects do I need?
Ten thousand is plenty for P50 and P80 to a few percent. P90 and the extremes need more runs to settle, and the histogram looks smoother with 50,000 or more.
Why does the result change with the seed?
A simulation is a random sample. The seed fixes the sample so the result repeats. Trying another seed shows how much the numbers move by chance alone.
Can tasks start at the same time?
Yes. Any tasks that do not wait on each other run side by side, and only the longest chain counts toward the project length.