A fixed-fee client is profitable when the hours it actually takes, priced at your team's real cost, leave margin under the fee. The test takes fifteen minutes once you have the data — the problem is that most agencies and firms don't. This is the formula, the inputs, and what to do when a client fails the test.
The Test
Client margin = (fixed fee − actual hours × loaded cost rate) ÷ fixed fee. The equally useful shorthand: effective hourly rate = fee ÷ actual hours, compared against your target bill rate.
A $6,000/month retainer client consuming 60 hours of a team whose loaded cost runs $95/hour costs $5,700 to serve — 5% margin. The same fee at 40 hours is $2,200 margin. The difference between those two clients is invisible until hours are counted honestly.
The Three Inputs
1. Actual hours. Not scheduled, not estimated — delivered. This is where most attempts die: manual timesheets miss 15-40% of real work, and the missed hours cluster exactly where profitability leaks (unscoped favors, extra revisions, senior cleanup). Automatic capture tools like Rize record every work session in the background and categorize it to the client, closing the gap at the source.
2. Loaded cost rates. Per person: (salary + benefits + employer taxes + overhead allocation) ÷ annual available hours. A partner at $180/hr loaded doing associate work changes the math materially — which is why margin must be computed in dollars, not just hours.
3. The fee. What the client actually pays per period, not the rate card number.
Run It Client by Client
A ranked list beats an average. Compute margin per client per month and sort ascending — the bottom of the list is where scope drift, senior-time leakage, and unlogged work concentrate. Three patterns predict the losers:
Scope drift. The fee covers the original deliverables; the relationship grew. Extra reporting, extra calls, "while you're in there" requests — all real cost, none of it priced.
Senior-time leakage. Quoted at associate rates, delivered with partner review nobody scheduled. The hours look similar; the cost doesn't.
The demanding client discount. Clients who escalate get more hours at the same fee. Nobody decided to give them that discount — the account manager just kept saying yes.
When a Client Fails
Unprofitable is a fact, not a verdict. The three resolutions:
Re-scope. Show where the hours went and agree what the fee covers. Most clients accept boundaries when the evidence is on the table — and frequently pay for the extras once they're visible.
Re-price. At the next renewal, use actual cost data to set the fee. "We quoted 12 hours; it's been taking 24" is a pricing conversation clients can engage with.
Exit. Some relationships never clear margin. A clean exit at a natural break beats another year of subsidized delivery.
The firms that do this well make it a rhythm: automatic capture feeds monthly client-margin reports, quarterly pricing reviews use real cost instead of gut feel, and the "we eat it" surprises stop arriving at renewal. See how Rize tracks client profitability, or run the numbers in the profitability calculator.
