What Is Monte Carlo Simulation?
Monte Carlo simulation is a technique that models uncertainty by running thousands of random scenarios. For project scheduling, it works by assigning probability distributions to each task duration, then simulating the entire project thousands of times — each time randomly sampling a duration for each task from its distribution. The result is not one answer but a probability distribution of project completion dates.
Where PERT gives you a single expected duration with a standard deviation, Monte Carlo gives you a full picture: "There is a 50% chance of finishing by June 15, an 80% chance by July 2, and a 95% chance by July 18." This is far more useful for setting realistic commitments.
Why Not Just Use PERT?
PERT has two fundamental limitations that Monte Carlo solves. First, PERT only considers variance on the critical path — but in a real project with many parallel paths, near-critical paths can become critical in specific scenarios, adding risk that PERT ignores. Second, PERT underestimates duration at merge points where multiple paths converge. Monte Carlo naturally handles both by simulating every possible outcome across all paths.
How It Works
Key Outputs
| Output | What It Shows | How to Use It |
|---|---|---|
| Completion Date Histogram | Distribution of possible finish dates | Visualize the range of outcomes. Narrow = low risk. Wide = high risk. |
| S-Curve (Cumulative) | Probability of finishing by any given date | Read off the confidence level for any proposed deadline. |
| P50, P80, P90 Dates | Dates at specific confidence levels | P50 for planning, P80 for customer commitments, P90 for contracts. |
| Criticality Index | % of iterations where each task is on the critical path | Tasks with high criticality index (even if not always critical) need management attention. |
| Sensitivity Analysis | Which task uncertainties most affect the project outcome | Focus estimation improvement and risk mitigation on the most sensitive tasks. |
Common Probability Distributions
| Distribution | Inputs | Best For |
|---|---|---|
| Triangular | Min, Most Likely, Max | Simple, intuitive. Good for tasks where you can estimate three points. Most commonly used. |
| Beta (PERT) | Min, Most Likely, Max | Same inputs as triangular but with smoother tails. More realistic for task durations. |
| Lognormal | Mean, Std Dev | Tasks that can take much longer than expected but not much shorter (right-skewed). Common in construction and software. |
| Uniform | Min, Max | When you have no idea about the most likely duration — equal probability across the range. |
Worked Example
A 4-task project with two parallel paths merging at the end:
Path 2: Task C (4-6-12 days) → Task D (2-4-8 days)
Both paths merge at: Task E (1-2-3 days)
| Method | Result | Notes |
|---|---|---|
| PERT Expected | 16.0 days | Only considers Path 1 (critical path) variance. Ignores Path 2. |
| Monte Carlo P50 | 16.8 days | Accounts for scenarios where Path 2 becomes critical (merge bias). |
| Monte Carlo P80 | 19.5 days | 80% confident: allows for things going somewhat wrong. |
| Monte Carlo P95 | 23.1 days | 95% confident: covers most bad scenarios. |
PERT Underestimates by ~5% at the Merge
In this simple 2-path example, PERT underestimates P50 by about 5%. In real projects with 5-10 parallel paths merging, the underestimation can be 10-20% or more. This is the "merge bias" problem, and it is why Monte Carlo is valuable for any project with significant parallelism.
Monte Carlo in Manufacturing Operations
| Application | Value |
|---|---|
| Plant turnaround planning | Hundreds of parallel activities merging at startup. Monte Carlo gives a realistic go-live date distribution. |
| NPI launch dates | Set customer launch commitments at P80 instead of the "expected" date that only has 50% chance. |
| Capital project approval | Present the board with a range: "90% confident within $X and Y weeks" rather than a single point estimate. |
| Bid/proposal estimation | Price and schedule bids at a confidence level that balances competitiveness with risk. |
| Contingency sizing | Instead of adding an arbitrary 10% contingency, calculate the difference between P50 and P80 as a data-driven reserve. |
Implementation
✅ Best Practices
- Run at least 1,000 iterations (5,000-10,000 for stable results)
- Use three-point estimates from the team — do not invent numbers
- Model correlations between related tasks when possible (bad weather delays all outdoor work)
- Present results as a range with confidence levels, not a single number
- Focus sensitivity analysis on the top 5-10 most influential tasks
❌ Common Pitfalls
- Garbage in, garbage out — simulation cannot fix bad estimates or missing dependencies
- Overcomplicating distributions when triangular works fine for most tasks
- Using results without explaining confidence levels — "it will take 19 days" vs. "80% chance of 19 days"
- Ignoring the criticality index — it tells you where to focus risk mitigation
- Running simulation on an incomplete or incorrect network diagram
🎯 Key Takeaway
Monte Carlo simulation is the most honest way to answer "When will this project finish?" It replaces single-point estimates with probability distributions that account for uncertainty on every task and across every path in the network. Use it whenever the stakes are high (customer commitments, capital approvals, turnaround planning), present results as confidence levels not point estimates, and focus your risk mitigation on the tasks with the highest criticality index. It is not complicated — it is just running CPM thousands of times with randomized inputs. The insight it provides is worth orders of magnitude more than the effort.
Interactive Demo
Run hundreds of Monte Carlo iterations and watch the completion time histogram build in real time. See how P50, P80, and P95 estimates compare to single-point guesses.
Stop reading, start doing
Model your process flow, optimize staffing with Theory of Constraints, and track every shift — all in one platform. Set up in under 5 minutes.