How is Critical Path Calculated? Diving into the Mystery

We users of Microsoft Project often take the calculation of Critical Path within the software for granted. Yes, we know what critical path means and we have a vague notion of how the definition is implemented with MS Project but do we really know the mechanics?

This blog post will answer the question of how Critical Path is calculated and will provide a simple example to illustrate how the calculations are made.

First, what does critical path mean? What is the critical path? Well, there are various available definitions such as the following:

  • The critical path consists of those tasks that cannot slip if the project is to complete on schedule.
  • A critical path is that sequence of tasks in a project that must be completed on schedule in order for the project to complete on schedule.
  • The critical path is the longest path through the network of tasks.
  • Tasks that are on the critical path have no slack.

Microsoft Project begins calculating the critical path by computing the total slack field as you enter each task and define its attributes (i.e., name, start date, finish date, duration, predecessor relationships, etc.). Additionally, throughout the project’s life, as you enter more task data such as Actual Start and Actual Finish dates, Microsoft Project updates things so the critical path may change.

Let’s look at a small six task project shown below in a Microsoft Project plan:

Critical Path Example-MPP-1

If we make the critical path visible, the Microsoft Project plan looks like this:

Critical Path Example-MPP-2

Those Gantt bars shown in red above are on the critical path because they represent the longest path though the networks and because they have zero (0) slack.

Taking a look at this project as a network diagram in Microsoft Project we see that there are three paths through this project network. Using Microsoft Project’s Network view we have something like this:

Critical Path Example-MPP-3

It may be a little hard to see but the path with the red highlighted tasks represents the critical path. Further we can see that there are three possible paths through this network which are:

  • Start, Task A, Task B, Task C, Finish
  • Start Task 1, Task C, Finish
  • Start Task 1, Task 2, Task 3, Finish

To find the critical path, the path with the longest duration, we can construct a table such as the one below consisting of the paths for the rows and the tasks on the path for the columns:

Path Table

Note: The yellow colored cells above represent tasks that are not members of that particular path.

From the table above, we can see from the simple calculations that the critical path is Path 3 consisting of Start, Task 1, Task 2, Task 3, and Finish for a duration of 17 days.

The real complications come in when:

  • There are a significant number of tasks.
  • The predecessor relationships are complex, consisting of more than “Finish-to-Start” relationships. Other, more complicating, relationship types include “Start-to-Start” and “Finish-to-Finish.”
  • Where there are delays appended to the predecessor relationships.

All these complications result usually in a large number of tasks that, of course, can have their path duration calculated by hand, but it’s simpler to let Microsoft Project perform this task as you are building your project plan, entering actual dates, changing predecessor relationships, or manually changing task durations.

We can see the critical path really clearly if we make a project view of the project using OnePager Pro. This can be done in a minute or two and results in the picture of the project shown below:

Critical Path Example

Everything appears to be clearly identified and you can see the tasks on the critical path, as they have red bars along their top border as indicated in the legend in the upper-right of the graph. A more complex project with critical path might look like this in OnePager Pro:


This graph of a multi-phase project not only shows the critical path, but also shows percent complete/progress bars in yellow. Additionally, below most of the tasks we see a narrow bar which represents the baseline dates. Unlike the previous graph of the simple six-task project, the one above is organized into swimlanes which groups the tasks into their respective phases.

Let us know if we’ve answered the frequently-asked question as to how critical path is calculated. Hopefully, these examples give a good feel for how critical path appears in both Microsoft Project and OnePager Pro.

This entry was posted in Best Practices, Gantt Art, OnePager 5.0, Project Reporting, Project Visualization by Bob. Bookmark the permalink.

About Bob

Bob is a seasoned technology and project management executive. As an Air Force Officer (Colonel) from 1965 through 1991, he served in a number of executive leadership, computer system development, and program management roles. After retirement, he joined Robbins-Gioia, Inc. as a Regional Vice President and Program Management Consultant. He then moved to state government, where he held numerous influential positions, culminating in his service as Chief Information Officer for the State of Colorado under Governor Bill Owens. Bob has a doctorate degree in Operations Research and an MBA from Indiana University, and a bachelor’s degree from the University of Miami.

2 thoughts on “How is Critical Path Calculated? Diving into the Mystery

  1. Hi, since critical path definition is different to many, can you add as a format option in One Pager to have a sub task critical path (yes/no via checkbox). For instance, if i want to call out a key deliverable in the Gantt, i’d like to be able to click on that sub task and have the option to have a red bar across the top or outlined in red or somehow communicate that a certain (or a few subtasks) are being called out as critical even if they are not included in the “critical” column in the msp plan. Perhaps give an option of a few difference colors in case someone wants to separate out critical path identified in the “critical” column that shows up on the Gantt as red vs. another sub task that needs calling out with a different color bar.

    • Hi Karin,

      You can use OnePager’s patented conditional formatting to do this. Basically, you’d set up a custom flag field in MS Project where you can mark tasks as critical or non-critical. Then, set up a conditional formatting rule that applies a colored border to any tasks that have a “Yes” in that flag field. You’d want to use a different flag field than you are using to filter your overall chart, so if you’re using Flag20 to import tasks into OnePager, use Flag10 or something else to designate your custom critical path.

      We have instructions on creating a custom critical path in Excel. The process is the same for Microsoft Project, so you should be able to follow those instructions pretty easily.

      If you need additional help setting this up, feel free to reach out to our support team for a faster response.

Leave a Reply

Your email address will not be published. Required fields are marked *