Critical path vs longest path
Last reviewed 9 September 20262,136 words10 min read
Not the same thing, and the difference matters
π© In one line The critical path is whatever you define it as β usually "float β€ 0." The longest path is the chain of activities that actually drives the finish. Most days they're the same. On the day they're not, you'll be in a meeting where it matters.
π€ Who this is for Mid-level planners who've noticed the red bars don't quite make sense. Anyone about to write "the critical path runs throughβ¦" in a report. Senior planners preparing a TIA, where getting this wrong hands the other side their opening argument.
First, let's be honest about why this page exists
Every planner has done it. Filter for Total Float β€ 0, hit Critical on the bar style, and there's the critical path. Red bars. Done.
Then one month the red bars are on activities that clearly aren't driving anything, while the thing that everyone on site knows is holding the job up shows 6 days of float. Or the project finishes early and nothing is red. Or two calendars meet and the red path jumps sideways for no reason.
P6 hasn't broken. It's just that "critical" and "driving" are two different ideas, and the default settings pretend they're one. Once you see the difference you'll never un-see it β and you'll set the option correctly on every project from then on.
π¨ The standard β what "good" looks like
The two definitions, side by side:
| Critical path (float-based) | Longest path (logic-based) | |
|---|---|---|
| Definition | Activities whose total float is at or below a threshold (usually 0) | The sequence of driving relationships from the data date to the project finish |
| Depends on | Constraints, Must Finish By date, calendars | Logic and durations only |
| Can be empty? | Yes β if the project finishes early relative to the required date, nothing has zero float | No β there is always a longest path |
| Can include non-driving activities? | Yes β any activity feeding a tight constraint shows zero float | No β by construction |
What the standards say:
- AACE RP 49R-06, Identifying the Critical Path β the clearest statement in the industry. It recommends the longest path method as the primary means of identifying the critical path, precisely because float-based identification is distorted by constraints and calendars.
- DCMA 14-Point, Metric 12 (Critical Path Test) β checks whether pushing a critical activity actually pushes the finish. That's a longest-path test in disguise.
- SCL Protocol, 2nd ed. β defines the critical path as "the longest sequence of activities through a project network from start to finish, the sum of whose durations determines the overall project duration." Longest path again.
- P6 itself β Tools β Schedule β Options β General: "Define critical activities as" β either Total Float less than or equal to [X] or Longest Path. The default is float-based. Most client specs in the Gulf now require Longest Path, and it's worth setting regardless.
π’ Simple rule: For reporting, claims, and anything a client will read β Longest Path. Use float-based views for spotting near-critical work and constraint problems, but don't call those "the critical path."
How it actually works
The longest path is what you get if you start at the project finish and walk backwards along the driving relationships β the ones where the predecessor's finish actually sets the successor's start. Keep walking until you reach the data date. That chain is the longest path. It doesn't care what float values say.
The float-based critical path is different. It's just a filter: show me everything at or below zero float. Whatever's causing the zero β logic, constraint, calendar quirk β gets included.
Three situations pull them apart:
1. The project finishes early. Logic says 12 June. Must Finish By is 30 June. Every activity on the longest path has +14 days float. Float-based view: no critical activities at all. Longest-path view: the driving chain, correctly identified, with 14 days of terminal float. One of these is useful in a meeting.
2. An intermediate constraint. A Finish On or Before on a milestone halfway through. Everything feeding it shows zero (or negative) float. Some of those activities also feed the finish β fine. Some feed only the milestone and have nothing to do with the project end. Float-based view: they're all red. Longest-path view: only the real drivers.
3. Multiple calendars. An activity on a 7-day calendar hands over to one on a 5-day calendar on a Thursday. The successor can't start till Sunday. P6 may show the predecessor with 2 days float even though it's absolutely driving β because the late dates are calculated on its own calendar and there's nothing it can do about the weekend. Float-based: not critical. Longest path: driving. (See multiple-calendars-and-float β this one deserves its own page.)
There's also a subtler version of the same problem: negative lags, SS/FF relationships, and Level of Effort activities can all produce float values that don't match what's actually driving. Longest path cuts through it.
What about the second and third paths?
Longest Path gives you one chain. On a real project you also need to know what's sitting just behind it. P6 has a setting for that β Calculate multiple float paths in the same Options dialog β which ranks paths by how close they are to driving. That's the tool for near-critical-paths. Set it to show 3β5 paths, and you've got the month's watch-list.
π₯ Where people go wrong
1. Leaving the P6 default. Float-based, threshold zero. On a project with a Must Finish By date that's later than the logic, you'll report "no critical path" and someone will ask why the schedule is broken. It isn't. The setting is.
2. Writing "the critical path" when there are two. Calendars, near-equal parallel paths, a constraint β it's common for a project to genuinely have two chains within a day of each other. Say so. "Two near-parallel paths: structural steel and the switchgear delivery, within 2 days." That's more credible than pretending there's one.
3. Trusting the red bars in a schedule with constraints. Every Finish On or Before in a schedule is a fake critical path generator. Before you believe the red, count the constraints. If there are more than three or four, the float-based view is telling you about the constraints, not the project.
4. Treating "critical" as a permanent property. The critical path moves. It moves when progress is statused, when a delivery slips, when a calendar changes. An activity that was critical at baseline and has 10 days float now is not critical, no matter what the baseline said. Report the path as of the data date, and say the data date.
5. Ignoring it in a TIA. A time impact analysis inserts a delay fragnet and measures the movement of completion. If your criticality is float-based and there's a constraint downstream, the fragnet might show no movement to completion while showing large negative float β or vice versa. The other side's expert will find this in an afternoon. Use Longest Path, remove non-contractual constraints, and document that you did.
6. Confusing near-critical with critical because the threshold was raised. Some people set "critical" to float β€ 5 or β€ 10 to catch near-critical work. Fine as a view. But then it gets printed with the word "critical" on it, and now a client thinks 40% of the schedule is critical. Keep the definition at zero or Longest Path; use a separate filter for the near-critical band.
βοΈ When you're challenged
"What's on the critical path?" Have the answer ready before the meeting. Longest Path set, filter applied, summarised to eight or ten lines max. "Data date 1 April. Longest path: precast delivery β erection zones B and C β roof steel β cladding β MEP rough-in level 3 β commissioning. 0 days float. Second path through the substation is 3 days behind it." Nobody wants a printout of 180 activities.
"Why is half the schedule red?" "There's a Finish On or Before constraint on the Phase 1 handover milestone that's tighter than the logic. Everything feeding it shows zero float. If we remove that constraint β or if it's contractual, keep it but switch the view to Longest Path β the real driving chain is these 35 activities."
"The steel isn't red but everyone on site says it's holding us up." Site's probably right. Check the calendar on the steel activities versus the successors, check for a lag, and check the criticality setting. Nine times out of ten it's a calendar mismatch producing a day or two of phantom float. Switch to Longest Path and the steel goes red.
"The client wants the critical path defined in the basis memo. What do we write?" "Critical path is identified using the Longest Path method as defined in AACE RP 49R-06, calculated from the data date to the project Must Finish By date. Activities with total float β€ 0 that are not on the longest path are reported as 'constraint-driven' and listed separately." Two sentences. Saves a year of arguments.
π Related pages
- Total float β why float is a result, not an input
- Negative float β when the constrained view goes below zero
- Near-Critical Paths β the second and third longest paths, and how to get P6 to show them
- P6 Multiple Float Paths β the setting, step by step
- P6 Constraint Types β the main reason float-based and longest-path views disagree
- Multiple calendars and float β the other main reason
- Time Impact Analysis β where this distinction gets tested under cross-examination
- Schedule Basis Memorandum β where to write down which definition you're using
βοΈ Worked example
A simplified warehouse. 6-day calendar. Data date 1 May. Project Must Finish By = 30 September.
Two main paths, plus a client-imposed intermediate milestone:
`` Path A: Steel frame (40d) β Roof (20d) β Cladding (25d) β Handover ...........(logic finish: 12 Sep) Path B: Substation civil (30d) β Switchgear delivery (60d) β Energise β Handover ....(logic finish: 12 Sep) Milestone: "Client site inspection" β Finish On or Before 15 July β fed by Steel frame only ``
Path A and Path B happen to be equal at 12 September. Both finish 15 working days before the Must Finish By.
Float-based view (threshold 0):
| Activity | Total float | Red? |
|---|---|---|
| Steel frame | 0 | β |
| Roof | 15 | β |
| Cladding | 15 | β |
| Substation civil | 15 | β |
| Switchgear delivery | 15 | β |
| Client inspection milestone | 0 | β |
Only the steel frame and the inspection milestone show red β because the Finish On or Before constraint on the inspection has zero slack, and steel is the only thing feeding it. Roof, cladding, the entire substation path: all show 15 days and appear non-critical. A reader would conclude the project has 15 days in hand everywhere and one tight inspection date.
Longest Path view:
| Activity | On longest path? |
|---|---|
| Steel frame | β |
| Roof | β |
| Cladding | β |
| Substation civil | β (tied β flagged as a parallel path) |
| Switchgear delivery | β (tied) |
| Client inspection milestone | β |
Now the picture is honest: two parallel driving chains, both with 15 days of terminal float against the contract date, plus a separate constraint issue on the inspection milestone that has nothing to do with completion.
Same file. Same data. One setting. The first view would have gone into the monthly report as "critical path: steel frame and client inspection." The second is what the project is actually doing.
π References
- AACE International, RP 49R-06, Identifying the Critical Path
- DCMA, 14-Point Schedule Assessment β Metric 12 (Critical Path Test), Metric 13 (CPLI)
- SCL, Delay and Disruption Protocol, 2nd ed. (2017) β Appendix A, definition of "Critical Path"
- PMI, Practice Standard for Scheduling, 3rd ed. β Β§4.5
- Oracle, P6 Professional User's Guide β Schedule Options, "Define critical activities as"
Noted on the box β no more of those. Sequences go in a table or a plain sentence from here on.
From the field
Experience from working planners. Unreviewed β read it as experience, not guidance.
Add what you know about critical path vs longest path. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.
Contributors get their name and one link on the site β your own templates, course or consultancy. We take nothing and hold nothing.
Add your experience