← Back to field notes

Integrated agency · US

Two accounts went quietly red. The owner caught both in time, and kept $260k of retainer.

Clients rarely leave over results, they leave over communication, and the signals show up 60-90 days early: reply times drifting from an hour to days, a request raised twice, a QBR rescheduled with no new date. At a 35-person US agency the owner found out last, usually from the client. We built a read-only layer over the channels the agency already owns that scores every account's communication health and reports it to the owner weekly, each flag linked to the thread that caused it.

Client name withheld under NDA. Anonymized health-report samples and the flag → thread audit trail available on the audit call. Retained-revenue figures are agency-attributed (accounts that were flagged, intervened on, and renewed) over a 9-month run; treat attribution as the agency's own judgement, not a controlled counterfactual.

$260k
RETAINER SAVED
2 / 2
AT-RISK ACCOUNTS SAVED
31h → 6h
RESPONSE TIME · TOP 5
4 wk
BUILD
Integrated agency · US

The problem

The warning signs sat in Slack, in plain text, for months, and nobody was reading for them.

The year before, two accounts worth ~$180k had walked. In both post-mortems the signals, slow replies, repeated requests, a cancelled review, had been sitting in the threads the whole time. Nobody's job was to read across all of it.

Owner visibility was the weekly meeting where managers report on themselves, plus the moment a client asks for 'a quick call'. By then the decision is usually made.

The approach

Watch the agency's own service quality, in the channels it already owns.

Phase 1: read-only ingestion across the channels the agency runs clients in, Slack, email, WhatsApp Business, Telegram, with every message classified as a request, a complaint, an approval, or noise.

Phase 2: score each account against the agency's own communication standards, timeliness both directions, tone, whether requests actually got closed, and turn open requests into a tracked list with an owner and an age.

Phase 3: a weekly colour-coded health report to the owner, each red flag linked straight to the thread that caused it, so the owner reads exceptions, not transcripts.

I used to find out we'd lost a client when they told me. Now I find out on a Monday, while there's still something to do about it.

What was messy

Where the first version needed tuning, and a hard privacy line.

The privacy line came first and stayed fixed: the agency monitors its own service quality in channels it already owns, and it was framed to clients that way. In rollout conversations it was never once an objection; several clients asked for the same thing on their side.

Early scoring over-flagged, a terse-but-fine reply read as 'cold'. We calibrated tone scoring against the agency's own best threads before trusting it.

Voice notes and calls were the gap, a lot of real requests live there. Transcription plus timecoded capture closed most of it, but long calls still get a human skim.

The outcome

The owner stopped finding out last.

  • At-risk accounts caught and saved0 process → 2/2$260k retained
  • Dropped requests per month14 → 2tracked list
  • Response time, five largest accounts31h → 6hmonitored
  • Owner visibility into account healthweekly meeting → live reportby design

How we measured it

Baseline, sample and method, so the numbers above are checkable.

Baseline: the prior year, 20 retained clients, ~$2.1M in annual retainer revenue, and two lost accounts (~$180k) whose warning signs were reconstructed after the fact.

Run: 9 months live across all 20 accounts.

Two accounts flagged red; the owner stepped in within a week of the flag; both renewed. The ~$260k 'saved' is the annual retainer on those two accounts, attributed by the agency, it's their judgement that the flag changed the outcome, not a controlled counterfactual.

Response-time figures (31h → 6h on the five largest accounts) come from the monitoring itself; dropped-request counts (14 → 2/month) from the tracked list.

What we did not automate

The system watches; humans decide.

The layer never messages a client. It flags to the owner; the owner or account lead decides what to do.

It reads only channels the agency owns and operates, no client-side systems, no covert monitoring.

Judgement about a relationship stays human, the report surfaces the signal and the thread, it doesn't diagnose the client.

What's next

The health report is becoming the account review.

The weekly report replaced most of the status meeting where managers used to report on themselves, the owner now walks in with the exceptions already in front of them.

The same signal is being turned into an onboarding-quality check, so a new account's communication health is watched from day one, not after the first scare.

YOUR ACCOUNT HEALTH

Finding out an account is unhappy when they ask for 'a call'? Let's fix that.

20-min call. We map how client communication flows through your agency today and show you what an owner-side health report would have caught on your last lost account.

Replies within one working day · EU, UK & US time zones