OKR calculations
- Last updated
- Save as PDF
How does Planview calculate progress percentages for OKRs?
The progress for an objective or key result is a primary metric that appears on OKR screens in the card and list views, in Planview.Me widgets, and in Planview Roadmaps. How OKR progress is calculated depends on a number of factors, including which calculation option is enabled and what kind of key result is being tracked. In addition, OKRs track progress on three levels:
- At the key result level: A key result may have one or more targets, but the overall key result progress is calculated independently from the targets.
- At the target level within a key result: Each target has its own independently calculated progress; however, each target's individual progress does not affect the key result's overall progress percentage.
- At the objective level: Objective progress can include the progress of its direct key results only or roll up the progress from child objectives as well as direct key results.
NOTE
Progress percentages up to and including .5 are rounded down, while percentages above .5 are rounded up.
How progress is calculated for a key result
A key result's progress is the overall progress percentage for the key result, tracking the key result from the very beginning through the final target's end date. In contrast, progress for individual targets within a key result only reflect the progress for that stage of the key result. Therefore, a key result's progress is not calculated based on the progress numbers from its individual targets, but rather on the key result's overall numbers from start to finish, whether it is the planned finish or the actual finish.
The following table shows the formulas used to calculate key result progress for both positive (target > start) and negative (start > target) key results. The calculated Progress value is a percentage rounded to the nearest whole number.
| Key result direction | Key result progress formula |
|---|---|
| Positive | = [(Last progress – Start) / (Final – Start)] × 100 |
| Negative | = [(Start – Last progress) / (Start – Final)] × 100 |
The formulas use the following values:
- Start: The Start Value for the key result, which is the value of the key result when the key result was created (the creation date is also the Start Date for Target 1).
- Final: The Target Value of the key result's very last target. For example, if a key result only has one target, this value is the Target Value for Target 1 on Target 1's End Date.
- Last progress: The Progress Value for the key result, which is also the Last progress value for the target with the most recent progress update.
How progress is calculated for each target within within a multi-target key result
A key result can have multiple targets representing individual stages or specific timeframes within that key result. Each target has their own Target Value and End Date. To help users understand progress within a specific stage or timeframe, a target's progress is treated independently from the key result's overall progress. As a result, in a multi-target key result, a target's progress percentage does not affect the key result's overall progress value; key result progress is calculated as described in How progress is calculated for a key result.
The following table shows the formulas used to calculate the progress of a target. The formula used depends on whether the target is Target 1 or a subsequent target and whether the key result direction is positive (target > start) or negative (start > target).
| Key result direction | Target number | Target progress formula |
|---|---|---|
| Positive | Target 1 | = [(Last progress – Start) / (Target – Start)] × 100 |
| Positive | Target 2 or greater | = [(Last progress – Previous) / (Target – Previous)] × 100 |
| Negative | Target 1 | = [(Start – Last progress) / (Start – Target)] × 100 |
| Negative | Target 2 or greater | = [(Previous – Last progress) / (Previous – Target)] × 100 |
The formulas use the following values, where Target X is the target you are looking at and the previous target is the one prior to Target X:
- Start: The Start Value for the key result, which is the value of the key result when the key result was created (the creation date is also the Start Date for Target 1).
- Previous: The Last progress value for the previous target.
- Target: The Target Value of Target X.
- Last progress: The most recent Last progress value for Target X.
NOTES
- While key result progress can display percentages below 0% and above 100%, the displayed progress percentages for targets do not; target progress percentages below 0% appear as 0%, while target progress percentages above 100% appear as 100%.
- Targets with blank Last progress values (such as when no Progress Value has been entered for a target) default to 0.
- For negative key results, the formulas may misrepresent the progress value when no progress value update has been entered.
- Each target after Target 1 uses the Last progress value from the previous target as the starting value for itself. However, a target may be appear to be penalized if the previous target exceeded its Target Value.
Multi-target FAQs
| Question | Explanation |
|---|---|
| Why don't all targets use the Start Value for the key result as their own starting value? |
In a multi-target key result, each target represents a sequential milestone. After a target is achieved or passed, the next target becomes the new focus. Progress is then measured from the last achieved value, not the original start. This approach reflects the true starting point for the next leg of progress. Using the original start would inflate the progress and not accurately represent how much work remains between targets. |
| Why not calculate the key result's overall progress by simply averaging the progress for all of the key result's targets? |
Targets may not have equal date ranges or workloads. Averaging all targets would distort the real key result progress if, for example, one target's date range is much longer or more difficult than another's. Instead, the overall key result progress is calculated from the initial start through the final target, which gives a true linear representation of how far you've come in the full journey. |
How progress is calculated for an objective
OKRs support two methods for calculating progress for objectives, direct calculation and rollup calculation. Both methods use an average of an objective's key results' progress in the calculation; however, the rollup calculation also factors in an objective's child objectives.
NOTE
While key result progress can be below 0% or above 100%, key result progress is capped at 0% and 100% when used to calculate an objective's progress. Therefore, key result progress percentages below 0% are factored in as 0%, while key result progress percentages above 100% are factored in as 100%. This ensures that overachievement or underperformance in a key result does not disproportionately inflate or deflate the objective's progress. It also keeps progress metrics intuitive and bounded, where 0% means no progress and 100% means the goal has been met.
Direct calculation
This method averages only the progress percentage of all direct key results for an objective and excludes child objectives:
objective progress = [(key result 1 progress) + (key result 2 progress) + ... ] / (number of key results)
For an objective with only one key result, the objective progress is that key result's progress.
Rollup calculation
This method averages the progress percentage of all direct key results for an objective, averages the progress percentage of all child objectives for that objective, and then averages the two resulting numbers:
-
total key result progress = [(key result 1 progress) + (key result 2 progress) + ... ] / (number of key results)For an objective with only one key result, the total key result progress is that key result's progress.
-
total child objective progress = [(child objective 1 progress) + (child objective 2 progress) + ... ] / (number of child objectives)For an objective with only one child objective, the total child objective progress is that child objective's progress.
objective progress = (total key result progress) + (total child objective progress) / 2
Choosing between direct calculations and rollup calculations
Deciding how your objectives' progress should reflect your organizational alignment and measurement strategy determines which calculation method you should use. The following table describes the use cases for direct and rollup calculations.
| When to use direct calculations | When to use rollup calculations |
|---|---|
|
|
Administrators select the calculation method in Planview Admin. The selected method applies to all objectives globally; you cannot select different calculation methods for individual objectives. The default setting is to use the direct calculation method.
Examples of objective calculations
The following examples illustrate different scenarios using the direct calculation and rollup calculation methods.
Progress examples for an objective with direct key results and child objectives
In this example scenario, the parent objective has two key results and three child objectives:
- Parent Objective: Successfully Launch Product
- Direct Key Result 1: Achieve $1M in revenue (90% progress)
- Direct Key Result 2: Reach 10,000 active users (60% progress)
- Child Objective 1: Complete Technical Development (40% progress based on its own key results)
- Child Objective 2: Execute Marketing Campaign (15% progress based on its own key results)
- Child Objective 3: Enable Sales Readiness (80% progress based on its own key results)
The following table compares direct calculation and rollup calculation for this scenario.
| Direct calculation | Rollup calculation |
|---|---|
|
The progress of the child objectives is ignored and the key results' progress percentages are averaged:
|
The key results' progress percentages are averaged, the child objectives' progress percentages are averaged, and the two resulting numbers are averaged:
|
Progress example for an objective with child objectives but no direct key results
In this example scenario, the parent objective has no direct key results and three child objectives:
- Parent Objective: Successfully Launch Product
- Child Objective 1: Complete Technical Development (40% progress based on its own key results)
- Child Objective 2: Execute Marketing Campaign (15% progress based on its own key results)
- Child Objective 3: Enable Sales Readiness (80% progress based on its own key results)
| Direct calculation | Rollup calculation with direct key results and child objectives |
|---|---|
|
With no direct key results, the parent objective's progress is |
The child objectives' progress percentages are averaged:
|
Rollup calculation FAQs
| Question | Explanation |
|---|---|
| Why average key results first and only then average that with child objectives? |
By treating the average of key results as a single unit before averaging it with child objectives, the calculation ensures that both direct key results and child objectives contribute equally to the parent objective’s progress. For example, if an objective has five direct key results and only one child objective, the parent objective's progress would be overly influenced by the five key results. This formula ensures that progress in one area cannot compensate for failures in other areas. |
| When might the numbers look incorrect when using rollup? |
In some cases, rollup progress may appear inconsistent or incomplete due to how OKRs are displayed in the current view:
|

