Back to Solutions and methods

PERT formula and critical path calculation, explained simply

Ce qu'il faut retenir

  • The PERT formula (O + 4M + P) / 6 turns three estimates into one expected duration, weighted towards the most likely case.
  • The forward pass gives earliest dates; the backward pass gives latest dates; the gap between them is float.
  • Total float protects the project end date. Free float protects the next task. They are not interchangeable.

A schedule you can defend is one you can recompute. This is the arithmetic behind it: how a duration is estimated under uncertainty, and how the earliest dates, latest dates and float are derived from a dependency network.

PERT calculations: earliest dates, latest dates, float and critical path

The PERT three-point estimate

A single duration estimate hides how confident you are. The PERT technique replaces it with three:

  • O — optimistic: everything goes right
  • M — most likely: the realistic case
  • P — pessimistic: things go wrong, but nothing catastrophic

The expected duration is the weighted average:

tE = (O + 4M + P) / 6

The most likely value carries four times the weight of the extremes. The result is not the average of the three numbers — it deliberately pulls towards the realistic case while letting the tails influence it.

Worked example: a task estimated at 4 days optimistic, 6 most likely, 14 pessimistic gives tE = (4 + 24 + 14) / 6 = 7 days. A naïve average would give 8. The single-point estimate most people would have offered is 6.

Standard deviation

The spread tells you how much to trust the number:

σ = (P − O) / 6

In the example, σ = (14 − 4) / 6 ≈ 1.7 days. A task with a wide spread is not a task with a longer duration — it is a task you know less about. That distinction should change what you do about it, and usually does not.

The forward pass: earliest dates

Working left to right through the network, compute for each activity:

  • ES (earliest start) = the largest EF of its predecessors
  • EF (earliest finish) = ES + duration

The first activity starts at 0. The key word is largest: an activity with several predecessors waits for the slowest one. This is why convergence points concentrate risk.

The EF of the last activity is the minimum project duration.

The backward pass: latest dates

Working right to left from that end date:

  • LF (latest finish) = the smallest LS of its successors
  • LS (latest start) = LF − duration

Here the key word is smallest: an activity must finish early enough for its most urgent successor.

Float: total and free

Two measures come out of the two passes, and they answer different questions.

Total float = LS − ES (equivalently LF − EF)
Free float = smallest ES of successors − EF

Total float is how long an activity can slip without moving the project end date.

Free float is how long it can slip without moving any successor.

The difference matters in practice. An activity with 5 days of total float and 0 days of free float can absorb a delay without endangering the project — but the next task will be squeezed immediately. A manager looking only at total float will approve that delay and be surprised by the downstream complaint.

Reading off the critical path

Activities where total float = 0 form the critical path. There is no choice involved: it falls out of the arithmetic.

Two consequences follow immediately.

  • A one-day delay on a zero-float activity is a one-day delay to delivery. Not a risk — a fact.
  • Compressing the critical path only helps until another chain becomes the longest. Past that point, further effort buys nothing.

Why this has to be recomputed

Every number here depends on the durations and the dependency structure. Change one estimate and the float distribution changes; change enough and the critical path jumps to a different chain.

Doing this by hand once is instructive. Doing it by hand every week is not sustainable, which is why it is the part of scheduling worth automating — and why a Gantt chart maintained manually drifts away from reality within weeks.

Frequently asked questions

tE = (O + 4M + P) / 6, where O is optimistic, M most likely and P pessimistic. It weights the most likely case four times more than the extremes, producing an expected duration rather than a guess.

Run a forward pass for earliest start and finish dates, a backward pass for latest start and finish dates, then compute total float as LS − ES. Activities with zero total float form the critical path.

Total float is slack before the project end date moves. Free float is slack before any successor is affected. A task can have total float and zero free float, which is how local crises appear on a schedule that looks healthy.

σ = (P − O) / 6 measures uncertainty, not duration. A wide spread means you know less about the task, which calls for investigation rather than for padding.

Once, to understand it. Not weekly. The calculation must be rerun every time durations or dependencies change, which is exactly the part worth automating.

Looking for a method that holds? See how Orchesia structures the work before the schedule.

See dependencies and the critical pathDiscover the upfront-first approach

Related articles

How to scope a project before you commit to a date
Solutions and methods

How to scope a project before you commit to a date

Framing is not paperwork. It is the last moment where a decision is cheap. Here is what a scoping stage has to produce before anyone opens a schedule.

8 min read
How to build a WBS, step by step
Solutions and methods

How to build a WBS, step by step

A practical method for decomposing a project into deliverables and work packages, with the checks that tell you the structure is sound.

8 min read
How to build a PERT chart, step by step
Solutions and methods

How to build a PERT chart, step by step

From a list of work packages to a dependency network you can compute: the method, the notation and the errors that make a network useless.

9 min read