Near-Critical Paths and Why They Deserve Attention
The critical path gets all the attention, but it's rarely the only thing that can delay the job. A path with four days of float and a shaky supplier is closer to trouble than a critical path made of well-understood work with a reliable crew. Near-critical paths are the ones with a small amount of float: not driving the finish today, but one bad week away from it. This post covers how to define near-critical, shows how a near-critical path takes over on a worked example, explains why multiple near-critical paths are riskier than one critical path, and gives a simple routine for tracking them at each update.
What counts as near-critical
There's no universal number. Near-critical means "total float small enough that ordinary slippage could make it critical." Common ways to set the threshold:
- A fixed number of working days, for example 10 or 20. Simple and easy to filter on.
- One or two update periods. On a monthly update cycle, anything with less than a month of float can go critical before you look at it again.
- A fraction of remaining duration. Ten days of float means more with three months left than with two years left.
- Whatever the spec says. Some owner specifications define near-critical and require it to be reported in the narrative. See Reading a Schedule Spec: Section 01 32 16.
Pick a threshold, write it down in the schedule narrative, and use it consistently. A near-critical filter that changes every month is worse than none.
Worked example: four paths to substantial completion
Picture the last eight months of a commercial building. Four independent paths run from the current data date to substantial completion. In reality each is a chain of many activities; here they're summarized by total path duration in working days.
| Path | Main work | Remaining duration | Total float |
|---|---|---|---|
| 1 | Interior finishes, floors 2 to 6 | 120 | 0 |
| 2 | Elevator fabrication, install, state inspection | 116 | 4 |
| 3 | Switchgear delivery, permanent power, MEP startup, commissioning | 111 | 9 |
| 4 | Site work, paving, landscaping | 90 | 30 |
Because the paths are parallel and all feed the same milestone, each path's total float is the longest path minus its own duration: 120 − 116 = 4, 120 − 111 = 9, and so on.
The critical path is interior finishes. If you only watch that path, you're watching the drywall and paint crews, which on most jobs are the most visible and best-managed work on site.
Now the switchgear manufacturer pushes the ship date 12 working days. Path 3 goes from 111 to 123 days.
| Path | Remaining duration | Total float (before) | Total float (after) |
|---|---|---|---|
| 1 | 120 | 0 | 3 |
| 2 | 116 | 4 | 7 |
| 3 | 123 | 9 | 0 |
| 4 | 90 | 30 | 33 |
Substantial completion moves 3 days, from 120 to 123. The critical path is now the switchgear and commissioning chain. Everyone who was watching interior finishes was watching the wrong thing. And the switchgear delay was knowable weeks in advance from the supplier's submittal and fabrication status, if anyone had been watching path 3.
That's the point of tracking near-critical paths: the work that takes over the critical path is usually work nobody was tracking closely, because it wasn't critical yet.
Why several near-critical paths are worse than one critical path
When several paths merge into one milestone, the milestone finishes when the last of them finishes. Every path has some uncertainty. The more paths that are close to critical, the more chances one of them runs long.
A simple illustration, not a statistic: suppose each of two independent paths has an even chance of finishing on time. The chance that both finish on time is one in four. With four such paths, it's one in sixteen. The schedule still shows one deterministic finish date, but the realistic odds of hitting it drop with every near-critical path feeding the milestone.
This is called merge bias, and it's one reason schedule risk analysis tools often produce finish dates later than the CPM date. CPM assumes every activity hits its duration exactly. It can't show that a milestone fed by five paths with little float is fragile in a way a milestone fed by one path isn't.
In practice: a substantial completion milestone with one critical path and everything else at 40 days of float is in better shape than one with a critical path and four others at 2 to 5 days, even though both show the same date.
Float erosion: the trend matters more than the number
A single update's float value tells you where a path stands. The trend across updates tells you where it's going. Here's how path 3 might have looked over four monthly updates before it went critical (an illustration, not data from a real job):
| Update | Path 3 total float | Change |
|---|---|---|
| Month 1 | 22 | |
| Month 2 | 17 | −5 |
| Month 3 | 13 | −4 |
| Month 4 | 9 | −4 |
Nine days of float looks fine in isolation. But this path has lost four or five days every month. At that rate it's down to a day or two by the next update but one, and critical soon after, with no single dramatic event required. A path that loses float steadily usually has a systemic problem: a slow subcontractor, a procurement process that keeps slipping, durations that were optimistic. Catching that trend is worth more than any single float number.
Comparing updates side by side is the easiest way to see it. Track total float on the key path driver (often the last activity before the merge into a contract milestone) and plot it month to month. Tools that compare a baseline or prior update against the current one help; schedule.construction's Claim Digger is built for that kind of comparison. See Reading Schedule Variance: What Slipped and Why.
Finding near-critical paths in software
- Filter by total float. The simplest approach. Show everything with total float at or below your threshold. You'll get a set of activities, not a set of paths, but grouping by WBS or area usually makes the paths obvious.
- Trace logic backward from the milestone. Start at substantial completion and follow each predecessor. Note the float on each incoming path.
- Use multiple float paths. Primavera P6 has a scheduling option to calculate multiple float paths, which numbers the driving path as path 1, the next as path 2, and so on, ending at a chosen activity. It's useful for exactly this question.
- Watch for calendar effects. Float is reported in working days of each activity's calendar. A path on a six-day calendar and a path on a five-day calendar with the same reported float aren't equally close to critical in calendar time.
What to do with them
Finding near-critical paths is only useful if someone acts on it:
- Name an owner for each near-critical path. The PM or a project engineer who checks its status weekly, not monthly.
- Put the near-critical work in the lookahead. If it's not in the three-week lookahead, the field isn't managing it. See How to Build a Three-Week Lookahead from the CPM Schedule.
- Break up long activities on those paths. A 60-day "fabricate switchgear" activity tells you nothing until it's late. Split it into submittal, approval, fabrication release, factory test, and ship, and get status on each.
- Report them in the narrative. Owners and their reps should see the near-critical paths, not just the critical one. A milestone with several thin paths is a risk they should know about.
- Recheck after every update. Paths move in and out of the near-critical band. Last month's list is not this month's.
Key takeaways
- Near-critical paths have small enough float that ordinary slippage can make them critical. Define the threshold and keep it consistent.
- The path that takes over the critical path is usually one nobody was watching closely.
- Several near-critical paths into one milestone make that milestone more fragile than the CPM date suggests.
- Track float trend across updates, not just the current value. Steady erosion is a warning on its own.
- Give each near-critical path an owner and get its work into the lookahead.