Schedule % Complete in Oracle Primavera – The Missing Guide (Part 1)


Schedule % Complete is one of the many percent completes you have in Primavera P6 and we’re going to have a complete look at what it is and how it is calculated.  Two important products of maintaining schedules are planned progress and actual progress of a given time; you want to know how much you’ve done so far and compare it with how much you were supposed to do so far, in order to reach project targets.

The first thing to mention is that Schedule % Complete deals with planned progress. As a result, it is calculated based on the Project Baseline and the Data Date; it has nothing to do with the current schedule.

The second thing is that this field is calculated differently for Activities than for WBS Elements. This is the source of the most common problems people have with this field.

Schedule % Complete for Activities

And now, let’s start the story with how Schedule % Complete is calculated for Activities. It’s simple; just take a look at the following figure.

Primavera Baseline diagram
When the Data Date is earlier than the Baseline Start date, Schedule % Complete is zero, when it’s after the Baseline Finish data, Schedule % Complete is 100%. Otherwise, Schedule % Complete would show what percentage of the Baseline duration is passed by the Data Date. Here’s a formula to calculate Activity Schedule % Complete:

Schedule % Complete(Act) = ( [Data Date] – [Baseline Start] ) / ( [Baseline Finish] – [Baseline Start] )

The following diagram shows the Schedule % Complete of a single Activity for different Data Dates:

Animated Primavera P6 Data Date Diagram
And that’s all for the activities; it has nothing to do with the current schedule, the resource curves, the costs, etc. For Activities, Schedule % Complete is strictly calculated based on:

  1. Data Date
  2. Activity’s Baseline Start
  3. Activity’s Baseline Finish

Schedule % Complete for WBS Elements

And now, the story of how Schedule % Complete is calculated for WBS Elements. Let’s start by reviewing 2 possible scenarios:

Scenario 1

Schedule Percent Complete Example

How are these calculations possible? The Sample WBS Element has three Activities, they all have Schedule % Completes greater than zero, but the value for Sample WBS Element is 0! Before I reveal the answer, here’s a contrasting scenario.

Scenario 2

Schedule Percent Complete Example 2

In this scenario, the Sample WBS Element has three Activities with Schedule % Completes less than 50%, but the Schedule % Complete of the WBS Element is 75%.

What is going on here? How is Schedule % Complete calculated in each scenario?

A WBS Element’s Schedule % Complete is calculated in a completely different way. You might expect it to be the rollup value of the underlying Activities (a weighted average for example). But, as in scenario 2, the three Activity values which are all less than 50% could never have a weighted average more than 50%.

As you saw before, the Schedule % Complete of the Activities is time-based. However Schedule % Complete for WBS Elements is:

  1. Depended project costs and…
  2. Does not factor in any Activities’ Schedule % Complete values

How Schedule % Complete is Calculated for WBS Elements

When you assign resources and expenses to activities, each activity will receive a calculated Total Cost. Resource assignment hours and costs are, by default, spread uniformly over the duration of the activity (but you may apply a Resource Curve to alter this). Oracle Primavera will show you how costs are then planned for each day of the Activity. These costs are aggregated to the WBS level, and the time-phased cost of the WBS Element will be calculated automatically.

Schedule Percent Complete Oracle PrimaveraThe Schedule % Complete of the WBS Element will be the ratio of the Baseline Costs before the Data Date to the Total Baseline Cost.

Schedule Percent Complete Oracle Primavera

In the world of Earned Value, the costs before the Data Date are called the Planned Value, or PV for short (Also called BCWS – Budgeted Cost of Work Scheduled). The total baseline cost is called Budget At Completion or BAC for short. We can now formulate the calculation of Schedule % Complete for WBS Elements as:

Schedule % Completed (WBS) = PV / BAC

Please have this in mind that all the mentioned parameters are derived from baseline and not from current schedule; the WBS bar shown in these figures is the baseline schedule of the WBS Element and the costs are the baseline costs of the WBS Element.

The following diagram shows Schedule % Complete of a sample WBS Element for different Data Dates:

Schedule Percent Complete Oracle Primavera

The above descriptions show that the Schedule % Complete of the WBS Elements depend on the following:

  1. Data Date
  2. Baseline Costs before the Data Date (PV)
  3. Total Baseline Costs (BAC)

To summarize, Schedule % Complete for Activities is based on time, while its value for WBS Elements is based on costs.

Pulling Schedule % Complete together for WBS and Activities

The following diagram shows Schedule % Complete of a sample WBS Element with two Activities in different Data Dates.

Schedule Percent Complete Oracle Primavera

In Part 2 of the Schedule % Complete Guide, I’ll show you an example of using Schedule % Complete on a project in P6.

Download my new ebook on Primavera P6 Percent Complete fields to learn more.


  1. says

    ?? ????
    ??? ?????
    Schedule % Complete(Act) = ( [Data Date] – [Baseline Start] ) / ( [Baseline Finish] – [Baseline Start] )
    ???? ????? ???? ??? ?? ?????? ?? ???? ????? ????? ???? ?????? ????

  2. says

    This formula is true only when that the project does not have holiday

    Schedule % Complete(Act) = ( [Data Date] – [Baseline Start] ) / ( [Baseline Finish] – [Baseline Start]

  3. says

    This formula always gives the correct answer

    Schedule % Complete (Act) = ([Data Date] – [Baseline Start] – Holly day) / ([Baseline Finish] – [Baseline Start] – Holly day=OD)

  4. says

    Dear Mostafa;

    Yes, it’s always the case in planning world: non-working times are not counted (as briefly discussed in Part 2 of this article).
    [Finish]-[Start]-[non-working-time] is not an appropriate syntax for it and [Finish]-[Start] is common. We actually define the “-“ operator in a way that does not count non-working times.

    [Baseline Finish] – [Baseline Start] is not always equal to Original Duration.

    When your activities’ costs are front loaded, you have the potential of having the second scenario. An extreme example: we have a WBS Element with three activities. All the activities start in day one and have at least two days baseline duration. Their costs are all in their start. Ok, what happens when we pass day 1? WBS Element’s Schedule % Complete would be 100%, but its activities are all less than 100%.

    Best wishes

  5. says

    Hi Nader
    Thank you for sharing your valuable knowledge, I am Looking for performance % but cant find it on your site, would you please send me te link.

  6. says

    On the Gantt chart, all activities on the critical path are shown in red. Total float can be found for each activity on the “Status” tab of the activity, down in the bottom corner.
    Hope that helps!

  7. says

    Dear Maged,
    You should look for hard constraints in the whole schedule.
    If you are using a fixed end schedule, having negative floats will not be a problem. However, if you are using a more common form of free-end schedule, you should avoid hard constraints completely.

  8. Maged Eid says

    I ask about why there is a gap between the data date of any activity and it’s remaining early start when i make update? please inform me. Thanks alot

  9. Aladdin Fayoumi says

    Dear Sir,

    I’d like to thank you so much for your helpful information.
    But I face a problem when I do schedule for my updated schedule, the cash flow for the entire project change automatically at each update, which gives me a wrong schedule% to compare with performance or physical%.
    How could I keep my base cash flow fixed during all project period.


  10. says

    Dear Maged,
    It can have different reasons, such as:
    1. you’ve used retained logic rescheduling and a predecessor has moved the remaining of the activity to a later date, or
    2. there’s a none-working period between your data date and the earliest time for the remaining of the activity.
    Those were the two reasons I can think of right now.

  11. says

    Dear Aladdin,
    You’re probably using the “current project” option as a baseline. You should save and assign a real baseline at the beginning, and those values will stay constant.

  12. says

    Dear Nader

    I have a question … I need to get my Schedule % complete with the curve of resource of activity … So I put a kind of curve with my own % curve, then I save the baseline and the I use in project baseline but when I upload to my data date, my activity that is duration type show me in Schedule % complete the % of the duration of the activity and I want the % of my curve of the resource. How can i get this percentage in my Schedule % complete?

    Thank you

  13. says

    I made a sample project in P6 and tried 1 activity with 20 days as the duration. I displayed the Total and the duration appeared as 15 (not 20). I tried to match the calendar used in the sample project with the entries at the User Preferences, the result was the same. I tried to make some adjustments with the Admin Preferences. User Preferences and Calendar still the durations for the activity and total are not the same. How can i solved this?
    Thanks a lot in advance.

  14. says

    i want 2 weeks lookahead programme in P6,my project data date is 11th March-11, but i want the activities of Dec-13 in 2weeks lookahead programme, so can anyone help me in getting the same

  15. Ahmed says

    Dear all,

    Actually I have a problem for the schedule percent complete, our consultant don’t get the same % on the WBS level.

    on activity level, we have the same schedule % complete, same cost, wbs total cost also same.

    Our WBS % complete is correct because manual calculation give the same value.

    So, Where is the problem? Why we haven’t the same value?

    Thank you in advance for your help.

    Best Regards.

  16. Howard Kech says

    I have recently had to re-baseline my project as we had been delayed and were not able to complete as per contract finish. Without as baseline schedule % complete = (or at least should be) actual % complete. However my schedule % complete is still showing me higher than the actual giving me a variance when there shouldnt be.
    How do i make my actual schedule my baseline and keep the variance at zero so i can calculate the planned progress for the remaining works for the remainder of the project

  17. yasser says

    I’ am having a problem with schedule % complete and also with performance % complete in primavera program I don’t have a total for both columns beside WBS and I checked my data date and My base lines date in the upper equation manually ( I had a result ) but in primavera program ( no total for both ) beside the project summary …..

  18. Khairat Ismaeel says

    Thanks for the explanation, but I have a question for you
    based on the above explanation, schedule % depending on baseline dates (no actual progress), so what if I have a revised schedule (with actual progress) and I want to set it as a target schedule??!!!
    Any advice?!!

  19. Tajamul says

    I have resource loaded schedule of 163 days, i have updated some of activities after 18 days and the actual progress on WBS is 5.48% but the schedule % is showing for the WBS level is 100%. Data date is 18 days ahead of BS .

  20. Tajamul says

    While the other building activities have schedule % of 100 but the WBS level show 0%.

    Need your kind help in this regard

    Best Regard

  21. amir says

    Thanks a lot for the post. I learn a lot about this subject. Now i’m still learning and refreshing my skill in planning and P6. Hope you guys can contribute more tutorials for everyone. Keep up the good work and i will following this website from time to time. Thanks

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>