Almost no agency loses money on a retainer suddenly. It happens over roughly seven months, in increments too small to trigger anyone's alarm. An extra call here. A "quick" landing page review. A new stakeholder who wants their own version of the report. By the time the account manager says "this client is a lot," you've been subsidising them for two quarters.
Unprofitable retainers are the most expensive problem in agency operations precisely because they're invisible on the revenue line. The client pays on time. The invoice is the same every month. Nothing looks wrong until you compare hours to fee — and by then the habits are baked in.
This is the diagnostic system: the one number that matters, the early warning signals that show up months before the number goes bad, and what to actually do about it.
The one number: effective hourly rate
Forget complex profitability models for a moment. Take the monthly retainer fee, divide it by total hours logged against that client, and you have the effective hourly rate (EHR).
Real example from an agency I worked with. Two SEO retainers, both $4,500/month:
- Client A: 38 hours logged → $118/hour EHR
- Client B: 71 hours logged → $63/hour EHR
Same revenue. Client B was consuming nearly twice the delivery capacity. Their blended cost per hour — salaries, taxes, benefits, divided by realistic billable hours — was $58. Client B was generating $5 per hour of margin before any overhead allocation. They were, functionally, a charity case wearing a client's clothing.
The founder had assumed Client B was fine because the client was happy and paid promptly. Happy clients and profitable clients are different data sets.
Set your floor before you measure
EHR is meaningless without a threshold. Calculate your blended cost per delivery hour, then set your floor at roughly 2x that number to cover overhead and target margin. If your blended cost is $55, your floor is around $110.
Now every retainer sorts into three buckets: comfortably above floor, hovering at floor, and below. The hovering group is where you intervene — the below-floor accounts are already emergencies.
Seven early warning signals
EHR is a lagging indicator. It tells you a retainer went bad after it happened. These signals show up 60-120 days earlier.
1. Hours creep in single digits
Nobody notices 4 extra hours in a month. But 4 hours a month compounds: a retainer scoped at 40 hours hitting 44, then 47, then 52 has lost 30% of its margin in a quarter. Track the month-over-month delta, not the absolute number.
2. The stakeholder count grows
You sold a retainer to one marketing manager. Nine months later you're on calls with the marketing manager, a new head of digital, someone from brand, and occasionally the CEO. Each stakeholder adds review cycles, context-setting, and conflicting feedback. Stakeholder count is one of the most reliable predictors of hour inflation — and one reason giving each stakeholder their own view of the same project is an operational defence, not just a nicety.
3. Meeting time exceeds 20% of delivered hours
A 40-hour retainer with 6 hours of calls, prep, and follow-up notes is running at 15% — normal. At 12 hours you're at 30% and the work is being squeezed into whatever's left. Meeting-heavy accounts feel busy and productive while producing less.
4. Senior people doing junior work
When your strategist is pulling Search Console exports because "it's faster than explaining it," your cost per hour on that account has quietly doubled. This shows up in cost-weighted profitability long before total hours look alarming.
5. Revision rounds beyond two
Track average revision cycles per deliverable per client. A client averaging 3.5 rounds on content briefs is consuming roughly double the intended production time. It's also a symptom — usually of unclear approval authority on their side.
6. Unbilled "quick favours" in Slack
The favour that never gets logged is the most dangerous kind, because it corrupts your data while consuming real capacity. If your team's logged hours look fine but everyone feels underwater, you have an unlogged work problem — and time tracking data lies in predictable ways that are worth understanding before you draw conclusions from it.
7. Reporting effort that outgrows the work
If you're spending 6 hours a month assembling a report on 25 hours of actual delivery, the report is the deliverable and the SEO is a hobby. This is fixable with templating and automation faster than almost anything else on this list.
Diagnose the cause before you act
Every unprofitable retainer has a root cause, and the fix depends entirely on which one you're dealing with. Four common patterns:
Mispriced at sale. You quoted 30 hours for work that genuinely takes 50. No behavioural change fixes this — only repricing. Check whether your other retainers in the same service line have the same problem, because they probably do.
Scope drift you permitted. The single most common cause. Small yeses accumulated into an unrecognisable engagement. Fixable with a documented reset, and the client is often more receptive than you fear because they don't know what they've been getting for free.
Delivery inefficiency on your side. The retainer is priced correctly but your process is slow — three people touching a brief, no templates, work redone because the strategy wasn't documented. Repricing here just charges the client for your inefficiency, which works until a competitor with better process quotes 30% less.
Client behaviour. Slow approvals that force rework, hostile stakeholders, contradictory feedback, weekend Slack messages. Pricing rarely solves this because you're not selling more work, you're selling tolerance. These are the accounts to offboard.
The 15-minute monthly review
Sophisticated profitability analysis that happens once a year is worse than crude analysis that happens every month. Build the habit at a scale you'll sustain.
- Pull logged hours by client for the closed month.
- Calculate EHR for each retainer.
- Compare against the prior two months — you're looking for trend, not snapshot.
- Flag anything below floor or down more than 10% two months running.
- Spend real time only on flagged accounts.
Most agencies have 8-15 retainers. This is a 15-minute exercise if your hours data is clean and a two-day archaeology project if it isn't. Which is mostly a tooling question — generic project tools track tasks beautifully and retainer economics not at all. If you're comparing options, the agency PM tool landscape splits fairly cleanly between task managers and systems that actually connect hours to retainer fees. PeakKR sits in the second group because it was built for agencies where that link is the whole business model.
The conversation that fixes it
Once you've identified an unprofitable retainer and diagnosed the cause, you have four moves: reprice, reduce scope, improve delivery efficiency, or exit.
The reset conversation works best when you bring data, not feelings. "You're a lot of work" invites argument. "The retainer was scoped for 4 content briefs and 2 technical fixes monthly; over the last quarter we've averaged 6 briefs, 4 fixes, and 3 ad-hoc requests — here's what that costs and here are two options" invites a decision.
Offer choices, not ultimatums: keep the current fee and return to original scope, or move to a higher tier that reflects what you've actually been delivering. Roughly half of clients pick the higher tier, because the expanded scope is now something they depend on. If you're nervous about the delivery, structuring difficult client conversations is a learnable skill, not a personality trait.
And if you're doing this repeatedly across your book, the underlying issue may be your pricing model rather than individual accounts — hourly-anchored retainers punish efficiency by design, which is the case for moving toward value-based retainers.
What good looks like
A healthy retainer book has EHR variance of maybe 25% between best and worst accounts, reviewed monthly, with two or three accounts under active correction at any time. That last part matters: the goal isn't zero problem accounts, it's zero undetected problem accounts. Drift is normal. Invisible drift is what kills margin.
Monthly retainer health checklist
- Calculate EHR for every retainer — fee divided by logged hours
- Compare to your floor (blended cost per hour × 2)

Nick Quirk
