Project Time Calculator

Project Duration Simulator: Monte Carlo P50, P80 and P90

Enter three-point estimates for your tasks and run thousands of simulated projects to see the range of finish times and the chance of meeting a deadline.

Quick answer

A Monte Carlo simulation runs your project thousands of times, drawing each task's duration at random between its optimistic and pessimistic estimates. For three tasks the PERT mean is 16.3 days, but the simulation shows P50 16.1, P80 18.4 and P90 19.6 days: the plan's real finish range.

Task estimates, one task per row
TaskOptimistic (O)Most likely (M)Pessimistic (P)Remove

Same unit for every estimate.
Same unit. Gives the chance of finishing by it.
Same seed, same result.

How to read your result

Enter each task's optimistic, most likely and pessimistic duration, as in a PERT estimate. The simulator treats the tasks as running one after the other, draws a duration for each task at random, adds them up, and repeats thousands of times. The results describe the whole spread of possible finish times.

  • P50, P80, P90: the durations that 50%, 80% and 90% of simulated runs finished within. P80 is a common planning commitment.
  • Mean and range of runs: the average and the shortest and longest runs.
  • Chance of finishing by the deadline: the share of runs at or below your deadline.
  • Chart: bars show how many runs landed in each duration bin; the curve is the cumulative probability on the right-hand axis.

The random seed makes a run repeatable: the same tasks, distribution, number of runs and seed give the same numbers, and the seed is saved in the link you copy. "Re-run with a new seed" shows how stable the percentiles are. This is the sampling companion to the PERT calculator, which gives a single mean and standard deviation by formula.

How the simulation works

beta-PERT: X = O + (P − O) × Beta( 1 + 4(M − O) ÷ (P − O), 1 + 4(P − M) ÷ (P − O) )

triangular: X between O and P with its peak at M    total = X1 + X2 + … + Xn

Pk = the value below which k% of the sorted totals fall

Beta-PERT concentrates draws near the most likely value, with a mean of (O + 4M + P) ÷ 6, matching the PERT formula. Triangular gives wider tails and a mean of (O + M + P) ÷ 3. Random numbers come from a seeded generator (mulberry32), so results are reproducible. Large runs execute in a Web Worker so the page stays responsive.

Worked examples

Each example uses numbers you can load into the calculator above; the results match the tool exactly.

Example 1 (simple): design, build and test, beta-PERT, 10,000 runs, seed 2026

Design 2 / 4 / 8 days, build 5 / 8 / 17 days, test 2 / 3 / 4 days. The PERT formula gives an expected 16.33 days with a standard deviation of 2.26.

  • P50 = 16.1 days, P80 = 18.4 days, P90 = 19.6 days
  • Mean = 16.3 days
  • Chance of finishing within 20 days = 92.2%

These are the simulator's default inputs. The median is slightly below the mean because the build task has a long tail.

Load this example

Example 2: the same tasks with a triangular distribution

Switching to triangular keeps the same tasks but gives the tails more weight.

  • P50 = 17.4 days, P80 = 20.2 days, P90 = 21.7 days
  • Chance of finishing within 20 days = 78.6%, down from 92.2%

The deadline looks much riskier, which shows how much the choice of distribution matters.

Load this example

Reading the percentiles

P50 is the median: you finish before it half the time. Committing to it means being late half the time, so teams that want confidence quote P80 or P90. The distance between P50 and P90 is the risk buffer the estimates imply: 3.5 days in example 1. If it is larger than your schedule contingency, the plan is optimistic.

The simulator treats tasks as sequential and independent. Real tasks overlap and share causes of delay, which makes the true spread wider than the independent-sum result. Use it for a defensible range, and use the critical path calculator when tasks depend on each other in a network.

How to run a Monte Carlo estimate by hand (in outline)

  1. Write three estimates per task: optimistic, most likely and pessimistic.
  2. For each task draw a random duration from a distribution that fits those three numbers.
  3. Add the draws to get one possible project duration.
  4. Repeat thousands of times and sort the totals.
  5. Read percentiles from the sorted list. P80 is the value 80% of the way along it.

Assumptions, limits and common mistakes

Assumptions and limits

  • Tasks run one after another. Parallel work and dependency networks are not simulated.
  • Tasks are treated as independent. Shared causes of delay would widen the real spread.
  • The output is only as good as the three estimates. Optimistic inputs give an optimistic simulation.
  • The simulation is a model, not a forecast: P80 is a probability inside the model.

Common mistakes

  • Quoting the mean as a commitment. It is exceeded about half the time.
  • Using one task with very wide estimates as a safety margin. Put the uncertainty on the tasks it belongs to.
  • Using too few runs. With 500 runs percentiles move noticeably between seeds; use 10,000 or more.
  • Mixing units. Estimates for every task must use the same unit.

Frequently asked questions

What is a Monte Carlo project duration simulation?

A method that runs the project many times with random task durations drawn from your estimates, then reports the spread of results, such as the 80th percentile finish time.

What do P50, P80 and P90 mean?

The durations that 50%, 80% and 90% of simulated runs finished within. P80 means that 80% of simulated runs were done by that time.

How is this different from the PERT calculator?

PERT calculates a mean and standard deviation by formula and assumes a normal curve. The simulation samples the distributions directly and shows the real shape, including skew from long pessimistic tails.

What is the difference between beta-PERT and triangular?

Both use your three estimates. Beta-PERT clusters outcomes near the most likely value; triangular spreads them more evenly, so its tails and percentiles are wider.

Why does the result change when I click re-run?

A new random seed gives a different random sample. With 10,000 runs the percentiles move by a small amount, which shows how stable they are.

How many runs should I use?

10,000 is a good default. 5,000 is fine for a quick look and 20,000 gives smoother percentiles.

Last updated 19 October 2026. Last reviewed 19 October 2026. Reviewed by . Formulas and tests: methodology.