Forecast the slip before it slips.
Schedule Risk is the Trueleveler engine that runs a CPM forward/backward pass over your schedule, then samples activity durations from a triangular distribution stretched by real risk data — late procurement, stale RFIs, pending COs, overdue submittals, risks logged in meetings. 1,000 trials. Returns p50/p90 completion bands, the named drivers behind them, ranked by the days each adds to the finish date (measured by re-running the forecast without it), and suggested pull-forward actions, each with the days recovered if its driver were cleared. When a tracker changes, Trueleveler queues a suggested re-run; you decide when to run it.
Try it now
Schedule Risk runs on your schedule and needs a free account (no card). It has no sample data yet, and the no-signup demo only levels bids.
Drivers, not vibes. Percentiles, not gut feel.
Every risk the engine finds is a named row: the activity it hits, a severity, how much it stretches that activity’s duration, and how many days it adds to the p50 finish. Switchgear forecast to arrive weeks after its need-by date is one row. An RFI on Floor 12 demising open 18 days against a project median of 8 is another. A pending CO of $25,000 or more still in owner review is a third. The forecast is the completion-date distribution that comes out of simulating the schedule with those stretches applied.
The engine runs a CPM forward/backward pass over schedule_items (predecessors + durations as imported from P6, MS Project, or native), then samples each activity duration from a triangular distribution — min/most-likely/max derived from the named drivers feeding that activity. One thousand trials. The completion-date distribution is the output. In the results, a PM can switch individual drivers off and recompute a what-if forecast without re-uploading the schedule. The what-if is not saved: it shows the effect of leaving those drivers out, and running the full analysis again is what records a new forecast.
Pre-mobilization. Every OAC. Every owner-update Friday.
Schedule Risk is the engine that turns a flat Gantt chart into a forward-looking forecast. Run it at the moments where committing to a date matters.
- Pre-mobilization — the baseline schedule looks fine. Then the simulation shows a p90 finish 38 days past the baseline finish because three long-lead items are forecast late. Better to know in week 1 than month 6.
- Every OAC meeting — the owner asks "are we on schedule?" The engine produces the bands and the named drivers. The PM walks through which risks moved this month and what's being done about each.
- Before signing a CO with time impact — a CO requests +28 days. Change Order Review checks whether the activity it names is on the critical path in your current schedule, using the same CPM math as Schedule Risk. Approving a CO that carries days queues a suggested Schedule Risk re-run.
- After a major tracker event — a schedule update, a change order with schedule impact, an RFI answer that adds days, a submittal review that finds deviations. Trueleveler queues a suggested re-run on the project; you run it when you are ready, the named drivers update, and the PM sees the impact before the morning standup.
- Owner-reporting Friday — weekly owner report inherits the latest forecast with the named drivers as the "risks" section, no manual writing.
The schedule, plus every signal the platform already collects.
The schedule is the structure. The trackers are the live state that turns the structure into a forecast. No separate uploads — the engine reads from the project's existing data.
Schedule baseline
P6 .xer / MS Project XML (.xml) / native Trueleveler schedule_items with predecessors and original durations. The engine runs CPM on whatever you have.
Procurement state
Need-by date (ROJ) vs forecast delivery. Items forecast to arrive 10 or more days late, and not yet delivered, become driver rows on the schedule activity you link on the item, or failing that one whose name matches (switchgear → energization, RTU → commissioning, etc.). A late item no activity can be tied to is listed as an unlinked driver, with the reason, not dropped.
RFIs
Open RFI age vs this project's median response time. RFIs open longer than the median become drivers, and the stretch grows once an RFI has been open three times the median.
Submittals
Submittals 30 or more days past their due date become drivers on the schedule activity they match by name.
COs
Pending change orders of $25,000 or more become drivers on the schedule activity they match by name. The larger the change order, the bigger the stretch.
Meeting risks
Critical and major risks logged in Meetings (from Voice Synthesis) become drivers on the schedule activity they match by name.
The distribution. And what to do about it.
Illustrative output for a 14-floor commercial office tower at month 7 of 18. Sample data, not a customer result:
The engine doesn’t just show the slip — it suggests the moves most likely to pull the dates in: expediting a late delivery, re-sequencing, an owner decision that unblocks float. Each suggestion is tied to one driver and carries that driver’s measured effect: the forecast is re-run with the driver removed and the p50 finish compared. That is the most clearing the driver could recover, not a promise for any one action, and the simulation is not re-run with the action itself applied. The PM walks the list and picks.
The forecast routes back into the work.
A risk model is only useful if the actions surface where decisions get made. Schedule Risk hands off to the engines below.
- Procurement — from a late long-lead driver you go to the Procurement Tracker, where the item has an Expedite button that emails the vendor.
- CO Review — a “Time-Impact CO” next step on the result opens Change Order Review, where a claimed delay is checked against the critical path in your current schedule.
Things everyone asks first.
What schedule formats are supported?
P6 .xer and MS Project XML (.xml) are native. MS Project's own binary .mpp format isn't parsed directly — there's no reliable open way to read it outside Microsoft Project itself — so a .mpp upload is caught immediately with a one-click fix: open it in Microsoft Project and use File → Save As → XML Format, then upload that .xml instead. Native Trueleveler schedule_items (the platform's own table) is the fastest path because tracker linkage is automatic. Asta Powerproject and Synchro export to P6 XML — that path works. Excel-as-schedule files are supported with a manual predecessor-mapping step.
Why a triangular distribution instead of beta or PERT?
Triangular gives a defensible min / most-likely / max anchored to real driver data rather than the curve-fit math behind beta. Construction PMs read "min 8 days, likely 12, max 18" faster than they read a beta's alpha/beta parameters. The 1,000-trial sample size is enough to stabilize p50/p90 within ~1 day on most projects.
Does the engine require a perfectly-built CPM schedule?
No. It works on whatever predecessor logic you have. An activity with no predecessor starts on its planned date, so a schedule with few links shows less of a slip rippling down the path.
How is the architect/owner median response time computed?
From this project's historical RFI tracker. Once the project has ~12 closed RFIs to the same architect, the engine computes the empirical median response time and uses that as the driver baseline. Before that, it falls back to industry medians by project type (commercial 10 days, healthcare 14, federal 21). The empirical baseline replaces the industry default the moment enough data exists.
Can the owner see this forecast?
Yes — the Owner Report reads the latest saved forecast: the p50/p90 dates, the drift from baseline, and up to five top drivers, worded as they appear in the result. Read it before it goes out. Both views update from the same engine run.
What about resource constraints (crew, equipment)?
v1 models duration-driven critical path. Resource leveling (crew shortages compressing crashable activities) is on the v2 roadmap and runs against the Equipment + Crew trackers. For v1, crew and equipment constraints are not modeled: the engine simulates durations along the schedule’s logic and nothing else.
Drop a P6 file. See the p50/p90 forecast in 30 seconds.
Bring a live project schedule plus a screenshot of the procurement/RFI state to a 15-minute call. We'll run the simulation on screen, walk the named drivers, and you keep the forecast.
Try Free for 14 Days →