This guide details the development of this OKR template, which you can use for reference or duplicate within your own workspace.
Notion's unique combination of features form a powerful platform for managing your goals. Not only can you organize your active goals; you can also maintain accountability and reference lessons learned from past goals.
This guide explores goal management in Notion through Objectives and Key Results (OKRs), a widely employed framework popularized by Google.
As implemented by The Bulletproof Workspace, William's foremost recommendation for organizing a Notion workspace is centralizing information in master databases, then creating "gateways" for accessing that information. Your OKR configuration honors that principle with master databases that relate to each other in useful ways.
For summarizing projects, tasks and other initiatives by time periods, it's helpful to maintain master databases of years, quarters, months and even days. Your OKRs will use the Quarters database.
Title
property "Quarter."Date
property named "Time Span."Text
property named "Reflections."Formula
property named "Active" to indicate the current Quarter.if(and(start(prop("Time Span")) <= now(), end(prop("Time Span")) >= now()), true, false)
Title
property "Objective."Relation
, Select
and Person
properties accordingly. (With the Bulletproof approach, you'll likely want to link each Objective to an Area.)Text
property named "Reflections."As Key Results are measurable actions that indicate progress, they have a "Target Value" and "Current Value." With those values, a "Progress" property calculates a percentage.
Title
property "Key Result."Number
type and name it "Current Value."Number
type and name it "Target Value."Formula
type.prop("Current Value") / prop("Target Value")
round()
function, then divide by 100. Learn more about formulas in Meet Notion's Formula Property.)123
, and choose Percent
.To see the remaining features come to life and identify any missteps, add some initial OKRs — two or more. Needless to say, add your Objectives and Key Results to their respective databases; you'll link them momentarily.
You can create your own OKRs or reference other useful examples. Reflections will come later, but for each Key Result, be sure to add a Target Value and Current Value — and confirm Progress calculates properly.
With your three master databases in place, you're ready to link them for sophisticated perspectives and insights. (Learn more about Relations
and Rollups
in The Power of Relations and Rollups.)
Relation
property. Name it "Objectives" and choose your Objectives database. (You may want to hide this property, as you'll likely have no need for it in this view.)Relation
property "Quarter."Relation
property. Name it "Key Results" and choose your Key Results database. (Again, you may want to hide this property, as you'll likely have no need for it in this view.)Relation
property "Objective."Rollups
allow you to retrieve information from related items. Learn more about Rollups
.
For each Objective, a Rollup
property will calculate the average progress among its Key Results.
Rollup
property named "Progress."Rollup
property.Relation
, choose the Key Results property.Property
, choose the Progress property.Calculation
, choose "Average."Similarly, a Rollup
property will calculate the average progress among the Objectives for each Quarter.
Rollup
is unable to reference another Rollup
, you'll need to reflect the progress of each Objective in a Formula
property. Within your Objectives database, add a Formula
property named "Progress (Formula)." For the formula, simply reference the Progress property: prop("Progress")
. You can then hide this property if you'd like.Rollup
property named "Progress."Rollup
property.Relation
, choose the Objectives property.Property
, choose the "Progress (Formula)" property.Calculation
, choose "Average."Rather than a standalone percentage, you can visually represent your progress within your Objectives and Quarters databases. Within each:
Formula
property named "Progress Bar."if(round(prop("Progress") * 100) < 5, "○○○○○○○○○○", if(round(prop("Progress") * 100) >= 95, "●●●●●●●●●●", slice("●●●●●●●●●●", 1, round(prop("Progress") * 10) + 1) + slice("○○○○○○○○○○", 1, 11 - round(prop("Progress") * 10)))) + " " + format(round(prop("Progress") * 100)) + "%"
Progress
property.For filtering purposes, you'll want to indicate whether each Objective falls within the current Quarter. To do so, you can "roll up" the Active value from the associated Quarter:
Rollup
property named "Active." Choose the Quarter property as the Relation
, then the Active property as the Property
. Leave "Show Original" as the Calculation
. You can then hide this property.If you'd like to sort your Objectives and Key Results chronologically, you can also "roll up" the Time Span property from the Quarters database:
Rollup
property named "Time Span." Choose the Quarter property as the Relation
, then the Time Span property as the Property
. Leave "Show Original" as the Calculation
. You can then hide this property and sort by it.Rollup
property within Key Results that references "Time Span (Formula)."When opening your Quarters as pages, you'd like to see the associated Objectives. To do so, you can display the Objectives as a Linked Database, filtered to show only those within the respective quarter.
Rather than creating a Linked Database within each new Quarter, you can create a template:
New
button. Choose + New template
.Thereafter, each Quarter created with the New Quarter template will only display the Key Results related to it.
Similarly, you want each Objective to display its associated Key Results.
New
button. Choose + New template
.Thereafter, each Objective created with the New Quarter template will only display the Objectives related to it.
You'll infrequently access your OKRs from this page of master databases. Instead, you'll place Linked Databases in helpful locations. As with the internal contents of your Quarters, Objectives display nicely as Galleries (with their Progress Bars), and they're easy to edit as Tables.
Placements will depend on the structure of your workspace, but here are a few ideas:
To get the most from your OKRs, you'll want to evaluate your performance at the end of each quarter. What led to high achievement rates? What caused low ones? Make succinct notes in the Reflections property of each Objective.
In the Reflections property for the Quarter, note your most useful takeaways. Thereafter, you can regularly review your lessons learned to bolster future performance.
Consider creating a "Reflections" page containing a Linked Database that displays all Areas and Objectives within tables.