Schedule Risk Analysis
Monte Carlo simulation of one Primavera P6 XER: duration ranges and risk events are run through the schedule's own logic thousands of times to give P50 / P80 / P90 finish dates, criticality and the biggest risk drivers.
Your file never leaves your computer. It is read and simulated right here in your browser - nothing is uploaded. Your settings are kept in this browser only.
Schedule
Duration uncertainty
Range applied to every remaining duration, as a % of the scheduled remaining duration. Completed work is fixed; in-progress activities vary only their remaining duration.
Ranges, sampling and sensitivity - same conventions as Primavera Risk Analysis / Safran
P10 / P90 (Trigen): when people give a range they usually mean "90% sure it won't be shorter / longer than this", not the absolute limits. With P10 / P90 selected, the entered optimistic and pessimistic values are treated that way and stretched to the min / max that leave 10% beyond each end (risk impacts too). Treating P10/P90 answers as absolute min/max makes the results too narrow.
Latin Hypercube (the default in PRA and Safran) spreads each input's draws evenly over its whole range, so results settle with fewer iterations than plain Monte Carlo. Sensitivity is the rank (Spearman) correlation between each activity's duration and the project finish, as PRA's duration sensitivity.
Why correlation?
If every activity's duration is drawn independently, early and late activities cancel each other out and the spread of finish dates comes out unrealistically narrow. Commercial tools (Primavera Risk Analysis, Safran Risk, Acumen Risk, @RISK) let you correlate activities that share a cause - the same crew, contractor, productivity or weather. Here a shared factor ties activities in the same group together at the coefficient you set (0 = independent, 1 = move in lock-step). 0.3-0.5 is a common default when there is no data. Risk events below also correlate the activities they hit, because one occurrence affects all of them.
Overrides
Give some activities a different range. The last matching row wins. 0 / 0 / 0 holds an activity fixed - use it for work outside your control (owner, permits, third parties).
Risk events
Things that may or may not happen. Each iteration draws whether the risk occurs (probability) and, if it does, its impact - added to every activity it applies to. Set the probability to 0 or untick a risk to leave it out.
Milestones and run
The same file, settings and seed always give the same answer. Change the seed to check the results are stable.