Microsoft Project Online retires September 30, 2026, migrate to a modern platform before it's too late.Start migration
Back to Blog6 Schedule Quality Metrics That Beat Percent Complete
Schedule Analysis

6 Schedule Quality Metrics That Beat Percent Complete

Schedule quality metrics like logic density and negative float catch problems percent complete hides. Six numbers to track, with healthy thresholds.

Onplana TeamSeptember 5, 20265 min read

Percent complete tells you how much work is reported done. It says nothing about whether the schedule underneath that number is structurally sound, which is why a project can show 60% complete for months and then miss its date anyway. Schedule quality metrics catch that gap: six measurable properties, logic density, constraint count, negative float, high float, missing predecessors, and duration outliers, that describe the schedule's structure rather than its reported progress.

The direct answer: a healthy schedule keeps logic density above 95%, hard constraints under 5% of tasks, negative float at exactly zero, high float (more than 44 working days) under 5% of incomplete tasks, dangling predecessors under 5%, and duration outliers rare enough that a round number is the exception, not the rule. Any one of these failing is a structural problem a status meeting won't surface, because percent complete doesn't measure structure at all.

TL;DR

Six numbers describe a schedule's structural health better than percent complete: logic density (target 95%+ of tasks properly linked), constraint count (under 5% hard-constrained), negative float (zero, always), high float (under 5% of tasks past 44 working days of slack), missing predecessors (the dangling-task census that logic density scores), and duration outliers (round-number placeholders like 5, 7, 14, or 30 days). Track them weekly, because a clean schedule at kickoff can pick up all six problems the first time it gets rescheduled under pressure.

The Six Schedule Quality Metrics at a Glance

Metric What it measures Healthy threshold What a bad number usually hides
Logic density Share of tasks with both a predecessor and successor 95% or higher Tasks invisible to the critical path, so their slip goes unnoticed
Constraint count Share of tasks with a hard date constraint Under 5% Dates set by memory or politics, not by the dependency network
Negative float Count of tasks where late finish falls before early finish Zero A hard constraint or slipped predecessor has broken the schedule's own math
High float Share of incomplete tasks with more than 44 working days of slack Under 5% A task with no real deadline pressure, often mis-sequenced or padded
Missing predecessors Raw count of tasks with no predecessor link at all Near zero The specific tasks driving a bad logic-density score
Duration outliers Tasks with round-number durations (5, 7, 10, 14, 30 days) Rare, reviewed on sight A placeholder estimate from kickoff that nobody ever revisited

Logic Density and Missing Predecessors: Two Views of One Blind Spot

Logic density is the aggregate score: the percentage of unfinished tasks that carry both a predecessor and a successor, so the network can actually calculate a critical path through them. Missing predecessors is the same problem at the task level, the literal list of which tasks are disconnected. A schedule needs both numbers, because logic density tells you whether you have a problem and the missing-predecessors list tells you which tasks to fix.

This is also the single most common structural failure in real schedules. Our audit of 500 Microsoft Project files found dangling tasks, tasks with no predecessor, no successor, or both, in 83% of them, far past the 5% threshold DCMA's own methodology treats as a pass. A disconnected task doesn't appear on the critical path even when it should, so it can slip for weeks before anyone notices, because nothing in the schedule's math is watching it.

Constraint Count: When Dates Override Logic

A hard constraint, Must Start On or Must Finish On, tells the schedule to ignore its own dependency math and use a fixed date instead. A few of these are normal: a vendor delivery date, a regulatory filing deadline. A schedule where more than 5% of tasks carry one isn't really being driven by its dependency network anymore; it's a collection of fixed dates with dependency arrows decorating it. That matters because a constrained schedule can look identical to a logic-driven one right up until a predecessor slips and the successor's hard-coded date doesn't move to match, silently breaking the schedule's own claim to represent reality.

Negative Float and High Float: The Two Float Failures

Negative float means a task's late finish date is earlier than its early finish date, a state that's only mathematically possible when a hard constraint or an already-slipped predecessor has broken the schedule's own logic. It's a zero-tolerance metric for exactly that reason: there's no acceptable amount of negative float, because any amount means the schedule's math no longer agrees with itself.

High float is the opposite failure and easier to miss because it looks harmless. A task with more than 44 working days of slack, DCMA's own threshold, either has no real deadline pressure or is mis-sequenced in a way that hides genuine risk behind an artificial cushion. More than 5% of incomplete tasks carrying that much float usually means the schedule was built loosely rather than estimated carefully, which shows up later as a critical path that shifts unpredictably every time someone finally re-baselines.

The diagram below shows where each of the six metrics sits relative to the schedule's dependency network, since three are network-structure problems and three are date or duration problems.

Six schedule quality metrics, grouped by what they test Six metrics, two failure modes NETWORK STRUCTURE Logic density Aggregate link-coverage score Missing predecessors The task-level list behind it Negative float Proof the network math broke DATES AND DURATIONS Constraint count Fixed dates overriding logic High float Slack that hides real risk Duration outliers Round-number placeholders

Duration Outliers: The Round-Number Tell

A task estimated at 5, 7, 10, 14, or 30 days is usually not the product of analysis; it's a placeholder somebody typed during a kickoff meeting and never came back to revise. The same 500-schedule audit found at least one suspicious round-number duration in 62% of files. The fix isn't banning round numbers outright, since some real estimates genuinely land on one. It's flagging them for a second look and asking the task owner whether the number reflects analysis or a guess made under time pressure, which is a five-minute conversation that a duration-outlier report makes possible and a Gantt chart alone does not.

Tracking All Six Without Building a New Report

The six metrics come from the same source data a Gantt chart already has: task durations, predecessor and successor links, constraint types, and calculated float. None require a new data source, only a structural pass across the schedule that a status meeting doesn't normally run. The free Schedule Health Check runs exactly this pass against an uploaded .mpp, MSPDI XML, or .xer file and reports each of the six by name, with the specific tasks behind a bad number rather than just the aggregate score. Pair it with a weekly cadence rather than a one-time baseline check, since a schedule that starts clean can accumulate constraints and dangling tasks every time it gets rescheduled under deadline pressure, and the Critical Path Method explainer covers the float and network mechanics these metrics are built on if any of the terms above need a fuller walkthrough.

Run the free Schedule Health Check Upload your .mpp, MSPDI XML, or .xer file and get all six metrics scored against these same thresholds, with the specific tasks behind each finding. No signup required. → Open the Schedule Health Check

The rest of the Onplana blog covers schedule analysis beyond these six metrics, including the formal DCMA 14-point assessment these thresholds are drawn from.

Microsoft Project™ is a trademark of Microsoft Corporation. Onplana is not affiliated with Microsoft.

schedule quality metricshow to measure schedule qualityschedule health indicatorsgood schedule characteristicsSchedule AnalysisCritical PathPMOOnplana

Frequently asked questions

What are schedule quality metrics?

Measurable properties of a schedule's structure, separate from percent complete: logic density, constraint count, negative float, high float, missing predecessors, and duration outliers. Each one can flag a schedule in trouble before any task is actually late.

What is a healthy logic density score?

95% or higher, meaning fewer than 5% of unfinished tasks lack a predecessor or successor. Our own audit of 500 real schedules found 83% had at least one dangling task, far past that threshold.

What counts as a bad constraint count?

More than 5% of tasks carrying a hard constraint like Must Start On or Must Finish On. Hard constraints override the dependency logic they sit on top of, so a schedule full of them isn't really being driven by its network at all.

Why is any negative float a serious problem?

Negative float means a task's late finish date falls before its early finish date, which is only mathematically possible when a hard constraint or an already-slipped predecessor has broken the schedule's own math. It's a zero-tolerance metric: any negative float number means something in the schedule is lying to you.

What is a duration outlier?

A task duration that looks like a placeholder rather than an estimate, most often a round number: 5, 7, 10, 14, or 30 days. We found at least one in 62% of the schedules we audited, almost always an estimate nobody revisited after the kickoff meeting.

How often should these metrics be checked?

Weekly, alongside the status update, not once at baseline. A schedule with clean numbers at kickoff can accumulate hard constraints and dangling tasks every time someone reschedules under pressure, so the metrics need to be watched as the schedule changes, not just when it's first built.

Ready to make the switch?

Start your free Onplana account and import your existing projects in minutes.