One of our students in the “Projects Planning with P6 -Intermediate Level” course, sent us a question that he is adding progress updates to his time schedule, either by changing the % complete of the activity or by changing the remaining days.
After updating the activity status, Primavera P6 doesn’t automatically update the actual cost of the activity.
While those activities have budgeted total costs, and also have completion percentages, they don’t have actual costs.
In this article, we will get into this problem, and explore when the actual cost is calculated automatically by Primavera, and how to overwrite it with the real actual cost values.
What is Actual Cost
According to the American Project Management Institute (PMI), the actual cost (AC) is simply the money spent on the work accomplished. This is also known as the actual cost of work performed (ACWP).
So as the activity consumes time and resources, it consumes cost. The actual cost is the real cost that the activity consumed until the moment.
It’s very important to understand the difference between the Actual cost and Earned value.
According to PMI, the Earned Value (EV) is the percent of the total budget actually completed at a point in time. This is also known as the budgeted cost of work performed (BCWP).
EV is calculated by multiplying the budget for an activity or work package by the percentage progress:
EV = % complete x budget
According to the previous image, the earned value is calculated directly by multiplying the progress % by the budget of the activity. While the AC is calculated from the cost control process that is conducted on the site to calculate the actual cost of each activity.
So, the question now is… why do we need to calculate both Earned Value and Actual Cost?
Why do we need to calculate both Earned Value and Actual Cost?
As the project starts we usually need to monitor the cost over time, and that is called Earned Value Management. According to the PMI, Earned Value Management allows the project manager to answer the following three questions, as they relate to the project:
- Where have we been?
- Where are we now?
- Where are we going?
In Earned Value Management, unlike in traditional management, there are three data sources:
- the budget (or planned) value of work scheduled (PV)
- the actual value of work completed (AC)
- the “earned value” of the physical work completed (EV)
Earned Value takes these three data sources and can compare the budgeted value of work scheduled with the “earned value of physical work completed” and the actual value of work completed.
So basically we compare the Earned Value to the Actual Cost to see the Cost Variance (CV). The Cost Variance indicates if the project is over or under budget.
Now that we understand what is the Actual cost, and also the difference between the actual cost and the earned value, let’s move to Primavera P6.
Actual Cost in Primavera P6
Primavera P6 deals with Actual Cost like it is Earned Value. Primavera calculates the actual cost as follows: AC=Budget x %Complete. As we learned before, that’s the equation of the earned value, and the actual cost should be collected from the cost control department.
Based on the above information, when we increase the %Complete of a certain activity, and this activity has a budgeted cost, we expect its actual cost to be increased, and that’s the problem that we’re discussing in this article.
The cases where Primavera P6 doesn’t update the Actual Cost
Up to our experience, and the questions that we get from our students every day, we’ve figured that this problem happens under some circumstances. We will explain each one in detail and also provide solutions for each of them.
But before we explore the cases, let’s have a quick look at some Primavera settings that should help to calculate the actual cost automatically and correctly.
Recalculate Actual Units and Cost when duration % complete changes.
To apply this option, select your project, and under the calculations tab, you’ll find this option. In most cases -as we’ll discuss later in this article- this is not a guarantee that Primavera will calculate the actual cost. Just remember that if you used this option and you updated the actual cost manually, then you changed the activity % complete, Primavera will recalculate the actual cost and overwrite the value that you entered manually.
Recalculate assignment costs after scheduling.
From the scheduling options, there is another option that lets Primavera recalculate the assignment costs every time you schedule your project. If you didn’t activate this option you may have to run the order to recalculate the assignment costs manually every time. The next 2 figures show how to recalculate them manually.
So, activating the option from the scheduling options saves you the recalculation time every time you schedule. After doing all these steps, the actual cost might not be calculated automatically as we will explain later, but at the moment, make sure to activate them.
Case 01 – Assigning Resources using Excel
The first case and the most common case among planners is that when you assign the resources to your activities using Excel, then import that assignment into Primavera, and start updating your time schedule by changing the activity % complete, the actual cost doesn’t get updated or even calculated. It shows zero values.
As we mentioned, this case usually happens when you assign the resources using Excel. So for example, if we picked a certain activity from those whose actual cost shows zero values, deleted the resource that we assigned to the activity using Excel, and reassigned the resource again manually using Primavera, then changed the % complete of the activity, the actual cost will be calculated immediately.
Let’s pick any activity and demonstrate the previous steps on it:
As you see this activity has a budgeted cost of 10,000 and it’s 50% completed, but the actual cost is zero. We expect to see 5,000 as an actual cost, but Primavera didn’t calculate it automatically. Even if we refresh, run, and recalculate it manually from the “Tools” menu, it won’t be calculated.
Let’s try to remove this resource, add it again manually, and add the same budgeted units to see what will happen.
Start with removing the resource that has been assigned to the activity using Excel.
Click on Add Resource and assign the same resource again to the activity. Now update it’s budgeted units and cost as the old resource = 10,000.
Once you add the budgeted cost again, the Actual Cost will be calculated automatically. Sometimes you may have to change the %Complete of the activity after adding the resource and it’ll be updated.
So now that we know the problem, we have to look for a solution. Our solution for this problem is to ask yourself a question, why do you need to know the Actual cost of the activities in Primavera?
The first answer would be, “I just want to calculate the actual cost of the activities to compare it to the earned value to calculate the cost variance”
My answer would be that the actual cost that we compare to the earned value to get the cost variance is the actual cost collected from the cost control procedures. The actual cost that Primavera calculates is the same as the earned value cost as we mentioned before.
Another answer would be, “I just want to show the column that shows the actual values that Primavera calculates in my weekly reports that I print from Primavera”
My answer would be that you can show the “Earned Value Cost” column instead, it’ll show the exact values that you want and you can change its name to Actual Cost to show it in your report.
Remember that the earned value cost is calculated by multiplying your activity % complete by the budgeted cost of the activity from your baseline. So make sure that you assign your baseline correctly to get the right values. Make sure also that the baseline budgeted cost is correct.
Maybe you’re now asking, what if I just want to update the real actual cost fields in Primavera, and what if I don’t want to show the earned value cost column instead?
You have two ways to do what you want:
The first way is to export your resource assignment to Excel, then replace the actual cost values with the earned value cost values that you got from Primavera. You can use the result of % complete x Budgeted cost directly as the actual cost and import it to Primavera again.
The second way is to do Global Change inside Primavera P6 to change the values of the Actual Cost.
We will get into both ways in the following figures:
1st Method: Export and Import
Start with exporting the resource assignment of the resource that you want to change its actual cost.
Modify the template to show the actual values.
You may also filter the activities to show the activities that are only assigned with the resource that we want to show its actual values. This is optional as you can filter the resources later in Excel.
Choose where you want to export the Excel sheet and then open it. The Excel sheet will be as follows.
You can see that all actual cost fields are zero. Now we want to replace these values with the right values of the % complete x Budgeted Cost. Go back to Primavera and delete the WBS sorting as follows.
Then make sure to show these columns: Activity ID, Budgeted Total Cost, and Activity % Complete.
Select all the activities by CTRL+A from the keyboard, then copy and paste them into a new Excel sheet.
Now that we have this data, we can calculate the earned value/actual cost easily.
Multiply the two columns then drag to the end. Now you have the earned value cost/actual cost that we want to import to Primavera. With a simple Vlookup function, we’ll add these values to the resource assignment sheet exported from Primavera.
Sheet 1 in the function is where we pasted the activity data from Primavera P6. Now copy those values into the actual cost column as values.
Don’t forget to delete the Vlookup values after copying and pasting them as values.
The last step as any Primavera user knows, is to convert the pasted values into text.
Select the column that we pasted the data in, go to the data tab, then “text to column”.
Make sure to select “Text”, and then click finish. Save the Excel sheet and close it.
Now it’s time to import those values back to our time schedule in Primavera P6.
Go to Primavera and import the Excel sheet into your project, all actual costs will be updated to the right values.
Now you have your Actual Cost of every activity calculated correctly. The only problem is you have to do this step using Excel every time you want to see the actual cost in Primavera. Unless you delete the Cost Resource and assign it manually in Primavera P6, then the actual cost will be calculated automatically at every % complete change you make.
2nd Method: Global Change
In this method, we will change the actual cost to be the value of the budgeted total cost multiplied by the activity % complete.
As there is no parameter in the global change of resource assignment called “Activity % Complete” as you see in the following figure, we can’t change it directly with one global change.
So we’re going to create a custom field, name it progress %, and make it equal to the activity % complete column.
A custom field is like another column you create in Excel and use it to store a certain value, so we will create a custom field and store the % complete in it.
Start from the Enterprise tab, and go to User Defined Fields.
After that click on add to create a new field, name it what you want, and make its type as a number, as it’ll store the progress % values of the activities.
Now we created a field that will have the % complete of all our activities, we will use it to multiply it by the budgeted cost of each activity to get the Actual Cost of the Activity.
Now our user field is still empty, we will use global change to make it equal to Activity % Complete.
Go to Tools, and choose Global Change.
Select any of the existing rules or simply add a new one, select it, and then click on modify.
As we said before, we created a new user field called “1-Progress %”, and now we’re going to store the values of Activity % Complete in it.
Make sure that the Subject Area is Activities.
Make sure to follow the next figure and don’t forget to divide by 100. That’s because the activity % complete is stored like “50-60-70” not “50%-60%-70%”.
Click on change and the next window will appear to show you the old values compared to the new values, check your data and make sure the new values are the % complete of the activities, then click Commit Changes.
If you think there is anything wrong with the new values close this window, correct your mistake, and commit the change again.
Now we successfully stored the Activity % complete values in the new user field that we created.
Now it’s time to change the actual cost to be = budgeted cost X Activity % complete (the user field that we created)
Go to global change again and modify or add a new one.
Make sure that the subject area is Activity Resource Assignment.
Use the rule in the next figure and click on Change.
Revise the values and make sure that the old values are zero as we don’t have any actual cost yet, and the new values are the result of multiplying the budgeted cost x the % complete.
After reviewing the data, click on Commit Changes.
Get back to your schedule and congratulations, now you have the actual cost of every activity calculated correctly and appearing in the resource tab of each activity.
Remember that you need to do the second Global change only every time you want to update the actual cost and see the fresh numbers, as Primavera still won’t calculate them automatically unless you assign the resources manually in Primavera like we said before.
Calculating the Actual Cost/ Earned Value using Primavera is important to know the value of the work done, and to calculate the cost of the remaining work. As Primavera sometimes doesn’t calculate the Actual Cost automatically as we stated above, we advise using the values of the Earned Value Cost directly, unless you want to update the actual cost at every resource too. In case you want every resource to have its actual cost calculated, then stick with the second method of exporting and importing, or you can use the Global Change method, or simply delete and assign the resources manually in P6 and of course, we don’t recommend that last method as it’ll take too much time and won’t be so accurate as you may have mistakes while copying and pasting values.