BluOps

Client revenue compared against actual margin, with the largest account showing negative margin
Workflows

3 min read

How to Tell Which Clients Are Actually Profitable

How to Tell Which Clients Are Actually Profitable

Short answer: Most agencies rank clients by revenue and assume the order reflects value. It usually doesn't. Real client profitability is revenue minus delivered hours at loaded cost, minus the unbilled work nobody logs — account management, revisions beyond scope, the calls, the chasing. Run it once and the ranking almost always changes, frequently at the top.

Blog3-1

The calculation

Per client, per month:

Revenue — what they were invoiced.

Minus delivered hours × loaded cost. Loaded cost, not salary — salary plus employment costs, plus a share of overhead. If you don't have a figure, salary × 1.3 is a working starting point until finance gives you better.

Minus the invisible hours. This is where the ranking changes:

  • Account management and internal calls about the account

  • Revisions past the agreed rounds

  • Scope absorbed rather than papered

  • Chasing feedback, assets and approvals

  • Rework caused by unclear briefs

Most agencies log none of these against the client. They're real hours, they're consumed by specific accounts, and they're wildly uneven across a roster.

The client who generates the most invisible hours is very often the one everyone assumes is the best client, because they're the biggest.

How to capture the invisible hours

You don't need perfect data — you need enough to rank correctly.

Cheap version, one month: ask everyone to log account management time against a single task per client. That's one extra task per client and it captures most of what's missing.

Better version: a Request Source custom field distinguishing contracted work from ad-hoc requests, plus a revisions count. Then unbilled scope becomes a number rather than a suspicion.

Blog3

Reading the result

Four patterns show up almost every time:

  • The big unprofitable one. High revenue, high demands, thin or negative margin. Usually protected because losing them feels impossible.

  • The quiet good one. Mid revenue, low friction, strong margin. Usually under-served because they never complain.

  • The rework client. Reasonable revenue, destroyed by revisions. Almost always a briefing or expectation problem, not a client problem.

  • The one that used to work. Priced two years ago, scope has grown since, price hasn't.

What to do about it

  1. Don't fire anyone this week. One month of data is a signal, not a verdict. Run three.

  2. Fix rework before repricing. If the margin is eaten by revisions, a price rise on a broken process just makes an unhappy client expensive.

  3. Paper the scope. A large share of the gap is usually undocumented extras. That's fixable without a difficult conversation about price.

  4. Reprice at renewal, not mid-term. With three months of evidence, the conversation is straightforward rather than defensive.

  5. Give the quiet profitable ones more attention. They're the ones you can least afford to lose and the ones most likely to be neglected.

Frequently asked questions

How do I calculate client profitability for an agency?

Revenue minus delivered hours at loaded cost, minus unbilled work — account management, out-of-scope revisions, chasing and rework. The last category is what most agencies omit and what usually changes the ranking.

What's a good profit margin per client for an agency?

It varies by service model and market, so a benchmark is less useful than your own spread. What matters is the variance across your roster and whether your biggest accounts are on the wrong end of it.

Should I fire unprofitable clients?

Rarely as a first move. Most unprofitable accounts are fixable through repricing at renewal, papering scope properly, or resolving whatever causes rework. Exit is the answer when the client is genuinely unworkable, not merely mispriced.

How do I track unbilled account management time?

One task per client for account management, logged against for a month. Crude, and it captures the majority of what's currently invisible.

The short version

Rank your clients by margin rather than revenue, including the hours nobody logs. Run three months before acting. Fix rework and scope leakage before touching price.

And note how much of the invisible time is chasing and explaining — that's the part a client-visible system removes. See how — 7 days for $1.