What is Critical Path Method?

A lot of confusion in CPM. I’ve tried to simplify the calculation for CPM – let me know your feedback.
A critical path is the longest path in the network.  Each node which falls under critical path has zero or negative float (Slack).

Now how do we calculate critical path??

Sample Node
I’ve seen various illustrations having a different way to calculate CPM, few are:
          The project starts on day 1.
          The project starts on day 0.
Both the approaches give same results, however, I liked the day 0 approach better, its simpler, easy and lesser room for errors.


Figure 1 – Example

 There are 3 steps to calculate CPM:

1. Forward Pass – To calculate the Early Start(ES) and Early Finish(EF) of the node.
2. Backward Pass – To calculate Late Start (LS) and Late Finish(LF) of the node.
3. Calculate Float and Thus CPM.

The Forward Pass:

Forward Pass Illustration
We start from first Node or Start node.
The works begin on day 0.
We’ll fill up information in highlighted boxes:
In forward pass, we calculate the Early Start and early finish date of activities.

Node A:

The activity starts on day zero, since A activity duration is for 5 days, the early finish will take  Early Start and duration i.e.:
A(EF) = A(ES)  + Duration
A (EF)= 0 + 5 = 5

Node  B:

Since there is only one node which precedes activity B. The relationship is F->S. That means that activity B can start only when activity A ends. Hence
B (ES) = A (EF)  = 5
B(EF) = B(ES) + Duration =  5+ 5 = 10
Activity C:
C(ES) = B(EF) = 10
C(EF) = C(ES) + Duration = 10+ 4 = 14

Node Z

Now node C leads to node Z, but can we calculate the Z(ES )??
NO we cannot since it has to wait for 2 more activities for it to start. i.e.
Node Z cannot start till activity C, E and H are complete. So let’s complete the calculations of all activities before Z.

Activity D,E, G, H

The calculations are pretty simple (same as B) since they have only one predecessor.

Back to activity Z:

Since this is a merging node, i.e. many activities has to end before we begin activity Z,
Z has more than one predecessor.
Z can start only when all the activities which are merging at Z can close hence Z can only start when the last activity (activity having  most late EF completes)
Z(ES) = Max | C(EF) or E(EF) or H(EF) |
Z(ES) = Max | 14 or 28 or 20|
Z(ES) = 28
Z(EF) = 28 + 0 = 28.
Forward Pass Calculations


The Backward Pass:

Here we’ll start from the last node i.e. Z,
we calculate the bottom 2 squares (late Start and late finish)

Node Z:

Since this is the last node, Z’s last finish date would be equal to earliest finish date of Z i.e.
Z(LF) = Z(EF) = 28
Z(LS) = Z(LF) – Duration
Z(LS) = 28 – 0 = 28

Node H

Node H has only one node preceding it in backward pass (node Z).  Hence
H(LF) = Z(LS)  = 28
H(LS) = H(LF) – H(Duration) = 28 – 8 = 20

Node E

Node E has only one node preceding it in backward pass (node Z).  Hence
E(LF) = Z(LS)  = 28
E(LS) = E(LF) – E(Duration) = 28 – 10 = 18

Node C

Node C has only one node preceding it in backward pass (node Z).  Hence
C(LF) = C(LS)  = 28
C(LS) = C(LF) – C(Duration) = 28 – 4 = 24
Node G and G calculations are exactly as simple node calculations

Node B

Since Node B is where most of the activities are merging in backward pass i.e. C, D and G, this is where we need to pay more attention. In backward pass the node B’s Latest Finish (LF) would be earliest or all the nodes  Late Start i.e.
B(LF) = Least | C(LS) or D(LS) or G(LS)|
B(LF) = Least | 24 or 10 or 18|
B(LF) = 10
B(LS) = B(LF) – B(Duration) = 10 -5 = 5

Node A

A(LF) = B(LF) = 5
A(LS) = A(LF) – A(Duration) = 5 – 5 = 0
Backward Pass

Calculating Total Float or Slack:

Total float

The total amount of time that a schedule activity may be delayed from its early start date without delaying the project finish date, or intermediary milestone. It is calculated using:
Activity (ES) – Activity (LS) or activity (EF) Activity(LF) – Both will give you same results.

Free Float

This is an amount of time that a schedule activity can be delayed without delaying the early start of any immediately following schedule activities.
E.g. – For activity C
C (Total Float) = C (LS) – C(ES)  = 24 – 10 = 14
C (Free Float) = ES of next activity – C(EF )
C (Free Float) = Z(ES) – C(EF ) = 28 -14 = 14

Now the Critical path

Calculate the Total float for all activities as per the formula.
All nodes which have zero or negative float/slack forms the CRITICAL PATH.
Here we can see that the nodes:

A,B,D,E and Z forms the critical path

The same CPM is solved by me here at youtube:

Hope this is useful. Please do send me your comments/feedback at kavita.sh@gmail.com.

15 thoughts on “Critical Path Method (CPM) Simplified..

  1. Kanchan says:

    At IIL – PMP Prep training is designed to be delivered as 4-day workshop and will be called Project Management Certificate Program. Please Enrol on below dates:

    Delhi/NCR: 18-21 December 2014
    Mumbai: 18-21 December 2014
    Bangalore: 22-25 January 2015


  2. Anonymous says:


  3. Anonymous says:


    I was struggling a lot to undersatnd the fund of CPM, flot ,ES,EF LS LF, back ward and farward..Really you made very simple to me..Thanks a bundle…Sagar

  4. Anonymous says:

    is it a good idea to illustrate all possible paths, add the duration, the one with the longest duration is the critical path?

Leave a Reply to Anonymous Cancel reply

%d bloggers like this: