Schedule Quality for Risk Analysis: The Health Checks That Make or Break Your Model
You have built a meticulous schedule with thousands of activities. You have mapped dependencies. You have assigned resources. Then you load it into your Monte Carlo tool, run a simulation, and get a P80 forecast that seems absurdly high. Your first instinct is to question the risk inputs, but the real culprit is often sitting right in front of you: a schedule so constrained, so illogical, or so poorly structured that the simulation cannot move.
Schedule quality for risk analysis is the discipline of ensuring your schedule can dynamically respond to simulated conditions. It encompasses removing hard constraints, resolving excessive lags, closing open-ended logic paths, validating relationship types, and confirming calendar assignments. IQRM recommends it as a non-negotiable prerequisite to any Monte Carlo simulation, critical path analysis, or quantitative schedule risk analysis (QSRA).
Without schedule quality checks, your risk model does not forecast real uncertainty. It merely amplifies the structural flaws already embedded in your schedule. The result is inflated risk forecasts, loss of stakeholder confidence, and wasted mitigation effort on phantom risks.
This guide walks through the five health checks that separate models producing accurate forecasts from models that merely reflect bad data.
Figure 1: Seven-step schedule health check process that must be completed before running any QSRA
Why Schedule Quality Is the Gate to Reliable Risk Analysis
Garbage in, garbage out applies nowhere more directly than to Monte Carlo simulation. When you inject a schedule into a risk engine, the engine does not judge the logic. It does not question whether that hard finish date is realistic or whether those lags are placeholders. It simply calculates: given these activities, these durations, and these dependencies, what are the probable outcomes?
If the schedule itself is locked down by constraints, choked by excessive lags, or fragmented by open-ended logic, the simulation cannot respond to uncertainty. Activities cannot shift. Critical paths cannot flex. The model runs, but it predicts outcomes that cannot happen in reality because the schedule structure prevents them.
This is why schedule quality is a gate, not an afterthought. IQRM's Quantitative Schedule Risk Analysis (QSRA) Phase 2 methodology integrates schedule integrity checks before any simulation begins. You verify the schedule is healthy. You confirm it can respond to risk. Then, and only then, you load it into your Schedule Risk Analysis engine and trust the results.
The Five Critical Schedule Health Checks
Check 1: Remove Hard Constraints
Hard constraints are the enemy of dynamic simulation. Finish No Later Than dates, Must Finish On locks, or externally imposed deadlines buried in the schedule pin activities to specific dates. Your Monte Carlo model has no flexibility. The activity cannot move forward or backward to accommodate risk. The critical path cannot shift. The schedule becomes a rigid blueprint instead of a living model.
IQRM recommends removing every hard constraint except the project milestone finish date. If you need to model a contractual deadline or an external constraint, do it through risk event modeling, not by locking the schedule. This preserves flexibility while still capturing the constraint's impact.
Check 2: Resolve Lags and Leads
Lags are often placeholders that calcify over time. A 10-day lag between excavation finishing and foundation pouring might represent a real curing process, or it might represent an old assumption that was never validated. In a Monte Carlo model, excessive lags absorb uncertainty without reason, artificially inflating your risk forecast.
IQRM recommends replacing unexplained lags with dummy activities. Instead of a 5-day lag, create an explicit "Inspection" or "Cure" activity with its own duration and risk profile. This makes the logic transparent and allows the simulation to model uncertainty on the real work, not on invisible waiting time.
Check 3: Fix Open-Ended Logic
An open-ended activity is one that either has no predecessor (except the project start) or no successor (except the project finish). In a large schedule, dozens of them create false critical paths, confuse the Monte Carlo engine, and mask the real sequence of work.
Audit every activity. Every task must have a logical predecessor and successor. If an activity truly runs in parallel, give it explicit parallel logic. The goal is zero open-ended activities before you run your QSRA.
Check 4: Validate Relationship Types
Most schedule logic should be Finish-to-Start (FS) relationships. Start-to-Start (SS) and Finish-to-Finish (FF) relationships have their place, but excessive use creates "hammock" behavior where activities float across the schedule without clear boundaries. This distorts risk modeling because the simulation cannot isolate which activities are truly critical.
Validate that every SS and FF relationship serves a genuine logic purpose. If it exists just to create a rough parallel flow, replace it with explicit FS logic and separate activities. IQRM recommends that SS/FF relationships comprise less than 15% of all relationship types in a healthy schedule.
Check 5: Verify Calendar Assignments
A schedule calculated against a 5-day work week will not match reality if the project runs 24/7, or if it is subject to seasonal weather windows, or if key trades work on split shifts. Calendar mismatches create misleading duration estimates, which ripple through your risk model.
Confirm every activity has the correct calendar assigned. Verify non-working days, holidays, and shift patterns match the project's actual constraints. If you are running a Monte Carlo with weather windows (common in offshore or brownfield projects), ensure weather calendars are accurate. A single wrong calendar can skew your entire P80 forecast.
The Import Verification Step Most Analysts Skip
After cleaning your native schedule in Primavera P6 or Microsoft Project, you load it into your risk engine, Safran Risk for example, and assume the import is complete and accurate. Most analysts skip verifying this, and it costs them.
After import, recalculate the schedule in your risk tool (F9 in Safran Risk). Compare the early start, early finish, late start, late finish, and total float for a representative sample of activities against the source. If dates do not match, you have found a translation error: missing relationships, calendar mismatches, or constraint misinterpretations that happened during import.
What happens when this step is missed? You run your Monte Carlo, get results that look credible, present them to stakeholders, and six months into execution you realise your risk forecast was off by weeks because the imported schedule had silent errors. The mitigation strategies built on bad data become useless.
Schedule Quality Metrics: What the Numbers Should Look Like
A schedule health audit produces six key metrics. Compare your schedule against these benchmarks before running any QSRA.
| Metric | Target | What It Means |
|---|---|---|
| % Open-Ended Activities | 0% | Every activity must have a logical predecessor and successor |
| % Hard-Constrained Activities | < 5% | Only the final milestone should be pinned; everything else must flex |
| % Activities with Lags | < 10% | Lags should be rare and justified; replace with dummy activities |
| % SS/FF Relationships | < 15% | Non-FS logic should be occasional and purposeful |
| Baseline Execution Index (BEI) | > 0.8 | Ratio of planned to actual work scope; high BEI means schedule matches reality |
| Critical Path Length Index (CPLI) | 1.0 ± 0.1 | Values between 0.9 and 1.1 indicate a balanced, realistic baseline |
If your schedule falls short on any of these metrics, your Monte Carlo results will be unreliable. Fix the schedule first, then run the simulation.
Real-World Scenario: Failing the Health Check on a Brownfield Turnaround
An EPC contractor was executing a brownfield turnaround project with 3,200 activities across five major work streams. The project was tracking to P80 of 14 weeks late, a forecast that threatened a USD 2M-per-week liquidated damages clause. The owner demanded QSRA to understand where the risk was coming from.
IQRM's audit of the imported schedule revealed the problem immediately: 18% of activities were open-ended, 22% were hard-constrained to specific dates, and 340 activities carried excessive lags averaging 8 days. The schedule was not a model of real work. It was a collection of deadlines, guesses, and workarounds that had accumulated over months of changes.
Before schedule quality fix: P80 = 14 weeks late
After schedule quality fix: P80 = 6 weeks late
Artificial delay removed: 8 weeks (from bad schedule logic, not real risk)
The 8-week improvement was not from reducing actual risk. It was from removing the artificial delay that the broken schedule logic was imposing on every simulation run. The contractor could now focus mitigation on real risks instead of fighting the schedule itself.
Common Schedule Quality Failures and Their Impact on Risk Results
Hard constraints masking float. When activities are pinned to fixed dates, the schedule hides available float. Your Monte Carlo model then forecasts that small delays cascade into mega-delays, because the schedule cannot absorb them. The result is a risk forecast that looks catastrophic but actually reflects the constraint structure, not real uncertainty.
Open-ended activities creating false critical paths. If 15% of your activities have no logical predecessor or successor, the Monte Carlo engine does not know where they belong in the sequence. It calculates them as independent work that filters into the critical path, distorting which activities actually drive project completion.
Excessive lags absorbing uncertainty. A 20-day lag buried in the schedule acts like a sponge, soaking up uncertainty that should be attributed to real work. Your risk model then underestimates the impact of delays to the activities feeding that lag, because the lag itself is masked as fixed waiting time.
Missing or wrong calendars distorting weather risk. If your offshore hook-up schedule is calculated on a 5-day calendar when work actually happens 24/7, or if weather windows are not modeled, your Monte Carlo will show false risk. The P80 looks high, but it is not because of weather; it is because the calendar is wrong.
Circular logic or dangling activities. A schedule with loops or chains that do not connect to the main network creates a schedule that cannot calculate. Your import tool may force a recalculation that breaks dependencies, or reject the schedule outright. Either way, your QSRA is crippled before it starts.
How IQRM Integrates Schedule Quality into the QSRA Workflow
IQRM's Quantitative Schedule Risk Analysis methodology is organised into seven phases. Phase 2, Schedule Integrity and Import Checks, is where schedule quality is validated before any Monte Carlo simulation begins.
In Phase 2, IQRM audits the native schedule for the five health checks described above. Issues are resolved. The schedule is imported into Safran Risk (or the relevant risk engine). Dates are recalculated and verified against the source. Only after Phase 2 passes does the workflow proceed to Phase 3 (risk event modeling) and Phase 4 (Monte Carlo simulation).
This is not optional. It is a gate. No QSRA proceeds without passing the health check. Safran Risk has built-in schedule checking tools that automate much of this process, but the discipline of manual audit is essential because tools can miss context-specific issues that a human expert catches immediately. Choosing the right probability distributions for your risk analysis is meaningless if the schedule underneath them cannot flex.
Schedule quality is the foundation of every reliable risk forecast. If you invest in nothing else, invest in Phase 2. A clean schedule with rigorous health checks will yield risk results you can defend, trust, and act on. A dirty schedule will generate numbers that look impressive in a deck but crumble under scrutiny.
Frequently Asked Questions
What is schedule quality in risk analysis?
Schedule quality is the degree to which a project schedule can dynamically respond to simulated changes in duration, logic, and constraints. A high-quality schedule has no hard constraints (except the finish), no open-ended activities, minimal lags, appropriate relationship types, and correct calendar assignments.
Why do hard constraints break Monte Carlo simulation?
Hard constraints fix activities to specific dates, removing the flexibility that Monte Carlo simulation needs to explore uncertainty. The simulation compresses all uncertainty into the remaining flexible activities, inflating their calculated risk and distorting the forecast.
How many open-ended activities are acceptable?
Zero. Every activity must have a logical predecessor and successor (except the project start and finish milestones). Even a few open activities in a large schedule can create false critical paths that mislead your risk forecast. IQRM recommends a 0% target.
What is the difference between a lag and a dummy activity?
A lag is hidden waiting time attached to a relationship; a dummy activity is an explicit, named activity that represents waiting time. Lags are opaque to the Monte Carlo engine. Dummy activities are transparent: they have durations that can be made stochastic, they are visible in the schedule logic, and they communicate what the waiting period represents.
Which tool checks schedule quality for QSRA?
Safran Risk includes built-in schedule integrity checking tools that audit for hard constraints, open-ended activities, circular logic, and calendar issues. However, these tools are a starting point, not a substitute for expert human review. IQRM recommends running automated checks and then conducting a manual audit for context-specific issues.
What is the Critical Path Length Index (CPLI)?
The Critical Path Length Index is the ratio of planned critical path duration to actual critical path duration. A CPLI of 1.0 (between 0.9 and 1.1) indicates a balanced, realistic schedule. Values outside this range suggest over-estimation or under-estimation of the baseline, which usually signals schedule quality issues that will distort your risk forecast.
Can you run QSRA on a poor-quality schedule?
Technically, yes. Practically, no. A Monte Carlo simulation will run on any schedule, regardless of quality. But the results will be misleading. A poor-quality schedule generates a risk forecast that reflects the schedule's flaws, not the project's actual risk. IQRM recommends that you never present QSRA results from a schedule that has not passed the Phase 2 health check.
The difference between a risk forecast that drives decisions and one that sits in a drawer is schedule quality. Garbage in, garbage out is not a warning; it is a law. Respect it, or your Monte Carlo results will haunt you. Invest the time in Phase 2. Clean the schedule. Run the health checks. Then trust your simulation, because it is now running on data that reflects reality, not fantasy.
IQRM delivers specialist training and consulting in schedule quality assessment, quantitative schedule risk analysis, and Monte Carlo simulation. Our QRM Diploma programme equips professionals with the practical skills to audit schedules, run health checks, and produce defensible QSRA forecasts on real projects.

