How to Know if a Fixed-Fee Client Is Profitable (2026)

How to Know if a Fixed-Fee Client Is Profitable (2026)

macgill davis · October 5, 2026 · 2 min read

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.

Macgill Davis
Macgill DavisCo-Founder & CEO

Macgill is the co-founder and CEO of Rize, an automatic time tracking app for agencies and professional services teams. He writes about productivity, time management, and building better work habits.

Frequently Asked Questions

Compute the client's effective margin: (fixed fee − actual hours × loaded cost rate) ÷ fixed fee. If the engagement was scoped for 20 hours and took 35, the client consumed 75% more cost than priced — unprofitable regardless of how large the fee feels. The catch: this only works with real hours, not remembered ones.

Effective hourly rate is the fixed fee divided by actual hours worked. A $5,000 engagement that took 40 hours earned $125/hour effective. Compare it to your target bill rate — clients consistently below target are the ones to re-scope, re-price, or refer out.

Three things: actual hours per client (not estimates), each person's loaded cost rate (salary + benefits + overhead ÷ available hours), and the fee per engagement. Most firms have the fee and can compute the rates — the missing piece is almost always accurate hours.

Monthly at minimum, and at each engagement milestone for longer projects. Waiting until year-end means unprofitable clients consume margin for months before anyone notices. Weekly burn views catch runaway engagements early enough to re-scope mid-flight.

The three usual causes: scope drift (work added without fee changes), senior staff doing junior-priced work (partner cleanup on associate deliverables), and unlogged time (small requests that never hit a timesheet but accumulate). All three show up as effective-rate erosion.

Not reliably with manual timesheets — the unlogged hours are precisely the ones that make clients unprofitable. Automatic time capture (Rize records work sessions in the background and categorizes them to clients) gives complete hours without asking anyone to run a timer.

Three options, in order of preference: re-scope the deliverables to what the fee covers, re-price at renewal using the actual cost data, or wind the relationship down at the next natural break. Bring the hours data to the conversation — "here is where the time went" beats "we need to charge more."

Related Posts