Saturday, February 07, 2015

To Complete Performance Index (TCPI) and Cost Performance Index (CPI) - Part 2

To Complete Performance Index (TCPI) and Cost Performance Index (CPI), as noted in the earlier post, are a set of two powerful indices in Earned Value Measurement (EVM). In this post, I'll take a project-portfolio management software - MS Project 2013/2010 - to show how they work.  

Previous Example:

You have 2 tasks each taking 2 days and executed by two resources - R1 and R2.  For each day, you are paying $100 to the resources. After 1 day, you are checking the status. This is what you found:
Status For Task - 1:
-  R1 needs 2 more days to complete. So the total duration now becomes 3 days.
Status For Task - 2:
- R2 needs 0.75 day more. So, the total duration becomes 1.75 days. 

We will follow a series of steps, which you would do while performing Earned Value Measurement.
  • Step - 1: Plan for it (Initial Case)
  • Step - 2: Switch to an EVM Table to check on the date
  • Step - 3: Baseline the Project and check the EVM data
  • Step - 4: Execution Start/Progress; Status Date Setting
  • Step - 5: Data Interpretation
These actually you would be doing very quickly - in a matter of minutes - with the MS Project tool. However, I have segregated them into 5 easy steps for easy understanding.

Step - 1: Initial Case (Planning):

Let us put our example in MS Project 2013. It will look as shown below.

Figure - 1: Two Resources working on 2 Tasks of 2 days
As shown above, we have 2 tasks executed by 2 resources (R1 and R2) with a rate of $100/day. 

Step - 2: Switch to an EVM Table:

Let us switch to one of the Earned Value tables  - the "Earned Value Cost Indicators" - to check on the EVM related data/metrics. 

Figure - 2: Before Baseline - TCPI and CPI values
As you can see in the above figure, there is no baseline yet. Hence both "To-Complete Performance Index" (TCPI) and "Cost Performance Index (CPI)" are set to "0". Also Budget At Completion (CPI) is also "0", as no baseline yet. But the Estimate At Completion (EAC) is $200 as 2 resources, R1 and R2, will take $200 each at the end of completions of Task 1 and Task 2, respectively.

Step - 3: Perform Baseline:

Now, let me baseline the project and set the status date to end of day 1 - here end of Monday. Remember you are still in planning mode.

Figure - 3: TCPI and CPI values after baseline and status date setting
This is where some interesting things happened. In the above figure, after baseline, the CPI is 0, but TCPI is 1. Why? Because your Earned Value is zero, hence CPI is zero. Now BAC field has been populated post baseline and it is matching that of EAC, i.e., $200.  Actual Cost is also 0, as no cost has been incurred yet - the resources have not yet started working. But you have a value for BAC. Hence TCPI is 1 as TCPI = (BAC - EV)/(BAC-AC) = (200 - 0)/(200-0) = 1.

Step - 4: Execution/Progress; Setting the Status Date:

So, we have initially entered the tasks and then baselined it and saw the result. Next, the execution on the tasks, Task -1 and Task - 2, are started by the resources, R1 and R2, respectively.

Now, at the end of 1st day, I set the status date and this is what happened. To measure, you have to set the status date.

Figure - 4: TCPI and CPI post status update
As seen above, the Planned Value (PV) now has been populated and showing $100 for both the tasks. Because on status date, 1 day worth of work should have been done. This data is irrespective of baseline, as you can the same data in Figure - 3. Also, as seen in Figure - 3, both Actual Cost (AC) and Earned Value (EV) fields are set to $0.00 as I have not entered the actual completion percentage of work done by the resources. 

Now, on the status date, after checking with the resources, I entered the %  complete of work for the two tasks. 

As noted in the beginning, Task - 1 will now take 2 days more, where as Task - 2 will take 0.75 day more. When I entered these data, it will look as seen in Figure - 4Here, both TCPI and CPI, have respective calculated values by MS Project.

Step 5 - Data Interpretation:

Let us interpret the data as shown above:
For Task - 1:
  • CPI is set to 0.67 - matches our calculation as in the last post 
  • TCPI is set to 1.33. It matches the 1st one as we calculated in the last, but does not match our calculation as calculated in the last post.  Why? Because MS Project takes BAC as the baseline. Remember when you first baselined - BAC came to be $200.00.  So, TCPI is above is 1.33. It uses the first formula on TCPI, i.e., [(BAC - EV) / (BAC - AC)] 
But, how to to get 0.67 as seen in the last post?  You have to set your new baseline to EAC, which now is $300. 

Tool wont do it automatically for you. You have to set it after discussing with your governance board or project management office. Once approved, in the tool, the new baseline can be set and while calculating the new baseline has also to be set for EVM calculation. This is done in the Backstage View of MS Project.  As EAC is not the approved one right now, hence TCPI is showing as 1.33 - based on BAC. When the EAC becomes the new approved one, then the formula for EAC will be taken up, i.e., [(BAC - EV) / (EAC - AC)], will be used.

For Task - 2:

Am I saying that two different baselines needed for two different tasks? No. In real life, you actually take the cumulative CPI, which I briefly talked in the previous post. Cumulative CPI is the rolled up CPI for the entire project. 

Note: Also, For MS Project, while calculating the EVM, you have to check what you are measuring - "% Complete or "Physical % Complete". Like baseline setting, this also can be in the Backstage View. In this case, I am using the default % Complete as our example is like that.

The example that we used is  a very simple one. But it covers the fundamentals. In real projects, you will be working on 100s or 1000s of activities. However, these same concepts apply.

How does it happen for MS Project 2010?

It is very similar to what we just saw for Project 2013. All the fields - BAC, EV, PV, AC, CPI, TCPI, EAC - are available in MS Project 2010. The screens almost remain same. You can set the Baseline and "% calculation or work complete" calculation from the Backstage view in similar fashion. To know more on it: Practical PMP with MS Project. In this program, a case study driven project is taken and worked upon.

How does it happen in Oracle Primavera P6?

Fundamental concepts remains same. Primavera P6 also calculates the TCPI in similar way - the way discussed in these two posts. To know more on it: Practical PMP with Primavera P6In it, a case study driven project is taken and worked upon.

Now I hope, you got a sound understanding on TCPI and CPI. So, in summary you have to understand and remember the followings (including your PMP exam).


  • CPI < 1 means Over Budget
    CPI > 1 means Under Budget
    CPI = 1 means On Budget 
  • TCPI < 1 means Easier to Complete
    TCPI > 1 means Harder to  Complete
    TCPI = 0 means Same to Complete
  • CPI is about past performance and TCPI is about future performance
  • Formula for CPI = "Work Done"/"Funds Spent" = (EV/AC)
  • Formula for TCPI = "Work Remaining"/"Funds Remaining" = [( BAC- EV) / (BAC - AC)]
  • When CPI (or cumulative CPI) falls below the baseline, then the formula for TCPI changes, i.e.,
    TCPI = [ ( BAC- EV) / (EAC - AC)], here EAC becomes the new financial goal once approved
  • Both TCPI and CPI can be 0 or 1 as we saw 

An Interesting Scenario:
Is it possible to have TCPI to have an weird value? Say some infinite number? Yes! Here is a case. Imagine if BAC and AC are same and you have been still asked to complete the project.

TCPI = "Work Remaining"/"Funds Remaining" = (Certain Value) / 0 = An Infinite Value

So, what would you do for TCPI if it throws such a value?More importantly - how would you complete the project? Think about it!

You may also like:


  1. Is there a way to show cumulative values of performance metrics like CPI on MS Project? Or can we only see it at the task level and we need to manually calculate the average?

    1. Prashanth,

      It cumulative at all levels of the WBS - project level, immediate lower levels such as L2 or L3, control account level, work package level - in real time projects. MS Project software does the calculation and shows them at various levels. What I have shown is a very simple example with tasks (or activities), to have an easy understanding. If you are using MS Project 2013, you also can have the graphical visualization of CPI (and SPI).


Any comment is welcome - comments, review or criticism. But off-topic, abusive, defamatory comments will be moderated or may be removed.