Skip to main content

PERT Three-Point Project Risk & Critical Path Simulator

Enter optimistic, most-likely, and pessimistic durations per task. The simulator runs critical-path analysis under stochastic durations, ranks risk drivers in a tornado chart, and returns P50, P80, and P90 schedule and cost dates you can defend to a steering committee. Aligned with PMBOK 7 schedule risk analysis (SRA).

Last updated:
Formulas verified by Bilal Khan, Mathematician
For educational purposes only. Not formal project-management or financial advice.

Project Setup

Tasks (Three-Point Estimates)

Enter optimistic, most likely, and pessimistic estimates for each task.

Task 1

Risk Events (Optional)

Add discrete risks with probability and impact on duration/cost if they occur.

No risk events added yet

Simulation Settings

Simulate Project Risk

Use Monte Carlo simulation to understand the range of possible outcomes for your project timeline and budget. Get probability-based estimates instead of single-point guesses.

Quick Start:

  1. Add your project tasks with three-point estimates
  2. Optionally add risk events with probabilities
  3. Set target deadline and budget (optional)
  4. Run the simulation to see probability distributions

What are three-point estimates?

For each task, estimate the optimistic (best case), most likely, and pessimistic (worst case) duration and cost. The simulation samples from these ranges.

Start by adding tasks above

The PERT Sentence Your Steering Committee Wants

Your engineering team committed to a December 15 launch date. Eleven tasks, four of which sit on the critical path. The team gave you optimistic and pessimistic estimates for each task. The question for the steering committee: how confident are you in December 15, and what’s the date you can defend at 90% confidence?

That’s a project-specific schedule-risk problem, not a general simulation problem. PERT three-point estimation, critical-path analysis under stochastic durations, and tornado-chart sensitivity together give you a defensible answer: “There’s a 75% chance we finish by January 8, 90% chance by January 22.” Behind those numbers sit thousands of simulated schedules, each sampling task durations from three-point estimates and respecting the dependency chain.

The common mistake in project planning is quoting the most-likely total as the deadline. That number has roughly a 50% chance of being exceeded because delays compound along the critical path. The gap between P50 and P90 is your risk buffer in concrete units (days, weeks, dollars). If P50 is 14 weeks and P90 is 17 weeks, a three-week buffer covers most downside scenarios. If P90 is 24 weeks, the project has a structural uncertainty problem that no buffer can paper over. You need to re-scope.

For general Monte Carlo simulation across any quantitative model with uncertain inputs (financial models, capacity planning, demand forecasting, lab experiments), see the general Monte Carlo simulation primer. This page is built specifically for the PERT-and-critical-path workflow that PMOs run on schedule and cost risk.

Best, Base, and Worst: Framing the Three-Point Estimate

Every task in the project gets three duration estimates. The optimistic value is the fastest you could finish if nothing goes wrong, not a fantasy, a realistic best case. The most likely is the duration you would commit to in a normal sprint. The pessimistic is the duration if a major blocker appears: an external dependency delays, a key person is unavailable, or the spec changes mid-task.

The simulation draws a random duration for each task from a triangular or Beta-PERT distribution defined by these three points. Beta-PERT is what classical PERT (the 1958 Polaris program origin) actually used: a smoother distribution with mean tE = (O + 4M + P)/6 and variance σ² = ((P − O)/6)². The triangular alternative is computationally simpler but has thicker tails and tends to overstate variance. For most planning purposes the difference is small; choose Beta-PERT when stakeholders expect classical PERT outputs and triangular when speed of computation matters more than the exact distribution shape.

The shape of the triangle (or Beta-PERT) matters: if the pessimistic tail is much longer than the optimistic one (say, 3-5-15 days), the distribution is right-skewed and the mean is pulled above the mode. This is why summing most-likely values understates the total. The right tails compound across tasks even when the modes don’t.

A useful calibration: ask the estimator “would you bet your bonus that the task finishes within your pessimistic estimate?” If they hesitate, the pessimistic number is too tight. Run the calibration question on every task before trusting the inputs.

Critical Path Identification Under Stochastic Durations

The deterministic critical path is the longest sequence of dependent tasks through the project network when each task has a single duration. With three-point estimates, every task has a probability distribution over its duration, which means the critical path itself is probabilistic. In some simulation runs, a task that’s technically “off the critical path” under most-likely durations becomes the bottleneck because its pessimistic case dragged its parallel chain longer than the deterministic critical path.

The simulation captures this by recomputing the critical path in every iteration. The criticality index for each task is the percentage of iterations in which the task fell on the critical path. A task with a 40% criticality index is a hidden risk even if it’s not on the deterministic critical path. Two effects worth watching: a near-critical path with one high-variance task can swap into criticality regularly, and a deterministic-critical task with very tight estimates may not actually drive variance even if its mean duration is large.

Output to read: tasks ranked by criticality index. Anything above ~30% deserves attention even if the deterministic CP doesn’t flag it. Anything below ~5% is genuinely off the critical path under all reasonable scenarios and can be ignored from a schedule-risk standpoint.

Tornado Chart Construction and Reading

After running the simulation, a tornado chart ranks each task by its contribution to total timeline variance. Tasks on the critical path with wide estimate ranges dominate the chart. A task estimated at 3-5-7 days contributes little variance. A task estimated at 2-5-20 days dominates it.

The math behind the bars: for each task, the chart shows how much the project completion date shifts when that task’s duration moves from its 10th percentile to its 90th percentile, holding all other tasks at their median. The widest bars are the highest-impact de-risking targets. The usual fix is to prototype the high-variance task first or add a spike to tighten its uncertainty range. Splitting the task into smaller pieces with tighter individual bounds is the heavier-handed alternative when prototyping isn’t an option.

Tornado charts also reveal hidden coupling. If two tasks rank high on the tornado but they’re assigned to the same person, their durations are correlated and the simulation (which assumes independence) understates the true tail risk. The fix is to add explicit resource constraints to the model or rebalance assignments before running the simulation.

Schedule Risk vs Cost Risk Decomposition

Schedule risk and cost risk look related but answer different questions. Schedule risk is “when will this finish?” and depends on the critical path through the dependency network. Cost risk is “what will this cost?” and depends on the sum of all task costs, regardless of dependency. A task that’s off the critical path but expensive contributes nothing to schedule risk and a lot to cost risk.

The decomposition matters because the two distributions usually correlate but not perfectly. Labor costs scale with duration (more days means more wages), so any task that runs long tends to also cost more. But fixed-price materials, equipment-rental contracts with weekly minimums, and overhead allocations break that correlation. The simulator runs both distributions in parallel and reports schedule-cost correlation as a single number (typically r = 0.6 to 0.8 for software projects, lower for capital construction where material costs dominate).

For reporting, the joint distribution matters more than the marginals. A 90% chance of hitting the deadline AND a 90% chance of staying under budget gives a joint probability typically around 80% (if correlation is 0.7) rather than 81% (which would be the independent case). For a contract that includes both schedule and cost penalties, the joint metric is what matters. Always report the joint percentile next to the marginals.

Schedule reserves and cost reserves should be sized separately. A 15% schedule reserve and a 15% cost reserve don’t imply a 15% joint reserve. Run the joint distribution and pick reserve levels from the actual joint quantiles, not the products of marginals.

Sanity Checks Before You Trust the Output

Does the P50 match your gut? If the simulation says P50 is 22 weeks but your experienced PM says “feels like 14,” either the estimates are padded or the PM is ignoring dependencies. Investigate the gap before presenting results.

Is the P90/P50 ratio reasonable? For a well-estimated project, P90 is typically 1.3 to 1.6 times the P50. Ratios above 2.0 suggest one or more tasks have extremely wide ranges. Tighten the estimates or split the tasks. Ratios below 1.1 suggest the team isn’t acknowledging real uncertainty.

Do the dependency chains make sense? A simulation that allows tasks to start before their predecessors finish will produce optimistic results. Verify the dependency graph before interpreting outputs. Check that parallel tasks are genuinely parallel: if the same person does both, they’re effectively sequential and the simulation overstates how much time the parallelism saves.

Estimates anchored to deadlines instead of work. If the team knows the deadline is week 12, their “most likely” estimates will cluster around values that sum to 12 weeks. The simulation then confirms the deadline with high probability, a circular validation. To break the loop, estimate each task in isolation before revealing the aggregate.

PERT and Critical-Path Equations

Three-point estimation and critical-path aggregation use these formulas:

PERT-weighted mean (Beta-PERT)
tE = (O + 4M + P) / 6
O = optimistic, M = most likely, P = pessimistic
PERT standard deviation
σ = (P − O) / 6
Variance of path = Σ σi² for tasks on the critical path
Critical-path duration (per iteration)
TCP = max over all paths of (Σ sampled durations along path)
Repeated N times to build the distribution of TCP
Criticality index
CItask = (iterations where task is on critical path) / N
Joint schedule-cost percentile
Pjoint(T ≤ t, C ≤ c) computed from joint distribution of (T, C)
Not equal to P(T ≤ t) × P(C ≤ c) when correlation ≠ 0

Five-Task Software Sprint: Full Risk Walkthrough

Scenario: A sprint has five tasks. Task A (API design: 2/3/5 days) feeds Task B (backend build: 4/7/14 days). Task C (UI design: 1/2/3 days) feeds Task D (frontend build: 3/5/8 days). Task E (integration test: 2/3/6 days) depends on both B and D. Two paths exist: A→B→E and C→D→E.

Deterministic estimate: Path 1 most-likely total = 3+7+3 = 13 days. Path 2 = 2+5+3 = 10 days. Critical path is A→B→E at 13 days.

Simulation (10,000 runs): P50 = 15 days, P80 = 18 days, P90 = 21 days. Task B has a criticality index of 82%, which means it dominates the timeline in most runs. Task D has a criticality index of 31% because its pessimistic case (8 days) can push path 2 past path 1 in some iterations.

Tornado read: Task B contributes ~5 days of P50-to-P90 spread. Task D contributes ~1.5 days. Tasks A, C, and E contribute under 1 day each. De-risk Task B first. Can the backend build be split into two smaller tasks (model design, then API integration) with tighter individual bounds?

Action: The deterministic plan says 13 days. The P90 says 21 days. Quote 18 days (P80) to the stakeholder with a note that 21 days is the downside if Task B hits its pessimistic case. If the contract has a hard deadline, negotiate the 21-day version with explicit acknowledgment that it’s the 90% confidence number, not the typical case.

Sources

Project Management Institute (PMI). A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th edition (2021). Section on Schedule Risk Analysis (SRA) and quantitative risk analysis principles. PMBOK 7 shifted from prescriptive process to principles-based guidance, but the SRA workflow described here remains current practice.

PMI, Schedule Risk Analysis With Monte Carlo Simulation. PERT-based schedule risk quantification methodology for project managers.

NASA, Cost Estimating Handbook (Schedule Risk). Three-point estimation and simulation-based schedule risk for engineering projects, with worked examples from spacecraft programs.

AACE International, Recommended Practices for Risk Analysis. Industry standard for probabilistic project scheduling. RP 41R-08 covers the integrated cost-and-schedule risk approach used here.

Harvard Business Review, Delusions of Success. Why project estimates are systematically optimistic and how simulation corrects the bias.

Frequently Asked Questions

Is this compatible with PMBOK 7th edition's risk approach?

Yes. PMBOK 7 (2021) replaced the prescriptive PMBOK 6 process model with a principles-based framework, but the schedule-risk analysis (SRA) workflow described in PMBOK 7's Project Management Performance Domains and the linked PMI Standard for Risk Management still uses three-point estimation, critical-path simulation, and percentile-based reporting. The outputs this tool produces (P50/P80/P90 schedule, criticality index, tornado-chart sensitivity) map directly to the deliverables PMBOK 7 expects from a quantitative risk analysis. The tool does not generate the formal risk register or the qualitative risk matrices PMBOK 7 also expects, so use this for the SRA layer and a separate risk-register process for qualitative analysis.

How does this relate to the Schedule Risk Analysis (SRA) my PMO requires?

SRA is the broader practice; this tool implements its quantitative core. A full SRA workflow has four parts: identify the schedule risks (qualitative, often via workshops), quantify task durations with three-point estimates, run a simulation to get the schedule-risk distribution, and decide on schedule reserves and mitigation actions. This tool covers parts 2, 3, and the data side of part 4. The risk identification (part 1) and the formal mitigation-planning narrative (the human side of part 4) are PMO process work the tool doesn't replace. AACE International RP 41R-08 is the most-cited reference for what a defensible SRA includes; PMI's Practice Standard for Project Risk Management is the second.

Can I export results to MS Project or Primavera?

Not directly from this tool. The simulation output is a distribution, not a Gantt chart, and MS Project / Primavera P6 expect deterministic durations as inputs. The standard workflow is: build your schedule in MS Project or P6 with most-likely durations, export the dependency network and task list, run the SRA in this tool (or a dedicated SRA tool like Acumen Risk, Safran Risk, or Primavera Risk Analysis), then feed the resulting schedule reserve back into MS Project as buffer tasks or contract milestones at the P80 or P90 dates. Most professional SRA tools have direct P6 import/export. This tool is positioned for early-stage PMO planning and post-hoc validation, not as a P6 plugin.

What if my tasks run in parallel, not sequence?

The simulation handles parallel work correctly through the dependency network. Two parallel chains converge at a join task, and the join task starts only when both predecessors finish, which means the longer of the two parallel sampled durations determines the start time. The criticality index naturally captures which parallel chain becomes critical in each iteration. The case where this breaks is resource-constrained parallelism: if two parallel tasks share a single person, they're not really parallel and the simulation will overstate parallel speedup. Add explicit resource constraints to the model, or sequence the tasks manually if you only have one resource for both.

How do I estimate task durations if I have no historical data?

Use structured estimation: analogy (compare to similar tasks done before), decomposition (break tasks into smaller pieces you can estimate), expert judgment (consult with team members who have relevant experience), or wideband Delphi (multiple experts estimate independently, then discuss). For the pessimistic estimate, consider what could go wrong: technical issues, learning curve, dependencies, reviews. Doubling the most-likely estimate is a reasonable starting pessimistic when nothing better is available. That framework gives you a defensible starting estimate even when historical task data is missing. Document your assumptions explicitly so the SRA can be re-run when better data arrives.

Should I use P50, P80, or P90 for planning?

Depends on what you're committing to. P50 (internal targets, stretch goals, or projects where you can absorb overruns), P80 (standard planning, provides reasonable buffer without excessive padding, and the AACE RP 41R-08 default), P90 (external commitments, fixed-price contracts, or projects where overruns have serious consequences). Many organizations use P80 for scheduling and P90 for budgeting. The key is consistency: pick one percentile per project class and document it. Mixing P50 and P90 across line items in the same plan creates aggregate estimates that don't correspond to any consistent percentile.

How do I incorporate risks that affect specific tasks?

Two approaches. The first is to widen the affected task's pessimistic estimate to include the risk impact (a $50K materials price-spike risk that could add 3 days becomes a wider 3-to-7 day pessimistic). The second is to add the risk as a separate event with its own probability and impact: 30% chance of triggering, +5 days if it triggers. Approach one is simpler but blends low-probability tail risks into the task's normal distribution, which can overstate uncertainty if the risk is rare. Approach two is more explicit but requires modeling more events. Most practitioner SRAs use approach one for routine risks and approach two for the top three or four named risks on the risk register.

Why do duration and cost have a positive correlation?

Strong positive correlation (r > 0.7) typically occurs because labor costs scale with duration (more days means more wages), the same uncertainty drivers affect both (scope changes, technical issues that delay AND require rework), and risks that add duration usually also add cost. Weak or no correlation can occur when cost drivers are independent of schedule (fixed-price materials, equipment costs that don't scale with time, or sunk costs incurred regardless of timeline). The schedule-cost correlation matters for joint-risk reporting: if you commit to 90% schedule confidence AND 90% cost confidence, the joint confidence is lower than either marginal because the two distributions co-vary.

What probability of meeting targets is acceptable?

Depends on your organization's risk appetite and contract structure. 80%+ is generally acceptable for important commitments. 50 to 80% is risky territory: consider adding contingency or adjusting targets. Below 50% is high risk and the targets probably need significant revision. For critical projects (regulatory deadlines, public commitments, contractual penalties), aim for 80 to 90% probability on both deadline and budget separately, but check the joint probability of hitting both. The joint metric is often 5 to 15 percentage points lower than the marginals when schedule-cost correlation is high.

How often should I rerun the simulation?

Rerun when tasks complete (remove them from the active model), estimates are refined based on new information, scope changes add or remove tasks, risks materialize or are mitigated, or at major milestones and phase gates. For active projects, weekly updates during execution help track whether you're on the good or bad side of the original distribution and whether corrective action is needed. The SRA isn't a one-time exercise. PMOs that re-run it monthly typically catch slipping schedules 4 to 6 weeks before the deterministic plan would flag the slip.

Beta-PERT or triangular distribution: which should I use?

Beta-PERT is what classical PERT (the 1958 Polaris program origin) actually used and what most stakeholders expect when they hear 'PERT analysis.' It's smoother than triangular, has the analytic mean t_E = (O + 4M + P)/6, and produces slightly tighter tails. Triangular is simpler computationally and more conservative (slightly wider tails), which can be a feature when you want estimates to err on the side of caution. For most planning purposes the difference is small, often 5 to 10% on the P90. The choice of distribution matters less than the quality of the three-point estimates. If your O/M/P values are wrong, no distribution shape rescues the analysis.

Explore More Operations & Planning Tools

Build essential skills in operations research, project management, and data-driven decision making

Explore All Data Science & Operations Tools

How helpful was this calculator?