The Retainer That Doesn't Rot: Structuring Ongoing Agency Contracts That Both Sides Actually Renew
Most agency retainers quietly die around month four. Here's how we structure ongoing contracts so clients feel the value every week and engineers don't burn out doing invisible work.
Every agency we know has the same graveyard: retainers that started hot in January, drifted in March, and got politely cancelled in May with a note about "reprioritising." The client isn't lying — they genuinely couldn't feel what they were paying for. And the agency, quietly, was relieved, because the account had turned into a swamp of Slack pings and half-scoped tickets.
Retainers are the most profitable contract shape in a services business when they work, and the most demoralising when they don't. This is how we structure them so they last past month four without either side feeling cheated.
Why most retainers rot
The default retainer is some version of: "Pay us £X per month, get up to Y hours of engineering." It sounds fair. It is not.
The failure mode is predictable:
- Month 1–2: The client has a backlog. Hours get burned. Everyone is happy.
- Month 3: The backlog is thinner. The client starts asking "what did we actually get this month?"
- Month 4: Hours go unused. The client feels they overpaid. Or hours get overrun on a nasty bug, and the client feels they underpaid for what they got.
- Month 5: Renewal conversation. Awkward.
The root problem is that an hour bank measures input, not outcome, and the client has no way to tell whether an hour spent debugging a webhook was worth the same as an hour spent shipping a feature they can demo to their board.
Fix that, and the retainer stops rotting.
The three retainer shapes that actually work
We've settled on three structures depending on the client's maturity and the nature of the work. Pick one deliberately — don't Frankenstein them.
1. The capacity unit retainer
Instead of selling hours, sell a fixed slice of a team. A "pod" of, say, one senior engineer at 60% and a designer at 20%, guaranteed for the month. The client isn't buying time; they're buying a reliable delivery capacity they can plan around.
What this fixes:
- No arguments about whether a 15-minute Slack thread counts as billable.
- The client knows exactly what they're getting on Monday morning.
- Your utilisation is predictable, which makes hiring sane.
What it costs:
- You have to be honest about capacity. If your "60% senior" is actually 40% because of internal meetings, the client will notice by month two.
- Works best when the roadmap is genuinely ongoing — product companies, not one-off builds.
2. The outcome retainer
You commit to a small number of outcomes per month — not tickets, not hours. Something like: "Two shipped features, one performance improvement, and ongoing bug triage under a 48-hour SLA."
This is harder to sell and harder to price, but it's the one clients renew without thinking. They can point at a Notion page and say "look what we got."
We only offer this to clients where we already understand the codebase and the domain. Selling outcomes on a codebase you've never seen is how agencies go broke.
3. The support-and-evolution retainer
For clients whose product is stable and mostly needs care and feeding: monitoring, dependency updates, small enhancements, incident response. Price it low relative to build work, and be strict about what it includes.
The trick is to make the baseline work visible. Nobody notices that their Rails app got upgraded from 7.1 to 7.2 unless you tell them, ideally with a paragraph on what would have broken if you hadn't.
The report that keeps you hired
Whatever shape you pick, the single highest-ROI thing you can do is send a weekly report the client can forward to their boss. Not a timesheet. A narrative.
Ours looks roughly like this:
# Weekly update — Week of 12 May
## Shipped
- Checkout: added Apple Pay (live in production Thursday)
- Admin: bulk order export now handles 10k+ rows without timeout
## In progress
- Subscription pause flow — API done, UI in review, expected Wed
## Watching
- Stripe webhook retry rate ticked up ~15% this week. Investigating.
## Decisions we need from you
- Do refunds on paused subscriptions prorate or not?
## Capacity used
- Pod: 38 of 40 planned hours. On track.
Five minutes to read. The client's non-technical stakeholders can forward it up the chain. It preempts the "what am I paying for" conversation because the answer arrives before the question does.
Why weekly, not monthly
Monthly reports get skimmed. Weekly reports get read, because the delta is small enough to matter. Also — and this is the real reason — a monthly report gives the client 30 days to accumulate anxiety before they hear from you. A week is short enough that concerns surface early, while they're cheap to fix.
Pricing without leaving money on the table
A reasonable starting point for a capacity retainer: take the fully-loaded cost of the people in the pod, add your target margin (we aim for the range most healthy agencies land in — roughly 30–45% gross), then add a reliability premium of 10–15% for the guaranteed availability.
That premium is the part junior agencies forget. You're not just selling the work; you're selling the fact that on Monday at 9am, those humans will be there and not on another project. That reservation has real cost — it constrains your ability to take on new business — and clients will pay for it if you name it.
A few pricing rules we hold to:
- Quarterly minimum term, monthly rolling after. Three months is the shortest window in which a retainer can prove its value. Month-to-month from day one trains the client to evaluate you every 30 days, which is exhausting for everyone.
- Annual price review, written into the contract. Not a negotiation — a stated adjustment (CPI plus a small delta) that happens automatically. Awkward pricing conversations are the ones you didn't schedule.
- No rollover of unused capacity past one month. Otherwise you end up with a client sitting on 200 hours in month six and demanding you clear them in December.
Scope, change, and the thing clients always ask
Every retainer client eventually says: "Can you also just quickly..."
Have an answer ready. Ours is a two-tier system:
- Inside the pod: small work fits into the weekly capacity. We negotiate priority, not price.
- Outside the pod: anything larger than roughly a week of work is quoted separately as a project, with its own scope doc, even if the same engineers do it.
The reason for the separation is that big work distorts the retainer. If a two-month feature eats the pod, the baseline support and evolution work dies, and suddenly the client feels the retainer isn't delivering — because it isn't. Keep the flows separate.
We wrote more about scope negotiation with non-technical stakeholders in our services overview, but the short version: name the tradeoff out loud, every time. "We can do X this week, but Y slips to next week. Which do you want?" Clients respect the question. They resent the surprise.
The renewal conversation, months before renewal
Start the renewal conversation at month two of a six-month term. Not the negotiation — the conversation. Something like: "When we get to October, we'll look at whether the current pod shape is still right. What would make you want to expand it? What would make you want to shrink it?"
This does two things. It signals that you assume the relationship continues, which anchors the client's thinking. And it surfaces dissatisfaction while there's still time to fix it, rather than in a panicked call two weeks before the contract ends.
The agencies that lose retainers at renewal almost always got blindsided. The client had been unhappy for weeks; nobody asked.
Where we'd start
If you're running hour-bank retainers today and watching them rot, don't try to rewrite every contract at once. Pick your next renewal, and offer the client a choice: keep the current shape, or switch to a capacity pod at roughly the same monthly price. Most will switch, because the pod is easier to explain internally.
Then: write the weekly report template before you sign anything. Send the first one in week one. That single habit does more for retention than any contract clause we've ever written.
Want a team like ours?
72Technologies builds production software for the kind of teams who actually read this blog.
Start a projectKeep reading
The Change Request That Wasn't: How to Say No to Scope Creep Without Losing the Client
Scope creep rarely arrives as a formal change request. It sneaks in through Slack DMs, 'quick calls', and the phrase 'while you're in there'. Here's how we handle it without torching the relationship.

The Staff Engineer You Can't Afford: How Small Agencies Should Actually Hire Senior Talent
Small agencies keep losing bids for staff-level engineers to product companies with better equity and calmer roadmaps. Here's the hiring playbook that actually works when you can't win on comp.

The Two-Week Paid Pilot: How Agencies Close Enterprise Deals Without a 90-Day Sales Cycle
Enterprise procurement will happily stall your agency for a quarter. A scoped, paid pilot flips the dynamic: you get paid to prove fit, and the buyer gets a shippable artifact before signing the big contract.
