I am not understanding how MS Project (2016, in this case) calculates the BCWP component of Earned Value. To illustrate: below is a one-task project. The task is five days long, has one resource assigned 8/hrs per day at $10 per hr. The task starts 4/29 and finishes 5/5.The task is set to use Physical % Complete as the basis for Earned Value calculations, and the project is set to not calculate Actual Cost automatically (so I can enter an Actual Cost manually).

I set the project's baseline and all works as it should: baseline cost is set to $400.

Then I set the task to 100% complete and the Physical % Complete also to 100%. I enter an actual cost of $500. ACWP correctly displays that value, and correctly displays the $400 BCWS.

Lastly, I set the Project Status Date to 5/9/16, after the finish date of the task.

What I get is shown below. I don't understand why BCWP is $0.00. The task has been performed, it has a Budget Cost of $400. Shouldn't Project show $400 for the BCWP on this completed task? Calculating the Project has no effect.

Earned Value for one task

I'm not the world's greatest MS Project expert, so I suspect I'm doing something wrong here, and I'd appreciate any insights as to what my error is. Am I mis-understanding BCWP? Do I have some setting wrong?

Thanks for any help.

5 Answers 5


An important aspect of both BCWS and BCWP is that they are time-phased values.

Their values will change based on the date values of a task's baseline start and the project status date.

This aspect was not brought out explicitly in the MS explanation of BCWP.

Part of the pseudocode formula for BCWP and BCWS is this: [status_date] - [baseline_start] = ["time period with which to calculate baseline (cumulative) cost relative to the status date"]

Note: where there is no project status date, today's date is used.

In practice this works fine if your project's performance is adhering to the baseline dates, BUT if the baseline start of a given task is LATER than the status date, and you are reporting progress on this task, the time calculation for BCWP and BCWS will be negative, and Project will resolve that to just zero.

In short, it would appear that if your project is over-performing and you're completing work well in advance of your baseline plan, Project will calculate zero for the SPI of such tasks!

Incidentally, you can create a workaround for this phenomenon by creating a custom field with your own formula to calculate SPI, aiming to avoid a divide by zero error when calculating CPI/SPI.

I'd be interested to know why Project's EVM calculations are set up this way.

Andrew M.


My guess is that you didn't save a baseline before marking the tasks as 100% complete.

Based on the definition of BCWP by Microsoft:

How is BCWP Calculated?

When a task is first created, the BCWP is 0.00. As soon as a baseline is saved and progress is reported for the task (as actual work, actual duration, or percentage of work complete), Microsoft Office Project calculates BCWP. This calculation is based on the percentage of work complete, as compared with the task's baseline duration. Project then calculates the cumulative baseline cost and provides the value of what the task's actual costs should be, given the task's progress to that point in the task's baseline duration.

  • 1
    Thanks for the response, but I have set - many times - a baseline for the project, with no effect.
    – johnz
    May 2, 2016 at 21:45
  • 2
    Actually, Danny, you may have hit on the answer. I may have had a percent complete and then set the baseline. If there is a % complete, it's necessary to unwind it to 0% and then set the baseline and then put the % complete back up to zero. Makes sense...kind of. I'm testing to see if that's the case.
    – johnz
    May 2, 2016 at 21:51

I'm running into the same problem. I haven't completely figured out the answer, but do check your project settings to make sure it is calculating EVM based on Physical % Complete. There is also an option to select which baseline is used to calculate evm... not sure how that works yet.

Go to File -> Options -> Advanced -> Scroll Down to Earned Value options.

  • Thanks for your response, Constantly (nice name - that's how I feel much of the time with Project). Eventually I got it to work, but I just started a new project and ran into the same thing. I'll try your suggestion.
    – johnz
    Dec 17, 2016 at 17:11
  • I read your comment from May 2nd, and confirmed that it worked for me. (excuse my poor formatting, I'm new to stack exchange. "Actually, Danny, you may have hit on the answer. I may have had a percent complete and then set the baseline. If there is a % complete, it's necessary to unwind it to 0% and then set the baseline and then..." Dec 20, 2016 at 17:49

PEOPLE - it's all about the updating!

You have to actually use the 'update project' button in the 'Project' Tab, 'Status' section and the 'update Project' button.

You can enter the % complete or other value and it will still not update the BCWP until you give the project a formal update via the 'Update Project' button.


You don't actually have to use the "Update Project" button at all. This feature is a blanket approach to applying a status update, and not something that most qualified schedulers would recommend using. A detailed, task by task update is required.
There are a number of truths listed in this thread. Yes, you need a baseline. Your Earned value options (Advanced tab) must specify what baseline the system is to look to when calculating the chosen % complete method against. Your Earned Value Method (Task Info, Advanced Tab) should be set to % Complete for those tasks being updated simply by % complete, and to Physical % Complete for those where you've chosen to enter a value in the Physical % Complete field. Make sure this (Earned Value Method field) is correct before entering Physical % Complete, as I've found that changing it after physical % complete is entered will not recalculate the BCWP. You have to go back and re-enter physical % complete to get it to calculate properly. But you can certainly enter your progress one task at a time by doing a proper task update, put in any required actual dates for completed tasks, and an actual start and actual/remaining duration for tasks in progress, or have actual duration calculated for you (yes, could use Project Update) but better to use the Task-level "Mark on Track" feature. Once actual duration is calculated, you have % Complete. With the Earned Value Method field set to % Complete, and a baseline set, and the Advanced tab's Earned Value options pointing to the correct baseline, you'll have BCWP.

I've also found that BCWP works fine in the Task views, using Cost Resources, Work Resources, or even Fixed Cost, but only Work Resources will provide a time-scaled BCWP in the Task Usage view (Cost Resources will not do it). Still investigating this feature to see if I've missed something, but its not looking good.

  • Thanks for your insights. I believe Project just messes up BCWP sometimes. Preparing a project for a class last week I had a task that would not show BCWP no matter what I did. I deleted and re-entered it, marked it complete, and BCWP showed up just fine. I've come to use some custom fields to calculate EVM correctly.
    – johnz
    Sep 5, 2019 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.