How completion % is calculated
Completion % (progress) in EMDESK reflects how far an activity (task, work package, sub-project), full project or the potfolio has progressed based on the latest reported status. It is automatically determined bottom-up from the lowest level (e.g. tasks) and updated at every parent level (work package). Completion values are always retrieved the most recent status update.
What is completion %?
Completion % shows how much of an activity is done at a certain point in time. It is entered manually as part of a status reports at the level of individual tasks or higher levels (work packages, or whole project). Once entered, EMDESK automatically calculates completion at higher levels.
How completion % is entered
Completion % is entered as part of a status report. You can report completion:
- At the lowest levels (e.g. tasks)
- On higher levels (work packages, project) — either manually or as a calculated result
Only the newest status report counts. Older status reports are ignored.
Calculation logic
Direct completion for single item (no children)
If a task or activity has a reported completion of 50 %, it is simply shown as 50 %. There is no further calculation if it has no child items.
Simple average for parent level (without planned effort)
When multiple child items have completion % and no planned effort assigned, the system calculates the parent’s completion through arithmetic average.
Example:
- Task A: 25 %
- Task B: 50 %
Work package completion = (25 + 50) / 2 = 37.5 %
Effort-weighted calculation (if planned effort exists)
If planned effort is assigned (e.g. planned person-days), completion is weighted by effort to better reflect actual work volume.
Formula: Completion = Σ(child completion × child effort) / Σ(effort)
Example:
- Task A: 25 % with 50 person-days
- Task B: 50 % with 100 person-days
Work package completion = (25×50 + 50×100) / 150 = 41.7 %
Only items with effort receive weight. Items without effort are still included but are not weighted.
Example (mixed effort and no effort): • Task A: 50 % with 100 planned person‑days
- Task B: 25 % with no planned effort
- Task C: 75 % with 50 planned person‑days
Weighted tasks:
(50 % × 100) + (75 % × 50) = 5000 + 3750 = 8750
Total weighted effort = 150
Weighted result = 8750 / 150 = 58.3 %
Task B has no effort, so it is not weighted but its completion (25 %) still appears in the average context. It contributes proportionally but does not affect effort weighting.
Calculation across multiple parent levels
The same logic applies recursively at every level, for example:
Sub-task → Task → Work Package → Project
Task → Work Package → Sub-Project → Project
Completion always rolls up automatically using either weighted or simple averages, depending on effort availability.
Status update logic
- Always the latest status update date
- When viewing historical periods, the latest report from that specific period is shown.
- Older or overwritten reports have no effect.
Manual override
You can manually set completion % at any parent level:
- It replaces the system-calculated value at that level.
- It automatically propagates upwards to higher levels.
- It remains until a more recent status report for that level or children is reported.
- It does not affect individual child items.
Best practice tips
- Enter completion at lowest levels for most accurate roll-up
- Schedule planned effort on activities when possible to improve realism
- Use manual override only if strategic or exceptional
- Update status regularly so reporting reflects actual progress
- Keep reporting dates consistent for reliable comparisons
Summary
| Situation | How it is calculated |
|---|---|
| Single task or activity | Displays the completion % entered directly in the latest status report |
| Multiple children, no planned effort | Average of all child completion % values |
| Children with planned effort | Effort‑weighted average based on planned person‑days |
| Mixed effort and no effort | Children with effort are weighted, others count as normal |
| Manual override | Replaces calculated value at that level and propagates upward |
| Reporting view | Always shows the latest status report within the reporting period |