Sample schedule health report
This is a real report output from our engine, built from a synthetic 12-story office-building construction schedule. Every field you see comes from the actual analysis.
Schedule Health Score
Scored on the 14 DCMA checks. 3 value checks reported below are not scored.
Measured, not modeled: 42 → 71 → 90 by following the report's own fix plan.
This exact schedule was scanned: 42/100. Applying its fix plan to the logic (hard constraint removed, open ends closed, the lead converted, long tasks split) and re-scanning the same file measured 71/100. The report also flagged four DCMA checks that could not run because the file had no baseline or status date, and counted them as not earned. Setting both, as the report instructs, measured 90/100. All three are real scans through the production engine, September 2026. Scoring is deterministic, so you can reproduce each one.
With a baseline and status date set: 90/100
The fixed schedule, baselined and statused at a mid-project data date, re-scanned through the same engine: 90/100, with 12 of the 14 DCMA checks passing. CPLI 1.00 · BEI 1.00 · 0 missed tasks · 0 invalid dates. Still open, and we say so: High float (> 44 days) fails, and 1 check could not run because the file is not resource-loaded (it scores 0 until it is). That is why it is 90, not 100.
Download the baselined sample and score it yourselfYour Schedule Health Score is always a number from 0 to 100. Here is how we get there. Your report carries 29 checks, but the 0-100 score is the DCMA 14 alone; the other checks are reported alongside it, never blended in. Each of the 14 carries a weight based on how much it affects whether a schedule will hold, 104 weight points in total. Your score is the share of the applicable points your schedule earns: pass a check and you keep its points, fail it and you lose them. If a check cannot run because your file is missing data a DCMA reviewer expects (a baseline, a status date, resource loading), it stays in the total and earns 0 points until you add that data; the report tells you exactly what to add. A check with nothing to measure yet, such as missed tasks before anything is due, is left out. The 3 GanttScore checks (15 to 17) and the 12 standards-based findings are reported for insight but never affect the score. The 104 points are just the internal scale. The number you see is normalized to 0 to 100, so you can compare any two schedules and track the same one over time.
Summary
Overall health score: 42 out of 100. This schedule needs serious work before it should be submitted. Start at the top of the list and work down.
- Logic (missing predecessor/successor): 10.0% of open tasks missing logic (5/50)
- Negative float: 19 tasks with negative float
- Leads (negative lag): 1 relationship with negative lag (63 links into open work)
- High float (> 44 days): 28.0% with float > 44d (14/50)
- Insufficient detail (task > 10% of project): 2 tasks over 60d (10% of the 598d span)
Check-by-check breakdown
The DCMA 14 that set the 0-100 score, plus 3 GanttScore structural checks reported alongside it. Free tier shows pass/fail. The paid report adds the offending task list and fix steps for each failure. The 12 standards-based findings follow below.
Logic (missing predecessor/successor)
10.0% of open tasks missing logic (5/50) · threshold: At most 5%
Leads (negative lag)
1 relationship with negative lag (63 links into open work) · threshold: 0% (none allowed)
Lags (positive lag)
4.8% of links into open work carry lag (3/63) · threshold: At most 5%
Relationship types (Finish-to-Start)
96.8% of links into open work are Finish-to-Start (61/63) · threshold: At least 90% FS
Hard constraints
0.0% of open tasks hard-constrained (0/50) · threshold: At most 5%
High float (> 44 days)
28.0% with float > 44d (14/50) · threshold: At most 5%
Negative float
19 tasks with negative float · threshold: 0% (none allowed)
High duration
Could not run: no baseline is saved in the file. Counts as not earned (0 points) until fixed.
Invalid dates
0 tasks with dates inconsistent with the data date · threshold: 0% (none allowed)
Resources / cost
Could not run: the schedule is not resource- or cost-loaded (no real resources assigned). Counts as not earned (0 points) until fixed.
Missed tasks
Could not run: no baseline is saved in the file. Counts as not earned (0 points) until fixed.
Critical path test
600d injected into a critical task moved the finish 600d · threshold: An injected 600d delay on the critical path must flow day-for-day to the project finish
Critical Path Length Index (CPLI)
CPLI = 1.00 (428 working days to the finish, finish milestone float 0d) · threshold: At least 0.95
Baseline Execution Index (BEI)
Could not run: no baseline is saved in the file. Counts as not earned (0 points) until fixed.
Logic density
avg 2.52 links per task. Value check: reported, not scored.
Merge hotspots
0 tasks with 8 or more predecessors. Value check: reported, not scored.
Insufficient detail (task > 10% of project)
2 tasks over 60d (10% of the 598d span). Value check: reported, not scored.
Beyond the DCMA 14: standards-based checks
Extra structural checks drawn from federal and industry schedule guides. Reported for insight, not counted in the score.
18. Activity data quality
0 data-quality issues
19. Dangling logic (open start / finish)
4.0% of incomplete tasks dangling (2/50)
20. Start-to-Finish relationships
0 tasks with a Start-to-Finish link
21. Logic on summary tasks
0 summary tasks with logic
22. Circular logic
0 tasks in a circular dependency chain
23. Redundant logic
1 redundant link
24. Milestone integrity
0 milestone defects
25. Critical path density
58.0% of activities on the critical path (29/50)
26. Level of effort on the critical path
No level-of-effort activities in this schedule
27. Relative high float
22.0% of tasks carry float over 60d (10% of the 597d remaining)
28. Constraint discipline
1 hard constraint off the finish milestone
29. Out-of-sequence progress
No task reports progress yet
Checked against 8 standards
Evaluated against the published criteria in:
GanttScore evaluates against these published criteria. It does not certify compliance with any of them.
Duration realism & outliers
Beyond pass/fail: whether your durations look estimated or guessed, and which tasks sit far outside their peers.
Duration realism (heuristic)
82% of task durations are round numbers (vs ~20% expected), a high clustering signal. Most common duration: 20d (20% of tasks). A heuristic that durations may have been assigned by convention rather than estimated, not proof of padding.
Outliers vs your own schedule
Tasks far outside the norm for their WBS area (robust modified z-score), which fixed thresholds miss.
Schedule Confidence Level: a schedule-only estimate, not a joint cost-schedule confidence level. Durations are sampled from a conservative default spread (triangular 0.95/1.0/1.30 of plan), a disclosed starting basis rather than a per-task calibration.
Look-Ahead Brief
Pick a window from the data date. The brief ranks what must move inside it by how much of the following window it releases.
Anchored at the data date 2026-03-02. Window ends 2026-04-13; the following window ends 2026-05-25. 8 tasks in this window. · 5 longer than 10 days: break these down for field planning
Where the leverage is
Ranked by schedule leverage: criticality, times the work released into the following window through driving relationships, times convergence exposure.
Driving chain
The path from the top-leverage task. The solid line is the data date; the dashed amber line is the window end.
What this window must deliver
Tasks whose driving successors start in the following window.
Milestones in this window
Method: windows anchor at the schedule's data date. LOE, summary, and completed activities are excluded. Driving relationships, float, and dates come from the file itself; nothing is re-scheduled. Convergence exposure is a heuristic informed by GAO's merge-bias guidance, not a GAO metric.
What a fix looks like in the full report
Two examples shown in full, exactly as the paid report renders them. The full report includes a fix like this for every failed check, named task by task.
Dry-in milestone - Building watertight
Problem: A 'Must Finish On' hard constraint pins the dry-in milestone to a date its predecessors cannot meet, pushing 19 upstream tasks into negative float - the schedule already predicts a late finish.
Fix in Microsoft Project: Open Task Information, go to the Advanced tab, and change the constraint from 'Must Finish On' to 'As Soon As Possible.' Let the curtain-wall and roofing logic drive the dry-in date.
Expected impact: Clears the negative float across the front-end program and restores a logic-driven finish.
Foundation waterproofing & backfill
Problem: This task has no successor, so its completion drives nothing downstream. A slip in backfill would not move any dependent work, which hides real risk and makes float unreliable.
Fix in Microsoft Project: Open the successor that truly depends on it (Exterior framing at grade), add this task as a Finish-to-Start predecessor, or drag a link between the two bars in the Gantt chart.
Expected impact: Closes an open end so a backfill delay flows through to the field work and float becomes trustworthy.
The Green Means Green Guarantee
If a government or owner reviewer flags a finding on a check this report scored green, send us the review comment. We will re-run the analysis, walk you through what happened, and refund the report in full if we got it wrong.
And the 14-day no-hassle refund still applies to every purchase.
The fine print
Applies to the structural checks the report scores, using the thresholds stated in the report. It does not cover findings on checks your contract tailored to different thresholds (the report shows raw counts so you can apply yours), subjective narrative comments, or schedule changes made after the report ran. Refund requests within 90 days of purchase with the reviewer's written comment attached.
Ready to fix your schedule?
Drop your own file and get a free score in about 10 seconds.
Score my schedule freeDownload this sample schedule (.xml) and score it yourself