Aggregated completion calculation
In case you set Aggregated parent properties option on, parent completion is calculated according to task Duration and cannot be manually edited. Following text explains how exactly aggregated completion is determined.
Subtask without durations
This is an easy case. Parent completion is calculated as sum of all subtask completion divided by number of tasks. It's a simple average function.
Number of subtasks: 4
Completions: 50%, 20%, 0% and 0%
(50% + 30% + 0% + 0%) / 4 = 20%
All subtasks with durations
Application makes a corrections based on task durations. Basically, it's same as in first example except completions are multiplied by durations.
Number of subtasks: 2
Completions: 0% and 50%
Durations: 1h and 2h
(0% * 1h + 50% * 2h) / (1h + 2h) = 33%
Some subtasks with durations, some without
This is a specific situation. According to Example 2 formula, tasks without durations ("0h") wouldn't impact aggregated completion at all (X% * 0h = 0). That's why Agenda At Once internally, for this specific calculation, replaces "Zero" with "Almost zero" durations.
Number of subtasks: 3
Durations: 0h, 0h and 1h
Completions: 100%, 100% and 20%
(100% * 0.01h + 100% * 0.01h + 20% * 1h) / (0.01h + 0.01h + 1h) = 22%
Note that in this example it doesn't look like serious problem if we just ignored tasks without durations (completion would be 20%), but when more subtasks are involved it can make a big difference.