Calculating progress on parent tasks according to duration complete
This topic describes in detail how the progress marking on
Note that for simplicity's sake, the initial examples in this topic are shown as if the time unit of days is used when performing the progress calculations. In fact, the time unit of seconds is used in order to obtain the most accurate figures possible.
In sequence progress
Consider the following scenario, in which a summary contains four tasks. One task is four days long while the other three are each one day long, giving a total of seven days work within the summary:
Here, progress has been marked against the tasks. The four day long task is 25% complete, while the three remaining tasks are each 100% complete:
The Duration Percent Complete field displays 57.14% for the summary task. This value is derived by summing the completed durations and dividing by the total durations. As there are seven days of work in total, of which four are complete, the calculation is 4 / 7 x 100 = 57.14%.
The Distributed Average % Complete field displays 25% for the summary task. This value is derived by considering the position of the progress date that has been calculated for the summary task. The progress date for the summary task is calculated as follows:
- The total number of completed time units in the summary task are summed.
- The contents of the summary task are worked through from the earliest date to the latest date, ticking off completed units from units present until the entire number of completed units has been ticked off. The date at which the last completed unit is ticked off is the progress date of the summary task.
This is illustrated by the following graph:
The graph shows that four days or work have been completed and that three days remain to be completed. The four completed units can all be ticked off against the four units present on day one, so the progress date for the summary task is calculated to be the end of day 1, giving a Distributed Average % Complete figure of 25%.
Out of sequence progress
In the above example, working out the progress date for the summary task was quite simple. In the following example, the distribution of progress makes things less clear:
The completed and incomplete time units in this example are illustrated by the following graph:
This time - with five completed time units out of seven - the Duration Percent Complete field displays 71.43% for the summary task: 5 / 7 x 100 = 71.43%.
Ticking off the completed time units from the earliest date to the latest date results in the following graph; four of the completed units can be ticked off against the four units present on day one and the fifth can be ticked off against the unit present on day two:
This means that the progress date for the summary task is calculated to be the end of day 2, giving a Distributed Average % Complete figure of 50%.
Progress with nested summary and expanded tasks
If a parent task contains a nested summary
Consider the following scenario, where the top-level summary task contains one nested summary task, which itself contains two one day tasks:
The completed and incomplete time units in this example are illustrated by the following graph:
This time - with four completed time units out of eight - the Duration Percent Complete field displays 50.00% for the top-level summary task: 4 / 8 x 100 = 50.00%.
Ticking off the completed time units from the earliest date to the latest date results in the following graph; three of the completed units can be ticked off against the three units present on day one and the fourth can be ticked off against one of the units present on day two:
This means that the progress date for the top-level summary task is calculated to be halfway through day 2, giving a Distributed Average % Complete figure of 37.50%.
Extending the concept - using a time unit of seconds
As stated previously, for simplicity's sake, the initial examples in this topic are shown as if the time unit of days is used when performing the progress calculations, whereas in fact, the time unit of seconds is used in order to obtain the most accurate figures possible.
Using a time unit of seconds means that would not be feasible to use a 'count the squares' approach - as detailed above - as this would take too long. The actual approach taken is to create a 'profile' of values against time, to represent the distribution of tasks. This is illustrated below (note that Asta Powerproject never actually displays such a profile for viewing; it is purely used internally for carrying out progress calculations):
The total amount of completed units in this example is 4.5 days, which (there being 7.5 hours in a full day, split equally between morning and afternoon in this example) equates to 121,500 seconds. The progress date for the top-level summary task is calculated by finding the date at which the cumulative area underneath the graph equals 121,500 seconds.
The areas of the sections in the above profile (from left to right) are as follows:
- Section 1: 3 x 13,500 = 40,500; section 2 is identical (13,500 being the number of seconds in a half day in this example).
- Section 3: 2 x 13,500 = 27,000; sections 4, 5 and 6 are identical.
As the cumulative value to the end of the third section is 108,000 and the cumulative value to the end of the fourth section is 135,000, the progress date (equivalent to 121,500) lies somewhere within the fourth section. A simple ratio shows that the date lies halfway through this section - midway through Tuesday afternoon.
Mixed calendars and durations measured in elapsed time
When tasks use different calendars - when the start and end of working periods is different from one task to another - this results in more complicated profiles. For example, if some of the tasks in the example above used different calendars, the following profile might result:
However, even though the profile is more complicated, the procedure for calculating the progress date of parent tasks is identical to that described above.
When a task's duration is marked in elapsed time, it is assumed that work takes place continuously on the task for 24 hours per day and the task's calendar is ignored.
Nested hammock tasks
As mentioned previously, nested hammock tasks and their contents do not contribute towards the progress of any summary or expanded tasks in which they are contained. This is because it is assumed that the contained tasks will be taken account of elsewhere in the project.
Milestones
For the purpose of calculating progress on parent tasks, milestones are given a nominal duration of one second.
Calculating progress on parent tasks according to the Duration - Approximate method
If you are working with a very large project, you may find that calculating the progress on parent tasks takes a considerable time. You can reduce the amount of time that it takes by selecting the Duration - Approximate method of progress calculation in the Progress method field that appears both on the Progress tab of the Options dialog and on the Properties tab of the Properties dialog.
This method works in a similar manner to that outlined above, but the effect of calendars is ignored in large projects, which simplifies the calculations. Normally, the contribution of a single task to the task distribution is a value of 1.0 during working time and 0 during non-working time; if the Duration - Approximate method is used, a single value is used throughout a task's duration.
The value that is used depends on the ratio of working time to non-working time, so that the area under the profile for a task is the same as it would be if the profile dropped down to 0 during non-working time. So if a task started at 09:00 on Monday morning and finished at 17:30 the following day (assuming 7.5 hours of working time per day), there would be 15 hours of working time in the task's duration and 16.5 hours of non working time. Therefore a constant value of 15 / (15 + 16.5) = 0.476 would be used throughout the task's duration.
Calculating progress on parent tasks as a distributed average
The Overall percent complete, Percent complete and Planned percent complete (PPC) fields normally display values for
You can instead choose to display distributed average values, that take into account how the progress is distributed within the
To display values as a distributed average, select the Show distributed average for charts/summaries check box that appears on the Column Definitions tab of the Table Definition Properties dialog when the Overall percent complete, Percent complete or Planned percent complete (PPC) field is selected.
Calculating progress on parent tasks according to effort complete
Calculating progress on parent tasks according to cost complete
Calculating progress on parent tasks according to overall percentage complete