Asymmetric uses OKRs (Objectives and Key Results) as the primary structure for defining and communicating client strategy each quarter. This article captures the core principles established and reinforced during the [1].
An OKR has two components:
A third element — the Tactic — describes how you'll achieve the KR. Tactics are not part of the OKR itself and should not appear in OKR documentation.
"The O's are the objectives and the KRs are how you measure the objectives. I don't necessarily care today what the numbers are, but more like, how are you going to determine if you achieve it?" — Mark Hope
Objectives should reflect what the client actually cares about and is willing to pay for — not the work we do to get there.
| ❌ Tactic (not an objective) | ✅ Outcome (correct objective) |
|---|---|
| Achieve first-page Google rankings | Increase leads from organic search |
| Build landing pages for service lines | Increase leads for underutilized services |
| Implement required form fields | Improve lead data completeness |
| Work on the website | Improve website conversion rate to increase lead volume |
The test: if the client wouldn't directly pay for the thing you've written, it's probably a tactic, not an objective.
KRs answer the question: Where will we look to know if we achieved the objective?
Good KRs name a specific metric and a source:
KRs that reference activities ("launch campaigns," "implement forms") are tactics in disguise. Push them down into the execution plan.
Without visibility into what happens after a lead enters the client's funnel, we can only prove top-of-funnel activity — not business impact. This makes our value proposition fragile.
"Any of you who have a client that we can't see what they're selling to whom, we're going to get fired sooner or later because you're never going to be able to prove your ROI, ever." — Mark Hope
We typically have strong visibility into the first stage and weak visibility into the rest:
Awareness → Lead → MQL → SQL → Customer → Advocacy
✅ visible ⚠️ partial ❌ often blind
What good CRM access enables:
- Confirm that form fills and calls are actual leads (not spam, wrong numbers, job seekers)
- Track lead progression through lifecycle stages (MQL → SQL → closed)
- Attribute revenue to specific campaigns or channels
- Identify which lead sources produce the highest close rates
"We're doing a really good job for the first third of that journey, but we don't really know what's happening for the other two-thirds with a lot of our clients." — Mark Hope
KR targets should be grounded in the client's actual unit economics. Knowing the value of a lead — and the client's capacity to handle leads — prevents both under-bidding and over-promising.
Key inputs to gather:
- Average revenue per job/sale — determines what a reasonable CPA looks like
- Lifetime value (LTV) — justifies higher CPAs for high-retention clients
- Capacity constraints — beds, trucks, staff, inventory — prevents promoting services the client can't deliver
"If he's selling something that on average is $800 or $1,000, then spending $100 on it is a pretty good idea. But if his average is $500 or $400, spending $100 on it is probably too much." — Mark Hope
Example from [2]: a $72k/year client LTV justifies a $196 CPA that would look alarming without context.
| Mistake | Correction |
|---|---|
| Writing tactics as objectives | Ask "why?" until you reach the client outcome |
| KRs that describe activities | KRs must name a metric and where it's measured |
| Setting targets without revenue data | Request pricing/revenue data before finalizing KR numbers |
| Objectives we have no visibility to measure | Only set objectives where we can track the KR |
| Too many objectives (5+) | Ruthlessly prioritize; 3–4 max per quarter |