Completion % captures the current progress.. I understand that. Is there a way to come up with completion % if all work (hypothetically) was completed on time as of today?

e.g., Assume the total duration is 400 hrs. Today, the total duration scheduled to be completed was 200 hrs, however only 50% of the work was done. Therefore, %complete is 25% and, if the task was completed on time, then the %complete should be 50%.

How do we capture the latter completion %?

  • I'm not entirely sure, but you may be looking for the To Complete Performance Index - which predicts the final numbers based on the performance up till today.
    – MCW
    May 21 '18 at 17:40

Here's the right way to do it: Load resources and set a Baseline before you start recognizing progress. Then recognize progress and update the schedule (delaying incomplete work to after the Status Date) at each periodic "Status Date." At each Status Date, planned %Complete is BCWS/Cost. (BCWS is "budgeted cost of work scheduled.") The actual (performance) %Complete is BCWP/Cost. (BCWP is "budgeted cost of work performed," aka "Earned Value.")

Here's the wrong (but not uncommon) way to do it: Don't load resources; don't set a baseline; and don't update the schedule at the Status Date. Apply formulas to 3 custom fields.

"RolledUpDur" (Duration1): = [Duration]. {Calculate summary rows as Rollup-Sum}.

"ShouldBeDur" (Duration2): = IIf([Current Date]>=[Finish],[Duration],IIf([Current Date]<=[Start],0,(ProjDateDiff([Start],[Current Date])))). {Calculate summary rows as Rollup-Sum}.

"ShouldBe%" (Text1): = [Duration2]/[Duration1]*100 & "%". {Calculate summary rows as Use formula}.

[Alternately, if a Baseline HAS been set, then use Baseline Start, Baseline Finish, and Baseline Duration in the custom duration formulas.]

This could be simpler (i.e. a single custom text field) if one doesn't care about including summary tasks in the mix. In Project, %Complete is simply [Actual Duration]/[Duration], and for summaries it's Ʃ(Actual Durations)/Ʃ(Durations). These custom fields are set up to compute the summary "ShouldBe%" the same way.

Why is this the "wrong way"?


a)Schedules should ALWAYS be updated. Incomplete work is never in the past; instead, whatever you didn't get done last week will pile up in front of you, and what you had planned to do this week will be delayed. And

b)Duration %Complete is simply not a valid measure of the value of the work performed nor of the time expended. Its continued use breeds misunderstanding.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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