Cascaded KRs enable you to place contributing KRs in a child objective and specify how much each of them contributes to the parent KR. It's a powerful mechanism, and understanding how cascaded KR progress is calculated is important as it differs from the standard objective calculation mechanism.

Some context

For the purposes of this article, we will focus on the following scenario:

  • This Q our team wants to focus on documentation.
  • One way of measuring this is by the volume of created documentation articles => So we'll put 100 new articles as a target.
  • We want to cascade these 100 articles target to 3 Key Results, that will focus on Troubleshooting Articles, API samples, and Blog posts, and will contribute 30, 30, and 40 articles respectively.
  1. This is what the initial setup looks like:

2. As our Q progresses, all teams have worked hard and the 3 KRs have the following progress as of today:

Cascaded KR progress calculation

The progress of a parent KR, which cascades down to one or more KRs is determined by the sum of the cascaded KRs current values (not their percentage).

To use our example above:

  1. We wanted to get 100 articles written this Q, thus our cascaded KR Write 100 new articles had a target of 100

2. This KR cascades down into 3 KRs, which contribute with the following current values:

  • Add 30 Troubleshooting articles - 29
  • Write 30 API samples - 30
  • Write 40 blog posts - 20

You can see the contribution if you hover over the cascaded KRs:

3. That's why the Write 100 new articles current value is calculated as

29+30+20=79

4. Consequently, the Write 100 new articles progress is calculated as

Objective progress vs. cascaded KR progress

You might be asking yourself why the Objective, which contains the KRs our parent KR cascades into, has a progress of 82%, while the parent KR progress is 79%?

In a nutshell, this is because:

  • the objective progress is calculated as the average of its key results progress.
  • the parent KR current value is calculated as the sum of contributing KRs current values
  • The parent KR progress is calculated as the delta between the initial value, current value, and target value.

Let's refer to our example:

  • Add 30 Troubleshooting articles has a progress of 97%
  • Write 30 API samples - 100%
  • Write 40 blog posts - 50%

The progress of the objective, hosting these 3 KRs is calculated as

(97+100+50)/3=82%

The parent KR progress is calculated as the delta between the initial value, current value, and target value. The parent KR current value is determined by the KRs it cascades into.

To use the example numbers:

  1. Initial value - 0
  2. Target value - 100
  3. Children KRs values:
  • Add 30 Troubleshooting articles - 29
  • Write 30 API samples - 30
  • Write 40 blog posts - 20
((29+30+20)-0/100)*100

or to simplify things

79/100*100=79%

Additional information

Did this answer your question?