Writing good OKRs is harder than it looks. Most teams write objectives that are too vague ("grow the business") or key results that measure activities rather than outcomes ("launch 3 features," "attend 10 sales calls"). The examples below are organized by department, with annotations explaining what makes each one effective — and where the common pitfalls appear.
What makes an OKR good?
Before the examples: the two rules that separate good OKRs from the common failure modes.
- Objectives should inspire, not just describe. "Improve product reliability" is fine. "Make reliability the reason customers renew" is better — it gives the team a reason to care, not just a task to complete.
- Key results should measure outcomes, not activities. "Write 10 technical specs" is an activity. "Reduce mean time to resolution for P1 incidents from 4 hours to 1 hour" is an outcome. Key results should answer the question: if we achieve this, what has actually improved?
Engineering OKR examples
Objective: Make our platform reliable enough that reliability is never a reason customers churn.
- KR1: Reduce P1 incident rate from 3.2/month to 0.5/month.
- KR2: Achieve 99.9% uptime for all production services (up from 99.2%).
- KR3: Reduce mean time to detection (MTTD) from 45 minutes to 5 minutes.
Why it works: The objective is outcome-focused and ties to business impact (churn). Each KR is specific, measurable, and moves from a known current baseline to a defined target.
Objective: Double engineering velocity without increasing team size.
- KR1: Reduce average pull request cycle time from 3.5 days to 1.5 days.
- KR2: Increase deployment frequency from once per week to daily.
- KR3: Reduce percentage of sprint capacity spent on unplanned work from 35% to 15%.
Why it works: All three KRs are lead measures — the team can directly influence them. The objective sets an ambitious aspiration without prescribing how to get there.
Objective: Build a codebase the next 20 engineers will be proud to join.
- KR1: Achieve 80% test coverage across core services (up from 51%).
- KR2: Reduce critical path onboarding time for new engineers from 3 weeks to 1 week.
- KR3: Eliminate all P0-severity tech debt items from the backlog.
Product OKR examples
Objective: Make the onboarding experience fast enough that customers see value before the first renewal conversation.
- KR1: Reduce time-to-first-value from 21 days to 7 days.
- KR2: Increase 30-day activation rate from 42% to 65%.
- KR3: Achieve onboarding NPS of 50+ (current: 28).
Objective: Become the most feature-complete solution in the mid-market segment.
- KR1: Close the top 3 feature gaps cited in lost deal analysis (single sign-on, bulk export, API access).
- KR2: Achieve win rate of 45% vs. top 3 competitors in mid-market deals (current: 31%).
- KR3: Reduce feature-request-related churn from 12% to 5% of churned accounts.
Objective: Ship faster and waste less time on features customers do not use.
- KR1: Increase percentage of shipped features with a usage rate above 20% at 90 days (from 35% to 60%).
- KR2: Reduce average time from spec to shipped feature from 6 weeks to 3 weeks.
- KR3: Conduct discovery interviews with 30 customers before each major feature kickoff.
Note on KR3: This is technically an activity (interviews conducted), but it is justified here as a behavioral change objective — the real OKR failure mode is shipping without discovery. It could be strengthened by measuring whether features shipped after discovery have higher adoption rates.
Sales OKR examples
Objective: Build a predictable pipeline engine that fuels consistent quarterly growth.
- KR1: Increase qualified pipeline coverage to 4x quarterly quota (from 2.5x).
- KR2: Reduce average sales cycle from 62 days to 42 days.
- KR3: Increase win rate from 22% to 30% against top two competitors.
Objective: Expand revenue from existing accounts as aggressively as from new business.
- KR1: Achieve net revenue retention of 120% (current: 107%).
- KR2: Increase average contract value through expansion from $14K to $22K ARR.
- KR3: Identify and execute expansion plays in 80% of accounts with 100+ employees.
HR OKR examples
Objective: Make Harmny a place where high performers stay and grow.
- KR1: Reduce voluntary attrition among high performers from 18% to 8% annually.
- KR2: Achieve 90% completion rate for Individual Development Plans across all teams.
- KR3: Increase internal promotion rate from 25% of open roles to 45%.
Objective: Build a manager community that becomes a competitive advantage in hiring and retention.
- KR1: Increase average team-level engagement score from 3.8 to 4.3 (5-point scale).
- KR2: Achieve manager effectiveness score of 4.0+ for 80% of managers (current: 55% above 4.0).
- KR3: Complete structured manager development program with all people managers by end of Q2.
Objective: Reduce the cost and time of bringing great people into the organization.
- KR1: Reduce time-to-hire from 48 days to 28 days for all roles.
- KR2: Increase offer acceptance rate from 68% to 82%.
- KR3: Reduce 90-day voluntary attrition from new hires from 11% to 4%.
Marketing OKR examples
Objective: Own the conversation in the performance management software category.
- KR1: Rank in the top 3 organic search results for 20 category-defining keywords (current: 4).
- KR2: Grow organic monthly traffic from 8K to 35K sessions.
- KR3: Achieve 40% of new trial signups attributed to content or organic search (current: 18%).
Objective: Turn our happy customers into our most effective sales channel.
- KR1: Collect 25 new customer case studies and video testimonials by end of Q3.
- KR2: Increase referral-sourced pipeline from 8% to 20% of total qualified pipeline.
- KR3: Achieve G2 category leader badge with ≥50 new reviews this quarter.
Common OKR writing mistakes — and how to fix them
| Mistake | Example | Better version |
|---|---|---|
| Activity KR (not outcome) | "Launch 3 new features" | "Increase daily active users from 1.2K to 3K" |
| No baseline | "Improve NPS" | "Increase NPS from 28 to 45" |
| Too many KRs | 7 key results for one objective | Limit to 3–4; if you have 7, split into two objectives |
| Binary KR | "Complete the API migration: yes/no" | "Migrate 100% of API endpoints to v2 (currently 0/34 migrated)" |
| Vague objective | "Improve team performance" | "Build a team where every engineer is growing faster than they would anywhere else" |
For the full setup process, see How to Set Up OKRs for Your Team. For comparing OKRs to alternative frameworks, see Goal-setting frameworks compared.