Constructelligence
Guide · scheduling

The critical path method in construction, worked through one schedule

The critical path is the longest chain of dependent activities in a schedule — the chain that decides the finish date. Every other activity has float: room to slip without moving the finish. Knowing which is which is the difference between chasing every late activity and chasing the ones that cost you days. This guide runs the method on one nine-activity job.

Updated · 11 minute read

Key takeaways
  • The critical path is the longest chain of logic; it decides the finish date.
  • Total float = late start − early start; zero means critical.
  • A delay moves the finish only by the amount beyond the activity's float.
  • Float figures are only as good as the logic — check open ends, lags and constraints first.

The network

A CPM schedule is a list of activities, each with a duration and the activities that must finish before it can start (finish-to-start logic, the default). Here is a small building job in working days:

IDActivityDurationPredecessors
AMobilize5—
BExcavate10A
CFootings8B
DUnderground MEP6B
ESlab on grade7C, D
FSteel erection15E
GRoofing9F
HMEP rough-in20E
ICloseout5G, H

Forward and backward pass

The forward pass finds the earliest each activity can start and finish: early start (ES) is the latest early finish of its predecessors; early finish (EF) = ES + duration. The backward pass works from the project finish: late finish (LF) is the earliest late start of its successors; late start (LS) = LF − duration.

Total float = LS − ES  ·  Free float = earliest ES of successors − EF
IDESEFLSLFTotal floatFree float
A050500
B51551500
C1523152300
D1521172322
E2330233000
F3045304500
G4554455400
H3050345444
I5459545900

The project finishes on day 59. The critical path is A–B–C–E–F–G–I: every activity with zero total float. Underground MEP has 2 days of float; MEP rough-in has 4.

CalculatorDoes this delay move the finish?
A · 5dMobilizeB · 10dExcavateC · 8dFootingsD · 6dUG MEPE · 7dSlabF · 15dSteelG · 9dRoofingH · 20dMEP rough-inI · 5dCloseout2 days float4 days floatCritical path A–B–C–E–F–G–I · finish day 59
The guide’s nine-activity job. Red activities have zero float — a day lost on any of them is a day on the finish. Underground MEP and MEP rough-in can slip 2 and 4 days.

What a delay does to the finish

A delay moves the finish by however much it exceeds the activity's total float — and no more:

project delay = max(0, activity delay − total float)

That is why float belongs to the project, not to whichever trade reaches it first: once it is used, the next slip on that chain costs days. The same arithmetic sits under labor forecasts that push a finish date, and under the general-conditions cost of a late job in job cost forecasting.

Checks that keep a CPM schedule honest

The method only works if the logic is real. Before trusting any float figure, check:

  1. Every activity has a predecessor and a successor (except the start and finish milestones). An open end has float that is not real.
  2. No negative lags — they hide overlap that should be modelled as its own activity.
  3. Few hard constraints ("must finish on"). They override the logic and manufacture float or negative float.
  4. Durations under about two months for work in progress — long activities hide progress; split them.
  5. High-float activities explained — float of months usually means missing logic, not spare time.

These are the same checks a scheduling tool runs before a schedule goes to the owner; the free schedule health check runs them on an exported schedule. For the weekly working view built on top of the CPM schedule, see the three-week look-ahead.

A sample Primavera P6 classic schedule layout with negative float on the structure activities
A sample P6 layout (invented job). The structure activities show negative float — already behind the finish date — which is the first thing a health check should surface. Open the PDF →

Watch the near-critical paths too

A schedule has one critical path, but the chains with only a little float are the ones that take over. A near-critical activity that slips by more than its float becomes critical and moves the finish. Keep a short watch list:

Who may use that float is a contract question as well as a scheduling one — many contracts treat it as shared by the project rather than owned by either party, so read the scheduling clauses before assuming.

Checklist
CPM schedule worksheet in Excel, filled in with example rows — columns: ID, Activity, Duration, Predecessors, ES, EF, LS, LF…
The CPM schedule worksheet as it opens in Excel: example rows in italics, calculated columns shaded.
Free template · CPM schedule worksheet (Excel & CSV)An Excel workbook with drop-downs, validation and formulas built in — or the same columns as a CSV for Google Sheets and Numbers.
Download Excel (.xlsx)
What this template captures

Each activity's duration and predecessors with early and late start and finish, and total and free float.

10 columns: 8 you fill in and 2 calculated by formula and filled down 200 rows, so nothing is worked out by hand. In the Excel version, 5 columns reject entries of the wrong type (a date column only takes dates, an amount column only numbers), the header row stays frozen with filters on it, and the workbook opens on an Instructions sheet that lists every column below.

Every column, and how it is captured
ColumnTypeWhat goes in it
IDTextFree text.
ActivityTextThe schedule activity or scope of work.
DurationNumberEnter a number.
PredecessorsTextFree text.
ESNumberEnter a number.
EFCalculatedCalculated: [ES] + [Duration]
LSNumberEnter a number.
LFNumberEnter a number.
Total floatCalculatedCalculated: [LS] − [ES]
Free floatNumberEnter a number.

See it on real-looking numbers

Constructelligence is a construction intelligence platform: it reads your ERP, project and field systems read-only and does this arithmetic every week, for every job. The demo runs it on a sample eight-job portfolio.

Try the demoJoin the private beta

Frequently asked questions

What is the critical path in construction?

The longest chain of dependent activities from start to finish of a schedule. Its total duration is the project duration, and every activity on it has zero total float, so any delay to one of them delays the finish.

What is the difference between total float and free float?

Total float is how long an activity can slip without delaying the project finish. Free float is how long it can slip without delaying the early start of any activity that follows it. Free float is always less than or equal to total float.

How do you calculate total float?

Run a forward pass to get each activity's early start and early finish, then a backward pass from the project finish to get late start and late finish. Total float is late start minus early start (or late finish minus early finish).

Can the critical path change during a job?

Yes. When a non-critical activity slips by more than its float, it becomes critical and the finish moves; when a critical activity finishes early or logic changes, another chain can become the longest. Re-run the schedule after every update.

What is a near-critical path?

A chain of activities with little total float — small enough that a modest slip would make it critical. Contractors track activities below a chosen float threshold because those chains are the next to drive the finish date.

Who owns float in a construction schedule?

It depends on the contract. Many construction contracts treat float as a shared project resource available to whichever party needs it first; others allocate it. Check the scheduling and time-extension clauses rather than assuming.

CI
Written by the Constructelligence teamConstruction finance and software. Worked examples use the sample demo portfolio; formulas are standard practice. Reviewed September 2026.

More in Scheduling & field

All scheduling & field resources →