Skip to main content

Intelligent Progress Rollup: How Rhythms Calculates Parent Progress

Rhythms intelligently determines whether to sum or average child progress based on your goals' semantic meaning. See how AI calculates parent progress for revenue goals, hiring targets, and strategic initiatives—automatically, with no configuration needed

Updated over a month ago

When you have parent OKRs with contributing children, calculating accurate progress isn't as simple as just averaging percentages. Should you sum revenue from different customer tiers, or average progress across strategic initiatives? Should a hiring goal aggregate headcount across departments, or does it need manual updates?

Rhythms uses AI to analyze the semantic meaning of your parent and child goals, automatically determining the right calculation method. This intelligent rollup ensures your parent progress accurately reflects reality—whether that means summing contributions, averaging efforts, or recognizing when automatic calculation isn't appropriate.

For an overview of how progress and status rollup work together, see Understanding OKR Automatic Rollup.

How this helps:

  • Semantic understanding: Rhythms knows when to sum vs. average based on what your goals actually mean

  • Automatic accuracy: Parent progress updates instantly with the right calculation method

  • No configuration needed: AI determines the appropriate approach from your goal titles and metrics

  • Handles complexity: Works across multiple hierarchy levels and metric types

  • Transparent reasoning: See exactly how and why progress was calculated


When AI Rollup is Used

Rhythms uses AI rollup differently depending on your goal's tracking method:

Metric-Based Goals (Always AI-Powered) Goals tracking specific metrics—revenue, headcount, feature counts—always use AI rollup. This ensures accurate aggregation across different metric types and cannot be disabled.

Progress-Based Goals (Optional AI) Goals tracking 0-100% completion respect your organization's AI rollup settings. If disabled, they fall back to simple averaging.

What's the difference between progress-based and metric-based tracking?

Rhythms offers two ways to track progress:

Progress-based tracking (0-100%): Track overall completion as a percentage. Used by default for Objectives and Initiatives. Progress updates manually during check-ins, or automatically for parent Objectives based on child Key Results (when using automatic rollup).

Metric-based tracking (specific numbers): Track actual values and let Rhythms calculate progress. Used by default for Key Results. Progress updates by entering current values during check-ins or automatically through auto-updates from connected tools.

You can switch between methods anytime on the OKR detail page by clicking "Change to metric-based" or "Change to progress-based."


How Intelligent Rollup Works

Rhythms analyzes your parent and child goals to determine the appropriate calculation method. For metric-based goals, this analysis always runs to ensure accurate aggregation. For progress-based goals, the analysis runs only if AI rollup is enabled in your organization settings. When the analysis runs, the system identifies two primary patterns:

Aggregation (Summing): When children represent parts of a whole that combine to form the parent

  • Example: Revenue from Enterprise + Professional + Basic tiers = Total revenue

  • Formula: Sum all child values, compare to parent target

Averaging: When children represent separate efforts working toward the parent

  • Example: Multiple strategic initiatives each contributing to one outcome

  • Formula: Average child progress (equally weighted or custom weighted)

This happens automatically every time contributing children update—no manual configuration required.


When Rhythms Sums Progress (Aggregation)

Aggregation is used when your parent goal has a numeric target and children represent portions that add up to that target.

Common Aggregation Patterns

Revenue Goals:

  • Parent: "Achieve $2M ARR from SaaS subscriptions"

  • Children represent revenue from different tiers or segments

  • Children sum to calculate parent progress

Hiring Goals:

  • Parent: "Hire 50 new employees"

  • Children represent hiring across different departments

  • Headcount additions sum across teams

Feature/Deliverable Goals:

  • Parent: "Ship 20 features this quarter"

  • Children represent features from different product areas

  • Feature counts sum across workstreams

Customer Acquisition:

  • Parent: "Acquire 1,000 new customers"

  • Children represent acquisition from different channels

  • Customer counts sum across sources


Example: Revenue Aggregation

Parent Goal: Achieve $2M ARR from SaaS subscriptions

Contributing Children:

Child Key Result

Target

Actual

Progress

Generate $1.2M from Enterprise tier

$1.2M

$1M

83.3%

Generate $500K from Professional tier

$500K

$300K

60%

Generate $300K from Basic tier

$300K

$150K

50%

How Rhythms Calculates:

Wrong approach (averaging): (83.3% + 60% + 50%) / 3 = 64.4%

Right approach (aggregation): $1M + $300K + $150K = $1.45M

Parent progress: $1.45M / $2M = 72.5%

Why aggregation? Rhythms detects:

  • Parent has "$2M" target pattern

  • All children use currency units (compatible)

  • Children represent revenue PARTS of the whole

  • Decision: Sum the actual values

This gives you accurate progress—you're 72.5% to your $2M goal, not 64.4%.


How Rhythms Detects Aggregation

The AI analyzes:

1. Parent title patterns:

  • "Hire [N]", "Achieve $[N]", "Ship [N]", "Close [N]", "Acquire [N]"

  • Numeric targets with specific units

2. Metric compatibility:

  • Do all children use the same unit type? (currency, headcount, counts)

  • Can values be meaningfully summed?

3. Semantic relationships:

  • Do children represent PARTS that combine into the parent?

  • Example: Enterprise + Professional + Basic = Total SaaS revenue ✓

4. Target alignment:

  • Do child targets sum to approximately the parent target?

  • Example: $1.2M + $500K + $300K = $2M ✓

When these patterns align, Rhythms uses aggregation automatically.


When Rhythms Averages Progress

Averaging is used when children represent separate efforts working toward a common outcome, rather than portions that sum to a target.

Common Averaging Patterns

Strategic Initiatives:

  • Parent: "Complete Q4 strategic priorities"

  • Children: Enterprise expansion, Product quality, Operational efficiency

  • Each initiative progresses independently toward the parent outcome

Quality Improvements:

  • Parent: "Improve overall product quality"

  • Children: Test coverage, Bug reduction, User satisfaction

  • Different metrics that don't sum, but collectively indicate quality

Cross-Functional Goals:

  • Parent: "Successfully launch new product line"

  • Children: Marketing campaign, Sales enablement, Product readiness

  • Separate workstreams that must all succeed


Default Behavior: Equal Weight Averaging

By default, all contributing children have equal impact on parent progress. This means if you have three Key Results at 80%, 60%, and 40% progress, your parent Objective shows 60% progress—the simple average.

The calculation:

  • Parent Progress = (Child 1 + Child 2 + Child 3) / Number of Contributing Children

  • Example: (80% + 60% + 40%) / 3 = 60%

This equal weight model works well for most teams because:

  • It's simple and predictable

  • Each deliverable matters equally by default

  • No configuration needed

  • Easy to explain to stakeholders

When equal weights work best:

  • All children have similar strategic importance

  • You want a straightforward calculation

  • The team is just getting started with OKRs


Advanced: Custom Weight Averaging

⚠️ Availability: This feature must be enabled by your organization admin. If you don't see weight controls in your goal views, your organization uses the default equal weight averaging. If you need weight controls, ask your admin to request this feature be enabled by the Rhythms Support team.


What Are Custom Weights?

Custom weights allow you to assign different importance levels (0-100%) to each contributing child, rather than treating all children equally. This lets you model strategic priorities where some work matters more than others.

Use cases:

  • Prioritize strategically critical initiatives over supporting work

  • Reflect revenue/impact differences (Enterprise deals vs. SMB deals)

  • Model complex portfolio prioritization

  • Give major deliverables more weight than minor ones

  • Set lead indicators to 0% weight while keeping them visible


How Custom Weights Work

Without custom weights (equal averaging):

  • 3 Key Results at [80%, 60%, 40%] progress

  • Parent = (80 + 60 + 40) / 3 = 60%

With custom weights:

  • 3 Key Results with weights [50%, 30%, 20%] at [80%, 60%, 40%] progress

  • Parent = (80% × 50%) + (60% × 30%) + (40% × 20%)

  • Parent = 40% + 18% + 8% = 66%

Key principle: Higher weight = greater impact on parent progress.


Setting Custom Weights

Prerequisites:

  • Your organization has custom weights enabled

  • You have edit access to the parent OKR

  • You can view all contributing children

Steps:

  1. Open the parent OKR

  2. Find the "Contributing Items" section

  3. Click the weight icon next to each child

  4. Enter a custom weight percentage (0-100%)

  5. Save your changes

What happens:

  • Weights are automatically normalized to 100%

  • Parent progress recalculates immediately

  • Weight values display in the contribution list


Custom Weight Examples

Example 1: Strategic Prioritization

Parent: Complete Q4 Strategic Priorities

Child Initiative

Progress

Weight

Contribution

Enterprise expansion

80%

50%

40%

Product quality improvements

60%

30%

18%

Operational efficiency

40%

20%

8%

Parent progress: 40% + 18% + 8% = 66%

Equal weights would show 60%, but the weighted calculation reflects that Enterprise expansion (the most important work) is actually doing well at 80%.


Example 2: Lead Indicators at 0% Weight

Parent: Close 10 Enterprise Deals

Child Key Result

Progress

Weight

10 Closed Deals (lag indicator)

30%

100%

50 Qualified Opportunities (lead)

80%

0%

100 Discovery Calls (lead)

90%

0%

Parent progress: 30% (from closed deals only)

Lead indicators remain visible for early warning signals but don't inflate progress with predictive metrics. See "Lead vs. Lag Indicators" section below for why this matters.


Weight Normalization

Rhythms automatically normalizes weights to percentages, so you can think in ratios:

Input:

  • Child A: Weight 3

  • Child B: Weight 2

  • Child C: Weight 1

Normalized (automatic):

  • Child A: 50% (3/6)

  • Child B: 33.3% (2/6)

  • Child C: 16.7% (1/6)

You can enter weights as absolute numbers or percentages—both work the same way.


Best Practices for Custom Weights

DO:

  • ✅ Start with equal weights; only customize when there's clear strategic rationale

  • ✅ Document why weights differ in goal descriptions or check-in notes

  • ✅ Review weights quarterly as priorities shift

  • ✅ Use 0% weight for lead indicators and experimental work

  • ✅ Keep weights stable during execution to avoid gaming

DON'T:

  • ❌ Change weights mid-period to make progress look better

  • ❌ Use weights to hide underperforming initiatives (address root causes)

  • ❌ Make every child a different weight without clear reasoning

  • ❌ Set weights based on current progress (that's gaming)

  • ❌ Forget that 0% weight items still show in reports


Custom Weights Permissions

Who can edit weights:

  • Your organization must have custom weights enabled (admin setting)

  • You must have edit access to the parent goal

  • You must be able to view all contributing children

  • The goal cannot be closed or postponed

Visibility:

  • Weight values are visible to anyone who can view the parent

  • Limited-visibility children show as "[Limited Access Goal]" with their weight

  • Weight controls are hidden from users without edit permissions


Controlling Which Children Contribute

Not every aligned child needs to contribute to parent progress. You control which children affect the parent's calculated progress.

To enable or disable contribution:

  1. Open the child OKR

  2. Find the "Aligned To" section

  3. Toggle "Contribute to this parent's progress" ON or OFF

  4. Save your changes

When to enable contribution:

  • Child's progress directly reflects parent achievement

  • Child's completion is required for parent success

  • Delays would genuinely threaten parent progress

When to disable contribution:

  • Lead indicators: Predictive metrics that don't represent actual results

  • Experimental work: Projects with uncertain impact

  • Supporting context: Items aligned for visibility but not core to success

  • Early planning: Work that hasn't started yet

  • Postponed OKRs: Automatically disabled when status is set to Postponed

Children with contribution disabled remain visible in the alignment hierarchy, they just don't affect parent progress or status.


Lead vs. Lag Indicators

Understanding lead vs. lag indicators is critical for configuring contribution correctly:

Lag indicators (results) - Enable contribution ✅

  • Measure outcomes that already happened

  • Example: "Close 10 deals" measures actual closed revenue

  • These represent real progress toward the parent

Lead indicators (predictive) - Disable contribution ❌

  • Measure activities that predict future outcomes

  • Example: "50 qualified opportunities" predicts future closes

  • These don't represent actual progress yet

💡 Organizational Best Practice: Disabling contribution for lead indicators is a recommended approach based on OKR methodology, not a system-enforced rule. The system treats all metrics equally—it's up to you to configure settings that reflect your measurement strategy.

Why this matters: If lead indicators contribute, your parent might show 80% progress based on pipeline while actual results are at 20%. This creates false confidence and masks real problems.

Recommended pattern: Align lead indicators to the parent for visibility and early warnings, but set contribution weight to 0% (or disable contribution) so only actual results drive parent progress.


When Rollup Can't Calculate (Manual Mode Required)

Sometimes Rhythms detects that automatic rollup isn't appropriate—typically when the parent measures an outcome but children measure activities that influence it.

Example: Headcount Goal

Parent: Grow team to 200 employees (requires actual headcount number)

Children:

  • Launch employer branding campaign (% progress)

  • Reduce time-to-hire to 3 weeks (time metric)

  • Partner with 5 job boards (count)

Why no rollup:

  • Parent needs the ACTUAL employee count

  • Children track activities and improvements, not headcount itself

  • These activities influence hiring but can't mathematically calculate headcount

What happens: Rhythms recognizes the incompatibility and doesn't calculate parent progress automatically. You need to update the parent manually with actual headcount in check-ins.

Other no-rollup scenarios:

  • Parent is qualitative ("Improve team culture") with quantitative children

  • Parent measures external outcome (market share) children can influence but not calculate

  • Parent and children use fundamentally incompatible metrics

In these cases, switch the parent to Manual mode and update progress through check-ins based on your judgment and actual data.


Frequently Asked Questions

How does Rhythms know whether to sum or average?

Rhythms analyzes your goal titles, metric types, and semantic relationships to determine the appropriate calculation. For example, if your parent is "Achieve $2M revenue" with children for different customer tiers, Rhythms detects this should be summed. If your parent is "Complete strategic initiatives" with separate workstreams, it uses averaging. This happens automatically.

Can I see why Rhythms chose a specific calculation method?

Yes. Click on the parent's progress value to see the "Contributing Items" section, which shows how each child contributes and which calculation method is being used.

What if Rhythms gets the calculation wrong?

If automatic rollup doesn't accurately reflect your goal's reality, you can switch the parent to Manual mode. This gives you full control to update progress based on your judgment. Click the progress value and select "Update manually" from the dropdown.

Do all children contribute equally by default?

For averaging calculations, yes. When contribution is enabled, all children have equal impact unless your organization has custom weights enabled and you've configured specific weights. For aggregation calculations, Rhythms sums the actual values regardless of weights.

What happens when I postpone a contributing child?

When you set a child to Postponed status, Rhythms automatically sets its contribution weight to 0 and excludes it from parent progress calculation. This prevents paused work from creating false progress signals or making the parent appear ahead/behind based on inactive work. When you reactivate the child by changing status back to an active state (On Track, Behind, At Risk), it resumes contributing to the parent.

Should lead indicators contribute to my parent?

No. Lead indicators predict future performance but aren't actual results. Disable contribution (or set weight to 0%) so they don't inflate parent progress. Align them for visibility and early warnings only.

Can I adjust contribution weights?

Only if your organization has custom weights enabled. If enabled, click the weight icon next to one of the aligned children and enter custom percentages.

Does 0% weight hide the child from reports?

No. 0% weight items remain visible in alignment views, reports, and dashboards. They just don't affect parent progress or status.

What happens if I delete a contributing child?

For averaging calculations, remaining weights are automatically renormalized. For aggregation calculations, the sum adjusts to reflect the removed contribution.

Can Rhythms aggregate across different metric types?

Only if they're compatible. For example, revenue in USD from different sources can be summed. But you can't sum revenue with headcount—Rhythms will recognize this and either use averaging (if progress percentages make sense) or indicate manual mode is needed.


Related Articles

Understanding rollup concepts: See Understanding OKR Automatic Rollup for how progress and status rollup work together and when to use automatic vs. manual modes.

Understanding status calculation: See Automatic Status Rollup for Parent OKRs for how status is computed and when to override with strategic judgment.

Tracking progress: See Effective Check-ins to Track OKR Progress in Rhythms for how to conduct check-ins and update OKR progress.

Did this answer your question?