> ## Content Index
> Fetch the complete content index at: https://notionsolutions.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# Notion OKR Template: Free Picks Rated, Plus a Build That Scores Honestly
- URL: https://notionsolutions.net/notion-okr/
- Published: 2026-10-30T10:18:24.000Z
- Updated: 2026-10-30T10:18:27.000Z
- Description: Notion has no OKR feature, so a template is a set of databases. Here are 12 free templates with marketplace ratings, a six-question check for any of them, and a two-database build whose formulas cap progress at 100%, handle lower-is-better key results and score committed and aspirational objectives.
- Author: Kevin Turner
- Tags: guide, Notion task workflows

**Notion has no OKR feature, so a Notion OKR template is a set of databases, and the useful ones share one arrangement: an Objectives database, a related Key Results database and a progress formula. The free one I'd duplicate first is Notion's own [Objectives & Key Results Tracker](https://www.notion.com/templates/objectives-and-key-results-tracker?ref=notionsolutions.net), rated 4.79 from 213 reviews, the most-reviewed in the set below.** Whatever you pick, keep it only if each key result's progress comes from Start, Current and Target numbers and the objective's score is computed from its key results. I'd still build the two databases from scratch with a guarded formula, because the formula in Notion's guide passes 100% when someone beats a target, turns negative when a number moves the wrong way and has nothing to divide by when Start equals Target.

For a team that wants OKRs running today, choose Notion's tracker or [Buffer's OKRs](https://www.notion.com/templates/buffer-okrs?ref=notionsolutions.net) (4.88 from 134 reviews). For honest scores and key results where lower is better, such as days to kickoff, choose the two-database build below. For personal OKRs, choose HelenaDW's [Personal OKRs](https://www.notion.com/templates/personal-okrs-1?ref=notionsolutions.net) (4.96 from 25 reviews); personal goals broken into milestones are a different build, closer to a [Notion goal tracker](https://notionsolutions.net/notion-goal-tracker/).

Below are the free templates rated, a six-question check for any of them, the build with every formula, a sample quarter graded with numbers you can recompute, and the point where Notion stops being enough.

## Notion OKR templates, rated

Twelve free templates turn up across Notion's OKR Tracker category, its [Top 10 Free OKR Tracker Templates collection](https://www.notion.com/templates/collections/top-10-free-okr-tracker-templates-in-notion?ref=notionsolutions.net) and two template pages that rank on their own. Every one lists a price of $0\. Ratings and review counts are the marketplace user ratings on each template's page, and the last column quotes what each creator's own description says the template is built around.

__Free Notion OKR templates by review count, with marketplace user ratings__
| Template                                                                                                                                        | Creator       | Price | Rating (reviews) | Listed in                    | Description says                                                        |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ----- | ---------------- | ---------------------------- | ----------------------------------------------------------------------- |
| [Objectives & Key Results Tracker](https://www.notion.com/templates/objectives-and-key-results-tracker?ref=notionsolutions.net)                 | Notion        | Free  | 4.79 (213)       | Collection                   | "status, owner, priority, and timeline details"                         |
| [Buffer's OKRs](https://www.notion.com/templates/buffer-okrs?ref=notionsolutions.net)                                                           | Buffer        | Free  | 4.88 (134)       | Collection                   | Buffer's own setup: "company goals accessible to everyone"              |
| [Marketing Goals and OKRs](https://www.notion.com/templates/marketing-goals-and-okrs?ref=notionsolutions.net)                                   | Notion        | Free  | 4.73 (124)       | Category, collection         | "marketing objectives"                                                  |
| [OKR Tracker](https://www.notion.com/templates/simple-okr-tracker?ref=notionsolutions.net)                                                      | Tori          | Free  | 4.74 (34)        | Category                     | Team alignment; "track milestones"                                      |
| [Personal OKRs](https://www.notion.com/templates/personal-okrs-1?ref=notionsolutions.net)                                                       | HelenaDW      | Free  | 4.96 (25)        | Collection                   | "linked Objectives and Key Results tables"                              |
| [OKRs](https://www.notion.com/templates/okrs?ref=notionsolutions.net)                                                                           | Maresch Bär   | Free  | 4.69 (13)        | Collection; ranks on its own | "a simple way to set and track your OKRs"                               |
| [Company OKRs](https://www.notion.com/templates/company-okrs-3?ref=notionsolutions.net)                                                         | Della Yang    | Free  | 4.67 (9)         | Collection                   | "aligning and tracking your company goals"                              |
| [OKRs Tracker](https://www.notion.com/templates/okrs-tracker-1?ref=notionsolutions.net)                                                         | Simo          | Free  | 4.78 (9)         | Collection                   | "key objectives and key results"                                        |
| [Personal OKRs (Objectives and Key Results)](https://www.notion.com/templates/personal-okrs-objectives-and-key-results?ref=notionsolutions.net) | mrpugo        | Free  | 4.75 (4)         | Ranks on its own             | Personal "goal-setting and progress tracking"                           |
| [OKR and Project Management](https://www.notion.com/templates/okr-and-project-management?ref=notionsolutions.net)                               | Paresh Khatri | Free  | 4.33 (3)         | Collection                   | OKRs alongside "tasks and projects"                                     |
| [Goals & OKR Tracker](https://www.notion.com/templates/goals-okr-tracker?ref=notionsolutions.net)                                               | RunBook       | Free  | No rating        | Category                     | "automatic progress, status charts, targets, and simple weekly updates" |
| [OKR Goal Tracker OS](https://www.notion.com/templates/okr-goal-tracker-os?ref=notionsolutions.net)                                             | Thesauros     | Free  | No rating        | Collection                   | Only its name: "OKR Goal Tracker"                                       |

Across the ten rated templates, the median rating is 4.75, the range runs from 4.33 to 4.96, and 568 reviews sit behind those numbers. The six with at least ten reviews cluster tighter: median 4.77, range 4.69 to 4.96, 543 reviews. That's a spread of 0.27 of a star among the well-reviewed ones, so the ratings don't pick a winner. Review counts say more about reach: Notion's tracker, Buffer's template and Notion's marketing template hold 471 of those 543 reviews between them. RunBook's and Thesauros's templates show no rating, and Notion made two of the rated ones.

These are marketplace user ratings, and the descriptions are each creator's own words. Neither tells you whether progress computes itself. Only RunBook's description promises "automatic progress", and that's the creator's claim. I'd start with Notion's tracker because it has the most reviews and comes from Notion, then judge it, like any other, with the check below.

### Run the six-question check

Duplicate the template, open one objective and answer six questions:

1. Are key results pages in their own database, related to objectives, or lines of text inside the objective page?
2. Does each key result have Start, Current and Target numbers, or a percent someone types?
3. Is the objective's score computed from its key results, or typed by hand?
4. Is there a cycle property that views filter on, or a separate database per quarter?
5. Does each key result have an owner in a Person property?
6. Can you mark an objective as committed or aspirational?

If any of the first three answers is no, I'd skip the template or plan to rebuild that part. A typed percent goes stale the first week someone forgets it, and a score typed by hand hides which key result is behind. The last three are cheap to add: one property each.

## Build the two databases yourself

The build is two related databases and four formulas. I'd keep it at two. Mooncamp's [guide to OKRs in Notion](https://mooncamp.com/blog/okrs-in-notion?ref=notionsolutions.net) adds a third Quarters database, which means one more relation to fill on every objective for something a Select property already does.

__Properties for the Objectives and Key Results databases__
| Property    | Database    | Type                             | Why it's there                                |
| ----------- | ----------- | -------------------------------- | --------------------------------------------- |
| Objective   | Objectives  | Title                            | One page per objective, with room for context |
| Cycle       | Objectives  | Select, such as "2027 Q1"        | Views filter on it                            |
| Cycle dates | Objectives  | Date with an end date (optional) | Only Pace needs real dates                    |
| Type        | Objectives  | Select: Committed, Aspirational  | Decides how Achieved is judged                |
| Owner       | Objectives  | Person                           | One accountable name                          |
| Status      | Objectives  | Status                           | The state you set after each check-in         |
| Key Results | Objectives  | Relation                         | Links the objective to its key results        |
| Score       | Objectives  | Formula                          | Average progress of its key results           |
| Achieved    | Objectives  | Formula                          | Applies the committed or aspirational rule    |
| Pace        | Objectives  | Formula (optional)               | On pace or behind, mid-cycle                  |
| Key result  | Key Results | Title                            | One measurable result per page                |
| Objective   | Key Results | Relation (the other side)        | Shows which objective it serves               |
| Cycle       | Key Results | Select, same options             | Lets key result views filter to the quarter   |
| Owner       | Key Results | Person                           | Who updates Current each week                 |
| Start       | Key Results | Number                           | The value when the cycle began                |
| Current     | Key Results | Number                           | The only number anyone updates                |
| Target      | Key Results | Number                           | The value that counts as 100%                 |
| Progress    | Key Results | Formula                          | Share of the way from Start to Target         |

Create the Key Results relation from the Objectives database, switch on the toggle labeled Show on with your Key Results database's name, and click Add relation. Notion's help on [relations and rollups](https://www.notion.com/help/relations-and-rollups?ref=notionsolutions.net) explains why the toggle matters: relations between two databases are "created as one-way by default". With it on, every key result also shows its objective. For the wider mechanics, see the [guide to Notion relations and rollups](https://notionsolutions.net/notion-relations-and-rollups/); the OKR build needs only this one pair.

Database templates save typing on new pages. A template for new objectives can preset Cycle to the current quarter and Type to Aspirational, the same way Notion's help on [database templates](https://www.notion.com/help/database-templates?ref=notionsolutions.net) describes a bug-report template that "automatically puts P1 in the Priority property". Update the Cycle default when the quarter turns.

### Key result progress, with a guard and a clamp

Notion's [guide to creating OKRs](https://www.notion.com/help/guides/how-to-create-okrs?ref=notionsolutions.net) gives this formula for a key result:

```
(prop("Current Value")-prop("Initial Value"))/(prop("Target Value")-prop("Initial Value"))
```

It already handles a target that goes down. For "cut days to kickoff from 14 to 7", the top and bottom of the fraction both turn negative, the signs cancel, and progress rises as the days fall. Its gaps show up in the arithmetic:

- **Overshoot.** Beat the target and the result passes 100%, which inflates the objective's average.
- **Regression.** Move the wrong way and the result turns negative, which drags the average below an honest zero.
- **Start equals Target.** The bottom of the fraction is zero, so the formula has nothing to divide by.

Here's the same formula as Notion's guide with a guard and a clamp, using the property names from the table:

```
lets(
  span, prop("Target") - prop("Start"),
  raw, if(span == 0, 0, (prop("Current") - prop("Start")) / span),
  min(max(raw, 0), 1)
)
```

lets() names the span and the raw result so each is written once; the [guide to let and lets in Notion formulas](https://notionsolutions.net/notion-formula-let/) covers that syntax. The if() returns 0 when Start equals Target. That 0 is a choice: the key result shows 0% until someone fixes its numbers, and I prefer that to an error because a 0% row sits at the top of the At risk view. Then max() lifts anything below 0 to 0, and min() caps anything above 1 at 1\. Notion's guide also warns that "If you name columns differently, you'll have to adjust the formula", which holds here too.

Show Progress and Score as percentages with a bar; the [progress bar guide](https://notionsolutions.net/notion-formula-repeat-progress-bar/) covers the display settings.

Some key results are yes or no. Google's re:Work guide notes that "Sometimes key results are either 0 or 1", such as a launch that happened or didn't. For "Launch the client portal", a Done checkbox with `if(prop("Done"), 1, 0)` works, but Progress is one formula for the whole database, so you'd have to fold that branch into it. I'd keep it numeric: Start 0, Target 1, and Current goes to 1 on launch day.

### Score the objective from its key results

```
if(prop("Key Results").length() == 0, 0, mean(prop("Key Results").map(current.prop("Progress"))))
```

map() reads every related key result's Progress into a list, and mean() averages the list. Notion's [formula syntax reference](https://www.notion.com/help/formula-syntax?ref=notionsolutions.net) shows mean() taking a list, as in `mean([1, 2, 3], 4, 5) = 3`, and `prop("Tasks").length()` counting a relation. The [map and filter guide](https://notionsolutions.net/notion-formula-map-filter/) covers reading properties through a relation. The length() check gives an objective with no key results a 0 instead of an error. Don't use empty() to guard numbers in these formulas: the reference lists `empty(0) = true`, so a key result sitting at a real 0% would read as missing.

Score is a formula because of a rollup limit. Notion's help lists Average among rollup calculations "only available for Number properties", and Progress is a formula; the [relation vs rollup comparison](https://notionsolutions.net/notion-relation-vs-rollup/) covers when each one fits. Mooncamp's guide uses a Progress rollup on Objectives instead. That route depends on how the rollup treats a formula property, which the help doesn't spell out, and the formula sidesteps the question.

Every key result counts equally in this Score. re:Work describes Google grading an objective with "a rough average" of its key results, rough "because sometimes there's some weighting of different key results." The formula can't know which key result matters most; the objective's owner still makes that call at grading time.

### Committed or aspirational: the Achieved formula

Notion's blog post on the [OKR framework](https://www.notion.com/blog/okr-framework-guide-your-startup-team?ref=notionsolutions.net) splits objectives into "aspirational" and "committed." Committed objectives are binary: "if all the key results are at 100% by the end of the quarter, you've achieved the committed objective." An aspirational one is achieved "If the average is 70% by the end of the quarter". One formula applies both rules from the Type property:

```
if(prop("Type") == "Committed", prop("Score") == 1, prop("Score") >= 0.7)
```

Because every Progress value is clamped between 0 and 1, Score reaches 1 only when every key result is at 100%, which is the committed rule. An objective with no key results scores 0 and reads as not achieved. The 0.7 is the number to change: the same post says you "might increase it to 90% or reduce it to 50%." Achieved is a quarter-end reading. Mid-cycle, look at Pace.

### Pace: ahead or behind mid-cycle

Score says where an objective stands, but it can't say whether 40% in week six is good. Pace is my suggestion for that question, not a published OKR standard. It needs Cycle dates filled in:

```
lets(
  elapsed, dateBetween(today(), dateStart(prop("Cycle dates")), "days"),
  total, dateBetween(dateEnd(prop("Cycle dates")), dateStart(prop("Cycle dates")), "days"),
  expected, if(total == 0, 1, min(max(elapsed / total, 0), 1)),
  if(prop("Score") >= if(prop("Type") == "Committed", 1, 0.7) * expected, "On pace", "Behind")
)
```

dateBetween() returns the first date minus the second; the reference's own example, `dateBetween(dateEnd(prop("Date Range")), dateStart(prop("Date Range")), "days") = 365`, measures a one-year range. today() "Returns the current date without the time", so expected is the share of the cycle already gone, clamped between 0 and 1\. A committed objective is on pace when its Score keeps up with that share; an aspirational one only has to keep up with 70% of it, which mirrors the blog's 70% bar. The inner if() picks that bar from Type, and the outer one picks the label. If you keep only the Cycle select and skip the dates, skip Pace too.

[![Objectives and Key Results databases joined by a two-way relation, with Progress averaged into the objective Score, above the guarded Progress formula using Start, Current and Target](https://storage.ghost.io/c/5c/30/5c30c46b-86a3-4d20-984f-4f6ae8ad1ed2/content/images/2026/10/notion-okr-two-databases.webp)](https://storage.ghost.io/c/5c/30/5c30c46b-86a3-4d20-984f-4f6ae8ad1ed2/content/images/2026/10/notion-okr-two-databases.webp?ref=notionsolutions.net)

Key results compute their own progress, and the objective's Score averages it.

## Grade a sample quarter

Here's a sample quarter for a fictional small design studio. The objective is "Make client onboarding painless", Type Aspirational, Cycle "2027 Q1", Cycle dates January 1 to March 31, 2027\. The reading is taken on February 15, 2027\. KR2 is entered as plain numbers (40, 90, 75); the formula only needs Start, Current and Target in the same unit.

__Sample quarter: three key results and the objective Score on February 15, 2027__
| Key result                                             | Start | Target | Current | Calculation                         | Progress |
| ------------------------------------------------------ | ----- | ------ | ------- | ----------------------------------- | -------- |
| KR1: days from signed contract to kickoff              | 14    | 7      | 10      | (10 - 14) / (7 - 14) = 0.571        | 57%      |
| KR2: share of kickoff calls booked within 48 hours (%) | 40    | 90     | 75      | (75 - 40) / (90 - 40) = 0.700       | 70%      |
| KR3: active clients moved to the client portal         | 0     | 12     | 8       | (8 - 0) / (12 - 0) = 0.667          | 67%      |
| Objective Score                                        |       |        |         | (0.571 + 0.700 + 0.667) / 3 = 0.646 | 65%      |

KR1 is the decreasing target. Days fell from 14 to 10, both differences are negative, and the result is a positive 57%. The clamp matters at the edges. If kickoff drops to 6 days, the raw result is (6 - 14) / (7 - 14) = 1.143, and Progress shows 100%. If it slips to 16 days, the raw result is (16 - 14) / (7 - 14) = -0.286, and Progress shows 0%. Unclamped, the first would lift the Score above what the quarter earned and the second would count the slip as less than no progress at all.

__Pace for the sample objective on February 15, 2027__
| Step             | Calculation                      | Value   |
| ---------------- | -------------------------------- | ------- |
| elapsed          | January 1 to February 15, 2027   | 45 days |
| total            | January 1 to March 31, 2027      | 89 days |
| expected         | 45 / 89                          | 0.506   |
| Aspirational bar | 0.7 × 0.506                      | 0.354   |
| Pace             | Score 0.646 is at or above 0.354 | On pace |

At 65%, the objective is still short of the blog's 70% bar for aspirational objectives. That bar is judged at the end of the quarter, so on February 15 the useful question is pace, and Pace says "On pace". The 65% also sits inside the 60% to 70% "sweet spot" that re:Work describes for how Google graded OKRs. That's Google's description of its own grading; Notion doesn't apply it anywhere. The formulas say where the objective stands. The studio still decides whether KR2's 75% means the booking process works or the quarter's easiest clients came first.

[![Bar chart for February 15, 2027: KR1 57%, KR2 70%, KR3 67% and Score 65%, inside a shaded 60 to 70% band and just under a dashed 70% aspirational line, with Pace On pace](https://storage.ghost.io/c/5c/30/5c30c46b-86a3-4d20-984f-4f6ae8ad1ed2/content/images/2026/10/notion-okr-sample-quarter.webp)](https://storage.ghost.io/c/5c/30/5c30c46b-86a3-4d20-984f-4f6ae8ad1ed2/content/images/2026/10/notion-okr-sample-quarter.webp?ref=notionsolutions.net)

Mid-quarter, 65% sits just under the 70% aspirational bar, and Pace still reads On pace.

## Write OKRs the database can score

The database can only grade what you can measure. Google's re:Work guide to [setting goals with OKRs](https://rework.withgoogle.com/intl/en/guides/set-goals-with-okrs?ref=notionsolutions.net), originally published in 2016, describes how Google ran them: "three to five objectives with about three key results for each objective", and key results that are "measurable and should be easy to grade with a number". Notion's blog says to cut the list to three objectives "(maximum five)" with "two to five key results" each.

- **Name an outcome.** re:Work: "Key results should describe outcomes, not activities." Words like "consult," "help" or "analyze" in a key result are a sign it describes activity.
- **Keep tasks out.** re:Work says "OKRs are not a shared to-do list", and the Notion blog calls key results "measurable outcomes, not tasks to complete."
- **Keep reviews out.** re:Work: "OKRs are not synonymous with performance evaluation."
- **Watch the named mistakes.** re:Work lists business-as-usual OKRs, sandbagging, low-value objectives and insufficient key results for an objective.

My rule for the database: if a key result can't get a Start and a Target, it isn't a key result yet. Rewrite it before you add the page, because a row without those two numbers sits at 0% all quarter and crowds the At risk view. A KPI is a number you keep watching, while a key result is a target for this cycle; metrics you watch every quarter belong in a [Notion KPI tracker](https://notionsolutions.net/notion-kpi-tracker/), and one becomes a key result only when you set out to move it.

## Set up the views your check-in needs

Notion's OKR guide suggests you "add different database views for each team or quarter". Three views cover a weekly check-in:

- **This quarter:** a board of objectives grouped by Status and filtered to the current Cycle, such as "2027 Q1".
- **By owner:** a table of key results filtered to the same Cycle and grouped by Owner, so each person sees their rows before the meeting.
- **At risk:** key results for the cycle sorted by Progress, lowest first, or filtered below a threshold you pick.

When the quarter turns, change the Cycle filter on each view; old quarters drop out and keep their final scores. For several teams, add a Team select to both databases and give each team its own view instead of its own database. If you filled Cycle dates, a timeline view of objectives is a fourth view worth having, since it lays the whole cycle out as one span per objective.

## Line up company and team objectives

Mooncamp's guide lists "No tree views for alignment visualization" among the features Notion is missing. Notion's help on [sub-items](https://www.notion.com/help/tasks-and-dependencies?ref=notionsolutions.net) documents a tree: in the Objectives database, open the settings menu, and under Database settings select More settings, then Sub-items → Turn on sub-items. Make each team objective a sub-item of the company objective it supports. In table, list and timeline views, the Nested in toggle display option lets you "open and close toggles in parent items to show or hide sub-items within them."

Each objective still scores from its own key results. Sub-items give you the tree to read; they don't roll a team objective's Score into its parent, and I wouldn't add a formula that tries, because how much each team objective counts toward the company one is a judgment for its owner. The same help page carries one warning: "When you delete an item with sub-items, all of the sub-items will be deleted as well." Move team objectives out before you delete a company one.

Initiatives and tasks can relate to a key result through one more relation from a projects or tasks database you already run; the [Notion project management guide](https://notionsolutions.net/notion-project-management/) covers that side. Keep the tasks themselves out of Key Results. Mooncamp's wider point, that dedicated tools map dependencies between teams, is the vendor's view, and it's the part this setup doesn't try to replace.

## Run the weekly check-in

The Notion blog suggests reminding everyone "to check and update their OKRs at least once a week". In this build the update is small: each owner changes Current on their key results, and Progress, Score, Achieved and Pace recalculate. Two pieces turn it into a routine: a page for the meeting and a reminder.

For the page, create a Check-ins database with a Weekly check-in template holding three prompts: what moved, what's stuck, what changes before next week. Then make it repeat: open the dropdown next to New, select ••• next to the template, and open the dropdown next to Repeat. Notion's database templates help says repeating templates create a copy "however often you would like", and the schedule can be daily, weekly, monthly or yearly. The [repeating database template guide](https://notionsolutions.net/notion-repeating-database-template/) covers the schedule options. If the template relates check-ins to objectives, leave that relation empty in the template; the help warns a filled one makes every new page "relate to the same existing page(s)".

For the reminder, add a database automation to Key Results: click ⚡ at the top of the database → New automation, select New trigger and pick Every {frequency} set to repeat weekly, then select New action, choose Send notification to and add the key result owners as recipients. Notion's [database automations help](https://www.notion.com/help/database-automations?ref=notionsolutions.net) says that action can reach "up to 20 people in your workspace." On a paid plan, that covers the "no automated check-in reminders" gap Mooncamp's guide lists. I'd use a scheduled automation here because nobody has to remember to press anything; the [buttons vs automations guide](https://notionsolutions.net/notion-buttons-vs-automations/) covers when a button is the better fit.

Three limits shape the reminder:

- The Every {frequency} trigger "works with all automation actions except for Edit property", so a scheduled automation can't reset Current or stamp a check-in date.
- A recurring trigger "can't be paired with another type of trigger."
- Database automations "are available on paid plans", and guests can't create them. On the Free plan, the reminder is the "company-wide calendar event" the Notion blog suggests.

Don't count on the check-in page to start anything either. The help is direct: "A recurring template automation will not trigger a database automation." The explainer on [why a recurring template doesn't trigger a database automation](https://notionsolutions.net/notion-recurring-template-not-triggering-automation/) covers that case. The automation sends the nudge; someone still has to run the meeting and decide what changes. re:Work adds that "it can be helpful to have a mid-quarter check-in" before final grading, and Pace gives that meeting its first question.

## When does Notion stop being enough?

Notion stores OKRs well for one team or a small company: objectives, key results, scores and weekly notes sit next to the work they describe. It stops being enough when running the program becomes work of its own, with many teams aligning to each other, dependency maps between them and analytics across several cycles. Mooncamp, which sells OKR software, puts the line at "chaos as you scale past 50 employees" and says "you can't run the OKR process there". That's a vendor's view. The signal I'd watch is check-in prep: once it means exporting and reconciling scores across teams by hand every week, dedicated software has a case.

## Problems and fixes

__Common Notion OKR problems, their causes and fixes__
| Symptom                                | Cause                                                       | Fix                                                               |
| -------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------- |
| A key result shows -20%                | Current moved the wrong way and the formula isn't clamped   | Use the guarded Progress formula; max() holds it at 0%            |
| Objective Score above 100%             | One key result overshot its Target                          | Clamp Progress with min(); Score follows                          |
| A key result sits at 0% from day one   | Start equals Target, or the numbers were never filled in    | Enter a real Start and Target                                     |
| Objective Score stuck at 0%            | No key results are related to the objective                 | Open each key result and set its Objective relation               |
| A decreasing key result reads negative | Start and Target were swapped                               | Start is where you began (14 days), Target where you're going (7) |
| Old quarters clutter every view        | Views aren't filtered by Cycle                              | Filter each view to the current Cycle and change it each quarter  |
| Team objectives vanished               | Their company objective was deleted with sub-items under it | Move sub-items out before deleting a parent                       |

## Which setup to choose, and the first step

Ratings won't choose for you; structure will. My pick for a small team is the two-database build, because owning the four formulas means you know why a number reads 65%.

- **A team that wants OKRs running this week:** duplicate Notion's Objectives & Key Results Tracker or Buffer's OKRs, and run the six-question check before anyone enters a quarter.
- **Honest scores, decreasing key results, or committed and aspirational objectives:** build the two databases with the guarded Progress formula, Score and Achieved. Add Pace if you fill in Cycle dates.
- **Personal OKRs:** HelenaDW's Personal OKRs, then the same six-question check.
- **Many teams, dependency maps and analytics across cycles:** a dedicated OKR tool, with the day-to-day work still in Notion.

The first step is the same either way. Write one objective with three key results that each have a Start, a Current and a Target, enter it, and change one Current value. If Progress and Score don't move, fix the setup before the quarter starts.

## FAQ

### Can I track OKRs on the Free plan?

Yes for the core of this build: the databases, the relation, the formulas, sub-items and views. Database automations, including the weekly reminder, need a paid plan.

### What do I do with OKRs at the end of the quarter?

Enter final Current values, read Achieved, then follow the Notion blog's advice: "review and set new OKRs", run a postmortem on committed objectives you missed, and "Carry over any unachieved aspirational objectives to the next quarter." I'd carry one over as a new objective page with new key results and fresh Start values in the next Cycle, so the old quarter keeps its final Score.