Schedule risk analysis: why projects finish late
Projects finish late because a schedule built from most likely durations is optimistic: in a building project, those durations finish in week 55, yet only 14.3% of 5,000 simulated outcomes finish by then. The mean finish is week 58.2 and the P80 finish week 60.7, so the week-60 deadline is missed in 27.2% of outcomes.
Three causes make up the 3.23 weeks between the most likely and the mean finish: durations that can overrun further than they can underrun (2.50 weeks), a severe weather risk (0.60 weeks) and merge bias where two parallel trades meet (0.13 weeks).
What schedule risk analysis is
Schedule risk analysis gives each activity’s duration a range instead of a single number, adds the risk events that could delay the work, and recalculates the schedule thousands of times with values drawn from those ranges: a Monte Carlo simulation. The result is a distribution of finish dates. From it you read the chance of meeting a deadline, and the finish at a chosen confidence level, such as the P80: the date that 80% of simulated outcomes finish by (see P50, P80 and P90).
A single-point schedule answers “when do we finish if every activity takes its most likely time?”. Schedule risk analysis answers “how likely is each finish date?”, and shows why the first answer is usually too early.
The example schedule
The building project example has a Schedule sheet next to its cost estimate. Its 7 activities are in weeks: design, permits, foundation and structure one after another, then MEP (mechanical, electrical and plumbing) and finishes in parallel, then commissioning. The finish, in weeks from the start, is one formula: =C2+C3+C4+C5+MAX(C6,C7)+C8+B10.
MAX(C6,C7) waits for whichever of the two parallel trades takes longer. B10 is the weather delay, =Estimate!D14*2: 2 weeks if the severe weather risk in the cost estimate’s risk register happens (a 30% chance), none otherwise. For the simulation each duration gets a three-point PERT distribution from min through most likely to max:
| Activity | Min | Most likely | Max | Mean |
|---|---|---|---|---|
| Design | 6 | 8 | 12 | 8.33 |
| Permits | 4 | 6 | 12 | 6.67 |
| Foundation | 8 | 10 | 14 | 10.33 |
| Structure | 14 | 16 | 22 | 16.67 |
| MEP (parallel) | 10 | 12 | 16 | 12.33 |
| Finishes (parallel) | 8 | 10 | 15 | 10.50 |
| Commissioning | 2 | 3 | 5 | 3.17 |
The most likely finish vs the simulated finish
With every duration at its most likely value and no weather delay, the workbook says week 55. That is the date a single-point schedule would promise. The simulation draws all 7 durations and the weather risk together, 5,000 times:
| Most likely finish (every duration at its most likely value, no weather delay) | 55 |
|---|---|
| Mean of the simulated finishes | 58.2 |
| P50 (half the outcomes finish earlier) | 58.2 |
| P80 | 60.7 |
| P90 | 62.1 |
| Chance of finishing by week 55 | 14.3% |
| Chance of finishing after week 60 | 27.2% |
The mean finish is week 58.2, and only 14.3% of outcomes finish by week 55. The deadline of week 60 lies between the P50 (58.2) and the P80 (60.7): it is met in 72.8% of outcomes and missed in 27.2%. No single estimate in this schedule is careless; the optimism comes from adding up most likely values, for three reasons.
Why projects finish late: three causes
The 3.23 weeks between the most likely finish and the mean finish split exactly into three parts, each measured on the trials.
| Most likely finish | 55.00 |
|---|---|
| + Skewed durations | 2.50 |
| + Severe weather | 0.60 |
| + Merge bias | 0.13 |
| = Mean of the simulated finishes | 58.23 |
Skewed durations: 2.50 weeks. Every range here reaches further above its most likely value than below it: an activity can overrun by more than it can gain. A PERT duration’s mean is (min + 4 × most likely + max) / 6, so permits, 4 to 12 weeks with 6 most likely, takes 6.67 weeks on average. Adding up mean minus most likely along the most likely schedule’s path (every activity except finishes, which runs beside the longer MEP) gives 2.50 weeks, 77.4% of the gap. The largest shares, 0.67 weeks each, come from permits and structure, whose ranges reach 6 weeks above the most likely duration and only 2 below.
Severe weather: 0.60 weeks. This risk event adds 2 weeks in the 30% of trials where it happens and nothing in the rest, 0.60 weeks on average. No trial is delayed by 0.60 weeks: each is delayed by 2 or not at all. The most likely schedule leaves the risk out, since it is more likely not to happen, yet the deadline is missed in 40.9% of trials with the delay against 21.4% without it.
Merge bias: 0.13 weeks. Where parallel paths meet, the work waits for the later one. MEP takes 12.33 weeks on average and finishes 10.50, so MEP usually sets the pace; but in 15.0% of trials finishes takes longer, by 0.85 weeks on average when it does. Those trials lift the average of MAX(C6,C7) 0.13 weeks above MEP’s mean (15.0% × 0.85). The average of the later of two durations is more than the later of their averages, and a schedule of single durations cannot show the difference.
Adding up the mean durations along the path, as the classic PERT method does, gives week 57.5. That removes the optimism of skewed durations but still misses the risk events and the merge bias, which is why schedule risk analysis simulates the whole schedule instead.
Merge bias grows when parallel paths are close
Merge bias is the smallest cause here because MEP is 1.83 weeks longer than finishes on average, so finishes seldom overtakes it. Give finishes the same range as MEP and run the same trials again (every other input keeps its draws):
| As published | With MEP’s range | |
|---|---|---|
| Most likely finish, week | 55 | 55 |
| Finishes takes longer than MEP | 15.0% | 49.7% |
| Merge bias, weeks | 0.13 | 0.63 |
| Mean finish, week | 58.2 | 58.7 |
| P80 finish, week | 60.7 | 61.2 |
| Chance of finishing after week 60 | 27.2% | 32.8% |
The most likely finish does not move: a single-point schedule sees only the longer of the two most likely durations, still MEP’s 12 weeks. But finishes now takes longer in about half the trials, the merge bias rises to 0.63 weeks, and the chance of finishing after week 60 goes from 27.2% to 32.8%. The more paths meet at one point, and the closer their lengths, the larger the merge bias, so a schedule with many parallel paths of similar length usually carries more of it than this example.
Setting a P80 finish date
A finish date with 80% confidence is the P80 of the simulated finishes. The schedule buffer, or schedule contingency, is the time between the most likely finish and the date you commit to:
| Confidence | Finish week | Buffer after week 55 |
|---|---|---|
| P50 | 58.2 | 3.2 |
| P80 | 60.7 | 5.7 |
| P90 | 62.1 | 7.1 |
The deadline of week 60 gives 72.8% confidence, less than P80. To commit at P80, either move the date to week 60.7 or shorten the activities that drive the finish, shown in the next section. Which confidence level to use is a policy decision, as with cost contingency.
In xellstorm, hover over the S-curve to read the chance of finishing by any week, or type a week into the probability box to see the chance of finishing after it.
What drives the finish date
The contribution to variance shows which inputs account for the spread of the finish week; xellstorm estimates it by regression on the ranks of the trials, the same numbers the app shows.
The two activities with the widest ranges, permits and structure (8 weeks from min to max), explain about 23% each. Severe weather, a risk from the cost estimate, explains 10.2%. Finishes explains only 0.4%: it sets the finish in just 15.0% of trials, and otherwise its duration makes no difference. The cost items and the other risk events are not in the finish formula, so their true share is zero; together they get less than 0.1% in the estimate. The tornado chart guide shows how a one-at-a-time tornado misreads the two parallel trades.
Limits: a spreadsheet schedule, not a CPM network
xellstorm simulates the workbook’s own formulas, and the schedule logic lives in them: sums for activities in sequence, MAX where paths merge. There is no network of activities and links behind it, as in a critical path method (CPM) scheduling tool: no link types or lags, no calendars, no resource leveling, and no critical path worked out in each trial. What the formulas express, xellstorm simulates; what the workbook leaves out, it cannot add.
xellstorm opens Excel workbooks (.xlsx and .xlsm) and does not read Primavera P6 or Microsoft Project files. For a schedule kept in one of those tools, either model its main paths in a workbook, as in this example, or use a schedule risk tool that reads the schedule file. A spreadsheet suits early estimates, summary schedules with a few parallel paths, and schedules tied to a cost model in the same workbook; a detailed network of hundreds of linked activities belongs in a scheduling tool.
Try it yourself
- Open the model in xellstorm. Its inputs, outputs and the week-60 target are already set; there is nothing to install and no sign-up, and the workbook is calculated in your browser.
- Run it and open the finish week’s results. With the same seed and number of trials you get the numbers on this page: the mean, with the workbook value of week 55 under it, the chance of finishing after week 60, the P90, and percentiles from P1 to P99, including the P80, week 60.7.
- In the probability box, choose
<=and type 55 to see how rarely the most likely finish is met. - On the Distributions step, give finishes MEP’s range (10, 12, 16) and run again: the mean and the P80 move later, while the workbook value stays at week 55.
- Export an HTML report, a PowerPoint deck or a results workbook; the workbook holds every trial’s inputs and outputs, so you can count how often finishes takes longer than MEP.
Questions
What is merge bias in project scheduling?
Merge bias is the extra delay where parallel paths of a schedule join: the next activity waits for the latest path, and the average of the latest of several durations is more than the latest of their averages. A schedule of single durations cannot show it. In the building example it adds 0.13 weeks to the mean finish, and 0.63 weeks when the two parallel trades have the same range.
What is a P80 finish date?
A P80 finish date is the date that 80% of simulated outcomes finish by, so there is a one-in-five chance that the project finishes later. It comes from a schedule risk analysis, not from the schedule itself: in the building example the most likely durations finish in week 55 and the P80 is week 60.7.
Why not just add up the mean durations?
Adding up the mean durations along the critical path, the classic PERT method, corrects for skewed durations but not for risk events or merge bias. In the building example it gives week 57.5, against a simulated mean of week 58.2; the difference is the weather risk and the merge bias.
Can xellstorm open Primavera P6 or Microsoft Project schedules?
No. xellstorm opens Excel workbooks (.xlsx and .xlsm) only and does not read Primavera P6 or Microsoft Project files. It simulates a schedule written as spreadsheet formulas, such as a summary schedule with sums for sequences and MAX where paths merge, not a network of linked activities.
Should activity durations be correlated?
Activity durations should be correlated when one cause stretches several of them, such as low productivity or a design that proves more complex than planned. Correlated activities in sequence overrun together instead of partly canceling out, which widens the range of finish dates. xellstorm can correlate inputs by rank; this example keeps them independent to stay simple.
Related
- Project cost and schedule
How much contingency does a construction project need?
Worked example: a building estimate’s most likely costs are exceeded in 94.2% of simulated outcomes. Size the construction cost contingency with Monte Carlo. - Guide
P50, P80 and P90: what they mean and which to budget at
P80 is the cost 80% of simulated outcomes stay under. Six building cost items’ P80s add up to 2,843, but their sum’s P80 is 2,756 (USD thousands). - Guide
Tornado charts and sensitivity analysis explained
A tornado chart moves each input alone, from P10 to P90 by default in xellstorm. In a building estimate, one risk moves the cost by 150 (USD thousands).
xellstorm is a browser-based Monte Carlo simulation tool for Excel models: no add-in, and the workbook never leaves your computer.