Which Client Is Actually Profitable When Everyone Works on Everything?

How to rank clients by real margin when your team is shared, which allocation basis to use, and what to do with the answer once you have it.

Author
Prabhash Jha
Published
Reading time
13 min read

Ask most service business owners which client is their best and they will name the one that pays the most. Ask them which is their worst and they will name the one that emails the most. Both answers are guesses, and they are frequently the same client.

The reason this stays a guess is structural. In a services business of any size below “we have a finance team”, nobody works on one account. The same designer touches four brands in a day. The same senior person joins whichever call is on fire. Your accounting software knows what each client paid you and has no idea what each client cost you, because the cost is a set of salaries that do not decompose by client.

So the question — which client is actually profitable — is genuinely hard, and the standard answers online are written by people selling the software that answers it. Here is the method without the software.

Why the revenue ranking is the wrong ranking

Ranking clients by revenue tells you who funds the business, not who builds it. Those are different lists, and acting on the first one while believing it is the second is how a growing agency runs out of money.

The mechanism is simple. Revenue is contracted and fixed; cost is behavioural and variable. Two clients on the same retainer can consume wildly different amounts of the only thing you actually sell, which is senior attention. One sends a brief, approves in one round, and pays on time. The other reopens settled decisions, adds a stakeholder in month three, and needs a call before every approval. On the revenue list they are identical twins. On the margin list they are not in the same business.

This is the same failure mode that a profitable retainer quietly becoming an unprofitable one describes for a single account over time. What follows is the cross-sectional version: not one account drifting, but a whole book of clients you need to rank against each other at a single moment.

The three costs that never reach the client’s line

Before allocating anything, know what you are allocating. Three categories are systematically missing from the mental version of this calculation.

Unbilled thinking time. The forty minutes before the call, spent reading the last three months of the account. The Sunday evening when a campaign is misbehaving. This is real, it is expensive because it is almost always senior time, and it appears in no timesheet because it does not feel like work being done on something.

Coordination overhead. Every client adds internal cost that has nothing to do with the work: status meetings, handovers between people, someone re-explaining context to someone new, the project manager’s time. Coordination scales worse than linearly with the number of stakeholders on the client side. A client with one decision-maker and a client with four are not one-and-four; they are closer to one and nine, because the cost is in the connections, not the people.

Rework. Not revisions you priced for — rework caused by a brief that changed, an approval that reversed, or a specification nobody wrote down. Rework is the single largest hidden cost in most service businesses and the one clients are least willing to see itemised.

None of these appear as a line in your P&L. They appear as salaries. Which is exactly why allocation is necessary rather than optional — and why the ability to read the statement you are decomposing matters first, which is the ground covered in how to read a profit and loss statement without an accounting degree.

Choosing an allocation basis, and what each one hides

Allocation means taking a shared cost and splitting it across clients using some proxy for consumption. The proxy you pick determines the answer, so pick it deliberately and know its blind spot. This is not a new problem — it is the core of activity-based costing, which Robin Cooper and Robert Kaplan set out in Measure Costs Right: Make the Right Decisions, arguing that managers were making pricing and mix decisions on distorted cost information precisely because overhead was being smeared evenly across things that consumed it unevenly.

BasisHow it worksWhat it hidesUse when
Revenue shareClient’s share of revenue × total overheadAssumes big clients cost proportionally more. They usually cost less per rupeeYou need a number today and nothing else exists
Headcount shareOverhead ÷ people, assigned by who works whereIgnores seniority — an hour of principal time and an hour of junior time cost the sameTeam is small and roughly uniform in seniority
Tracked hours × loaded rateActual hours at true cost per personOnly as good as your time tracking, which in most agencies is fictionYou genuinely track time and people fill it in honestly
Activity / touchpoint countsCount the things that drive cost — calls, rounds, stakeholdersTakes effort to design; needs review as the work changesYou want an honest answer without a timesheet culture

The revenue-share method is the most common and the most misleading, because its error runs in the opposite direction to the truth. It charges your largest client the most overhead when large accounts typically have the lowest overhead per rupee — one relationship, one set of meetings, one context to hold. Smearing overhead by revenue makes big clients look worse and small clients look better than they are, which flatters exactly the accounts you should be scrutinising.

Loaded cost, not salary. Whatever basis you choose, the per-person cost must be the fully loaded one: salary plus employer contributions, plus the cost of the tools that person needs, plus their share of rent and admin, divided by realistically available hours rather than contracted ones. Nobody delivers 40 billable hours in a 40-hour week. If you use contracted hours you will understate cost by something like a third, uniformly, and every client will look profitable.

The version that works when nobody tracks time

Most small agencies do not track time, and installing timesheets to answer this question usually fails: the data is bad for the first two months, people resent it, and you get an answer six months after you needed one.

The workable substitute is to count activities instead of minutes. Kaplan and Anderson’s time-driven refinement of activity-based costing makes the same move — estimate the time each transaction demands, rather than surveying people about how they spend their days.

In practice, for one representative month, count per client:

  • Scheduled calls, and how many people from your side attended each
  • Revision rounds on delivered work
  • Distinct approvers involved in any decision
  • Out-of-hours or same-day requests
  • Days from your delivery to their sign-off

Then attach a standard time estimate to each — one figure per activity type, agreed once, applied to everyone. A call with three people from your side costs three times a call with one. A revision round costs whatever a revision round costs in your business.

Two properties make this better than timesheets for this purpose. It is retrospective, so you can run it on last quarter from your calendar and inbox without waiting. And it measures the drivers of cost rather than its symptoms, so the output tells you what to change, not merely who is expensive. “This account runs four approvers” is actionable. “This account consumed 61 hours” is not.

A worked example

Numbers below are invented for illustration and are round on purpose — they are not anyone’s real book.

Take a small agency billing ₹12,00,000 a month across three clients, with total monthly costs of ₹9,00,000, of which ₹6,00,000 is delivery salaries and ₹3,00,000 is overhead. Overall margin is 25%, which looks healthy.

Client AClient BClient C
Monthly fee₹6,00,000₹4,00,000₹2,00,000
Share of revenue50%33%17%
Delivery cost (activity-based)₹2,40,000₹2,40,000₹1,20,000
Overhead (by revenue share)₹1,50,000₹1,00,000₹50,000
Net margin₹2,10,000 (35%)₹60,000 (15%)₹30,000 (15%)

Client A and Client B consume identical delivery cost despite B paying two-thirds of A’s fee — B is the one with four approvers and the reopened decisions. The revenue ranking says A, B, C. The margin ranking says A, then B and C indistinguishably, with B consuming twice the capacity of C to produce the same profit.

Now notice what the overhead row did. Allocating overhead by revenue share charged Client A three times what it charged Client C, on the assumption that A generates three times the admin. If A is a single-stakeholder account and C is a fragmented one, that assumption is backwards, and the real gap between A and the others is wider than the table shows. The allocation basis moved the answer — which is the whole point of choosing it consciously.

Rank on contribution margin, not net margin

The number to rank clients on is revenue minus the costs that would actually disappear if the client did.

Net margin — after allocated overhead — is the right number for pricing and for judging the business overall. It is the wrong number for ranking clients, because allocated overhead is not avoidable. Your rent does not fall when a client leaves. Fire the client with the worst net margin and you do not save their allocated overhead; you redistribute it across the survivors, and the next-worst client becomes the worst. That loop has an obvious endpoint and it is not a healthier business.

So keep two columns and use them for different decisions:

  • Contribution margin (revenue − avoidable direct cost) answers: is this account worth keeping?
  • Net margin (contribution − allocated overhead) answers: is this account priced correctly, and can the business support its current cost base?

A client with positive contribution and negative net margin is not a client to fire. It is a client to reprice, or a signal that your overhead is too heavy for the book you have.

What to do with the answer

Having found your worst account, the instinct is to fire it. That is usually the fourth-best option and the most expensive to reverse. Work the list in this order.

1. Fix the drivers before touching the price. Most unprofitable accounts are unprofitable for two or three specific, nameable reasons — an approval chain with no single owner, a standing weekly call that could be a written update, a delivery format that gets rebuilt every month. These are cheap to change and they do not require a difficult conversation. Fix them and re-measure a quarter later; a meaningful share of “bad clients” resolve here.

2. Reprice to the observed cost. If the drivers are structural to how the client works rather than to how you work, the price should reflect them. This is a considerably easier conversation when you can describe consumption rather than assert value — approvers, rounds, turnaround expectations. How to raise your prices without losing the accounts you want to keep covers how to run it. If your floor rate itself is wrong, that is a different and more urgent problem, and pricing your services properly is the fix.

3. Re-scope. Reduce what is delivered to match what is paid. Often more palatable to a client than a price rise, and it makes the trade explicit rather than absorbing it silently.

4. Then, and only then, exit. And exit on the pattern, not on the number — a single bad quarter is noise. The signals that actually justify it are in when to fire a client — the four signals, and why revenue is never one.

There is one more thing worth checking before any of the above: whether the account is unprofitable or merely slow to pay. They feel identical from the inside and need opposite responses, and the difference between cash flow and profit is the distinction to hold onto.

How often, and the trap of doing it too often

Quarterly. Monthly is too noisy — one campaign launch or one bad month of rework will swing a small account’s margin enough to trigger a decision you would not make on a longer view. Annually is too slow to catch drift while it is still cheap to correct.

Run it on the same basis each time. The absolute number matters less than the direction, and changing your allocation method between periods destroys the comparison that makes the exercise worth anything. If you must change the method, recompute the prior period on the new basis so you keep a like-for-like series.

Two failure modes worth naming. The first is precision theatre: spending three weeks refining an allocation model to move a client’s margin from 14% to 15%. The decision you make at 14% and at 15% is the same decision. Get to a defensible number quickly and spend the saved effort on the drivers. The second is showing the output to the team. A ranked list of clients by profitability, seen by the people delivering the work, changes behaviour in ways you did not intend — it becomes a reason to under-serve the bottom of the list, which is precisely how a fixable account becomes a lost one.

FAQs

How do I calculate profit per client if my team works on multiple accounts?

Split each person’s fully loaded cost across accounts using a consumption proxy — tracked hours if you have honest ones, counted activities if you do not — then subtract the result from that client’s revenue. The proxy does not have to be perfect. It has to be consistent, applied the same way to every client, and reviewed when the shape of the work changes.

Should I allocate overhead by revenue or by hours?

By hours or activities where you can, because that is closer to actual consumption. Revenue-share allocation systematically penalises large accounts, which usually carry the lowest overhead per rupee. Revenue share is defensible only as a first pass when you have nothing else, and you should treat its output as directional rather than as a basis for firing anyone.

What is a good profit margin per client for an agency?

There is no universal figure worth quoting, and any specific percentage you read is someone’s book rather than a benchmark. The useful comparison is internal: the spread between your best and worst accounts on the same measurement basis, and whether that spread is widening. A tight spread means your pricing model matches how work actually gets consumed. A wide one means some clients are subsidising others.

Should I fire my least profitable client?

Not on the first measurement, and not on net margin. Check contribution margin — revenue minus genuinely avoidable cost — because allocated overhead does not leave when the client does. Then work the cost drivers, then the price, then the scope. Exit is the last option and should follow a pattern across quarters rather than a single bad number.

What is activity-based costing and do I need it?

It is the practice of assigning overhead according to the activities that actually consume it, rather than spreading it evenly. You need the idea; you almost certainly do not need the full apparatus. Counting five or six cost drivers per client for one representative month gives you most of the accuracy at a fraction of the effort, which is the argument behind the time-driven version of the method.

How do I account for time spent on a client that nobody logs?

Estimate it deliberately rather than letting it default to zero. Pick standard figures — preparation time per call, context-switching cost per interruption, the true length of a revision round — agree them once, and apply them uniformly. A consistent estimate applied to every client is far more useful than precise data on the fraction of work people remember to log.

Key takeaways

  • The revenue ranking and the margin ranking are different lists. Only one tells you how the business is doing.
  • Unbilled thinking time, coordination overhead and rework are the three costs that never reach the client’s line.
  • Your allocation basis determines your answer — choose it consciously and keep it stable across periods.
  • Revenue-share allocation is backwards: big accounts usually carry less overhead per rupee, not more.
  • Use fully loaded cost over realistically available hours, or every client will look profitable.
  • Count activities, not minutes, if you do not have a working timesheet culture.
  • Rank on contribution margin. Net margin is for pricing decisions, not keep-or-drop decisions.
  • Fix the drivers, then the price, then the scope. Exit last.
  • Quarterly, same method every time. Do not show the ranked list to the delivery team.

Rules of thumb are a poor substitute for your own figures. Work out your emergency fund target.

Keep reading