
Aug 5, 2026
Written by Gregory Shein, CEO & Founder
How to Track Agency Profitability by Client (Build a Client-Level P&L)
Your agency-level margin is a comfortable lie. If the P&L says 22% net, the real story underneath is almost always something like: two clients at 45%, three around 20%, and one large, demanding account quietly running at −8% — subsidized by everyone else. Agency-level numbers can't see this. Client-level numbers exist to see exactly this.
This guide builds a client-level P&L from parts you already have (or can start collecting this week): revenue, delivery time, non-billable client time, and a defensible overhead allocation. Then we rank four typical clients and show why the biggest logo in the deck is often the worst business. If you haven't yet nailed the difference between gross, delivery, and net margin at the agency level, read what a healthy agency profit margin looks like first — this article assumes those basics and goes one level deeper. (Note: this is the by-client lens; per-project margin tracking is a separate discipline with its own article.)
The formula
Per client, per month (or quarter):
Client profit = Revenue
− Delivery cost (billable hours × loaded cost rate)
− Account service cost (non-billable client hours × loaded cost rate)
− Allocated overhead
Three of the four inputs are trivial if you track time properly. The whole method stands or falls on one habit: every hour is tracked against a client, billable or not.
Loaded cost rate
Use cost, not billable rate: salary + taxes/benefits (~1.25–1.35×) divided by realistic annual hours (~1,800). A $78,000 designer ≈ $78,000 × 1.3 / 1,800 ≈ $56/hour. Compute one per person or one blended rate per role — don't agonize; consistency beats precision.
The hours nobody tracks (and where client profit dies)
Billable delivery hours are the easy part. Client profitability is decided by the hours that never hit an invoice:
- Status calls, "quick" Slack questions, re-explaining decisions
- Extra revision rounds absorbed to keep the peace
- Internal meetings about the client
- Redoing work after moving-target feedback
Track these as non-billable but client-assigned. The moment your time tracker has a billable flag and a client on every entry, "high-maintenance" stops being a feeling and becomes a number.
Allocating overhead
Overhead = rent, software, admin salaries, insurance — everything not attributable to a client. Two defensible methods:
- Revenue share (simple): client's % of revenue × total overhead
- Hours share (fairer): client's % of total client-assigned hours × total overhead
Use hours share if you can: demanding clients consume ops attention roughly in proportion to hours, not revenue. A client paying 15% of revenue but consuming 30% of hours should carry 30% of overhead — that's precisely the distortion you're hunting.
Worked example: ranking four clients
A 9-person agency, $62,000/month revenue, $11,000/month overhead, blended loaded cost $55/hour. One month of clean, client-assigned time data:
| Revenue | Billable hrs | Non-billable hrs | Hours share | Overhead (hrs share) | |
|---|---|---|---|---|---|
| Client A (retainer, SaaS) | $18,000 | 160 | 15 | 21% | $2,310 |
| Client B (big brand, projects) | $24,000 | 230 | 105 | 40% | $4,400 |
| Client C (small retainer) | $8,000 | 55 | 10 | 8% | $880 |
| Client D (ecommerce, hourly) | $12,000 | 200 | 60 | 31% | $3,410 |
Now the P&L per client:
| Revenue | Delivery cost | Service cost | Overhead | Profit | Margin | |
|---|---|---|---|---|---|---|
| A | $18,000 | $8,800 | $825 | $2,310 | $6,065 | 34% |
| B | $24,000 | $12,650 | $5,775 | $4,400 | $1,175 | 5% |
| C | $8,000 | $3,025 | $550 | $880 | $3,545 | 44% |
| D | $12,000 | $11,000 | $3,300 | $3,410 | −$5,710 | −48% |
Total checks out: $5,075 profit on $62,000 ≈ 8% — a mediocre month the agency-level P&L would report as "a bit soft." The client view tells a completely different story:
- Client C — the quiet star (44%). Small retainer, low touch, scoped tight. The instinct is to ignore small accounts; the data says clone this one. Its shape is worth studying with the retainer profitability calculator.
- Client A — healthy anchor (34%). Big and profitable is possible; note the 15 non-billable hours against B's 105. That delta is account management discipline (and, frankly, a better client).
- Client B — the prestige trap (5%). Biggest logo, biggest revenue, barely break-even. 105 non-billable hours — endless stakeholder calls and absorbed revisions — plus 40% of overhead. One more "quick favor" per week pushes it red.
- Client D — the subsidized account (−48%). An "hourly" client where only 200 of 260 hours got billed and the effective rate ($60 on a $55 cost) never covered overhead. Every other client is paying for the privilege of keeping D.
The ranking by revenue is B, A, D, C. The ranking by profit is A, C, B, D — almost exactly inverted. That inversion is typical, not pathological, and you cannot see it without client-assigned hours.
What to do with each quadrant
Plot clients on margin vs revenue:
- High margin, high revenue (A): protect. Overservice deliberately here if anywhere.
- High margin, low revenue (C): grow. What made this shape? Sell it again.
- Low margin, high revenue (B): renegotiate. Scope boundaries, revision limits, a rate step at renewal. A client portal with visible progress and hours kills a surprising share of the status-call load that drags these accounts down.
- Negative margin (D): fix on a deadline or fire. Raise rates 25%+, enforce billable capture, or exit. "We'll make it up on volume" is not a plan when the unit economics are negative.
Monthly client review checklist (copy this)
Run this ritual on the first Friday of each month — 45 minutes once the data flows automatically:
- All time entries client-assigned (audit unassigned hours to zero)
- Non-billable hours per client reviewed — any account >20% service load flagged
- Client P&L computed (formula above), ranked by margin
- Effective hourly rate per client (revenue ÷ total client hours) vs your target
- One action per red/yellow client, with an owner and a date
- Quadrant chart updated; note movers vs last month
The tooling reality
Everything above is arithmetic — the hard part is that the inputs live in three systems: revenue in invoicing, hours in a time tracker, clients in a CRM. Joining them monthly by spreadsheet is why most agencies do this analysis once, in a panic, and never again.
The durable fix is structural: one system where the client record carries deals, projects, tracked hours (billable and not), and invoices — so "margin per client" is a report you open, not a project you dread. That's the core of how Corcava approaches agency management, and the broader operating system around it — pricing, utilization, leakage — is laid out in The Complete Guide to Agency Profitability. For a single engagement's version of this math, the project profitability calculator gives you the answer in about two minutes.
Find your Client D this month — start a free 14-day Corcava trial, no credit card required: track one month of client-assigned hours and let the client P&L report do the ranking for you. Then go deeper with The Complete Guide to Agency Profitability.