Set a progress plan for an OKR
Last updated: September 4, 2026
A progress plan tells Rhythms where a goal is supposed to be at points along the way, so status is judged against your plan instead of a straight line from start to finish. A sales goal that is meant to be flat in January and spike in March shows On Track in February when you are where you planned to be, rather than At Risk. You set a plan on the goal's Metric attribute, in the Progress plan tab, or by asking Rhythms in chat.
What a progress plan changes
Without a plan, expected progress grows in a straight line between the goal's start date and end date: three months into a twelve-month goal Rhythms expects 25%. With a plan, expected progress follows the line through your milestones. Status is then derived from the gap between expected and actual progress with the same thresholds as everywhere else: 25 or more points behind is At Risk, 10 to 24 is Behind, otherwise On Track.
A progress plan affects only the status of the goal it is on. The progress that rolls up to a parent is the goal's actual progress, unchanged. The plan does feed the parent's own plan, described below.
Which goals can have a plan
Any Objective, Key Result or Initiative whose metric type is Achieve a target (the default), including the plain 0 to 100% Progress metric, and which has a start date and an end date. Goals whose metric is Stay above, Stay below or Stay between cannot have a plan; switching a goal to one of those types removes its plan. Anyone who can edit the goal, which by default means its owners, their managers, its delegates and Rhythms Admins, can set or change its plan.
Set or edit a progress plan
- Open the goal page and click the Metric attribute (it shows the target, or "Set target").
- Select the Progress plan tab. On an Objective the popover opens straight on the plan.
- Click Add milestone and enter a date and the target value you expect to have reached by then. Add as many milestones as you need; they must fall between the goal's start and end dates.
- Close the popover. The plan saves and the goal's status is recalculated on its next check-in or rollup.
To change a plan, open the same tab and edit, add or delete milestones. To go back to the straight line, open Manage in the tab and choose Remove plan.
To do the same in chat, click the Edit with Rhythms icon in the Progress plan tab, or describe the shape you want to Rhythms: "Create a back-weighted quarterly progress plan for KR-042". Rhythms proposes the milestones and applies them when you confirm.
How status is calculated with a plan
Rhythms draws a straight line from the goal's start value on its start date, through each milestone in date order, to the target on the end date, and reads the expected value for today off that line. It then converts that value to expected progress and compares it with actual progress.
Example: an annual goal from $0 to $500K has milestones of $50K on 31 March, $150K on 30 June and $350K on 30 September. On 15 April, a fifth of the way from the March milestone to the June one, the expected value is about $66K, or 13%. If you are at $60K (12%) the gap is one point, so On Track. Without a plan, expected progress on 15 April would be 29% and the same $60K would be 17 points behind, so Behind.
Because the line runs between milestones, you are not measured against the last milestone you passed. Falling short of the March figure in mid-April still shows as Behind or At Risk; the plan makes the expectation honest, not lenient.
Plans on parent OKRs
A parent that updates from its children can carry a plan derived from them. Rhythms takes each contributing child's milestones, or its start and end dates if it has no plan, and works out the parent's expected value on each of those dates from the weighted expected progress of the children. The tab then shows Updating from children, and the derived plan is refreshed whenever children are added, removed, made visible, or change their own plan or target.
Click Edit plan in that banner to take the plan over by hand; a plan you have edited is never overwritten by the children. To hand it back, open Manage and choose Update from children.
Frequently asked questions
Does a progress plan change the progress that rolls up to my Objective? No. The plan changes only how this goal's status is judged. The parent receives the actual progress, and may use this goal's milestones when deriving its own plan.
What happens if I change the goal's dates? Rhythms keeps the milestones that still fall within the new dates and drops the rest; the plan is re-read against the new start and end.
Can I use a plan together with auto-updates? Yes. The connection supplies the current value and the plan decides what status that value earns.
Can I label a milestone? Yes, milestones take an optional label, for example "Launch" or "Q2 close".