When to reprice, rescope or drop a client: reading contribution per hour
A client that pays well can still be a poor use of your team's hours. Contribution per delivery hour, set against a target of your own, shows which clients to reprice, which to rescope and which to replace. It also gives you the numbers for the conversation.
This guide explains the measure and how to set a target for it. Then it covers the three options, a fictional worked example, how to raise it with a client, and what one bad month can't tell you. The title says drop. Here the third option is called replace, for a reason explained below.
Contribution before overhead, per hour
Contribution before overhead is what a client's work leaves after the cost of delivering it, before rent, software and other shared costs. Divide it by the hours your team spent and you have contribution per delivery hour.
Net fees = fees billed − credits and refunds
Delivery cost = external delivery costs
+ delivery hours × internal hourly cost
Contribution before overhead = net fees − delivery cost
Contribution per hour = contribution before overhead ÷ delivery hours
The internal hourly cost is what an hour of your team's time costs you, not what you charge for it. If you don't have one yet, see how to set an internal hourly cost rate. The full method, with a worked month, is in client profitability: contribution before overhead.
Margin tells you how much of each fee dollar is left. Per hour tells you what each hour of your team's time produced. When hours are what limits you, per hour is the better guide to where they should go. A large retainer can show a healthy dollar contribution and still pay poorly for the time it takes.
Set a target per hour
A per-hour figure means little until you compare it with something. Build the target from your own numbers:
Target per hour = (monthly overhead + monthly profit you want after it)
÷ expected monthly delivery hours
- Overhead is what the business costs to run outside delivery: rent, software, insurance, accounting, marketing and admin. If your hourly cost already spreads full salaries across delivery hours, leave salaries out of overhead, or you'll count them twice.
- Profit you want after overhead is a management goal, before tax. Only you can set it.
- Expected delivery hours are the hours your team realistically delivers in a month, not the hours you'd like it to. Overstate them and the target comes out too low.
The target splits clients into three zones:
- Below zero. The work costs more to deliver than it pays.
- Between zero and target. It covers its own delivery cost and some overhead, but less than its share.
- At or above target. It carries its share, and often part of someone else's.
Read each client over three months. Add up the three months of contribution and hours, then divide. Don't average three monthly per-hour figures: a light month would count as much as a heavy one.
Reprice, rescope or replace: when each fits
The per-hour figure tells you something is wrong. The pattern of hours tells you which option fits.
Reprice
Reprice when the hours are steady, the work is inside the agreed scope, and the client values it. Nothing is going wrong in delivery. The fee is too low for the work.
The monthly fee that reaches your target:
Fee at target = external costs
+ hours × (internal hourly cost + target per hour)
Rescope
Rescope when the hours have grown past what the fee was priced for: extra revision rounds, meetings that got longer, small requests outside the agreed work. Bring the work back to what the fee covers, or move the extras to change requests. How to tell when a retainer is underwater shows how to spot this during the month, not after it.
A quick test is the number of hours the current fee can carry at your target:
Hours at target = (fee − external costs)
÷ (internal hourly cost + target per hour)
If the hours above that line are mostly out of scope, rescope. If they're in-scope work the client wants, reprice.
Replace
Replace when two things are true. The figure has stayed well below target, or below zero, for three months or more. And the client has said no to both a new fee and a smaller scope. Plan the exit with the notice your agreement requires, at a renewal if you can.
Replace means replace. Your team's salaries don't stop when a client does. If the freed hours would sit idle, the client's fees were still paying part of costs you carry anyway. Dropping a client pays off when the hours have somewhere better to go: work that is waiting, or a team so stretched that other clients are kept waiting.
A worked example (fictional)
Fictional example. Copperline Studio is not a real business. The clients and figures below are illustrative and are not a customer result.
Copperline is a three-person web and brand studio that bills in US dollars. It uses one internal hourly cost of US$60, which already covers salaries. Overhead without salaries is US$5,750 a month. The owner wants US$3,000 a month left after overhead, and the team expects about 250 delivery hours a month. So the target is (US$5,750 + US$3,000) ÷ 250 = US$35 per delivery hour.
Here are July to September, pooled:
| Client (fictional) | Net fees | External costs | Delivery hours | Labor cost at US$60 | Contribution | Per hour |
|---|---|---|---|---|---|---|
| Halloway Dental | US$21,000 | US$900 | 150 | US$9,000 | US$11,100 | US$74.00 |
| Fenmoor Outdoor | US$19,500 | US$600 | 225 | US$13,500 | US$5,400 | US$24.00 |
| Kilnworth Legal | US$15,000 | US$0 | 186 | US$11,160 | US$3,840 | US$20.65 |
| Brackenfield Foods | US$12,000 | US$1,500 | 195 | US$11,700 | −US$1,200 | −US$6.15 |
| Total | US$67,500 | US$3,000 | 756 | US$45,360 | US$19,140 | US$25.32 |
Across the studio, that's US$25.32 per delivery hour against a US$35 target, or about US$6,380 of contribution a month against the US$8,750 it needs. Each client calls for a different move.
Halloway Dental: keep. US$74.00 an hour, more than twice the target.
Fenmoor Outdoor: reprice. It takes a steady 75 hours a month, all in scope, and the client values the work. At the current US$6,500 fee, about 66 hours would reach the target, so this is a price problem. The fee at target is US$200 + 75 × (US$60 + US$35) = US$7,325 a month. Copperline proposes US$7,400 from January, US$900 more, an increase of about 14%. At that fee, Fenmoor would contribute US$36.00 an hour.
Kilnworth Legal: rescope. The US$5,000 retainer was priced for 40 hours a month. It has averaged 62, mostly from a third review round and a weekly call that doubled in length. At US$5,000, about 53 hours would reach the target, and the extra hours are out of scope, so this is a scope problem. Back at 40 hours, it would contribute US$2,600 a month, or US$65.00 an hour.
Brackenfield Foods: replace, unless something changes. It has been below zero for the whole quarter. Reaching target would take a fee of US$6,675 a month, 67% more than the US$4,000 it pays. The alternative is cutting the work from 65 hours a month to about 37. Copperline offers both. If the client accepts neither, it gives notice at the end of the current term.
Before it does, Copperline checks its cash. Brackenfield pays US$4,000 a month, and US$500 of that goes on external costs, so it covers US$3,500 a month of salaries the studio pays either way. Its contribution is −US$400 a month, but leaving without new work would lower cash by US$3,500 a month. The exit pays off once the 65 hours are refilled: at target, they'd contribute about US$2,275 a month. To see how long your cash would last through a gap like that, run the 20-minute cash runway check.
How to raise it with numbers
Show hours and fees, not your costs. The client can check the hours delivered, what the fee was set up to cover, and how the work has changed. Keep your internal cost rate and contribution to yourself. They're management figures, and sharing them turns a talk about the work into a debate about your costs.
Lead with what changed. "The work has grown from 40 to 62 hours a month" is a fact the client can see in your reports. "We're not making enough on this account" asks the client to solve your problem.
Offer two options. A new fee for the same scope, or the same fee for a smaller scope. Both are fair, and the client chooses.
Give notice. Check your agreement for notice periods and price-review dates, and raise the change early enough to meet them. Confirm what you agreed in writing after the call.
For Kilnworth, the note might read:
Over the last three months, your retainer has averaged 62 hours a month against the 40 it was set up for. Most of the extra came from the third review round and the longer weekly call. From January, we can go back to two review rounds and a 30-minute weekly call at the current US$5,000 a month. Or we can keep the current pattern at US$5,900 a month. Which would you prefer?
The US$5,900 is the current pattern at target: 62 × (US$60 + US$35) = US$5,890, rounded up. For Fenmoor, the second option would be the same fee for about 66 hours a month instead of 75.
If a client says no to both options, keep the exit plain: give the notice your agreement requires, name the last month, and offer a clean handoff.
What one bad month can't tell you
A single month's figure moves for reasons that say nothing about the client:
- Invoice timing. A project billed at milestones looks negative in months with hours and no invoice. Read project clients over the life of the project.
- Launches and onboarding. Heavy months are normal at the start of work and around launches.
- Hours logged to the wrong client. Check the timesheet before anything else.
- Short months. Holidays cut hours and can make a month look better than it was.
- One-offs. A credit note, a rush job, a single round of rework.
Halloway shows why. Its July alone came in at US$27.14 an hour, below target, because a site launch took 70 hours and US$900 of stock images and fonts. August and September were US$115.00 an hour each. Pooled, the quarter is US$74.00. A decision made in July would have been wrong. Averaging the three monthly figures instead would give US$85.71, which overstates it. Pool, don't average.
So from one bad month, don't conclude that a client isn't worth keeping, that its fee is wrong, or that your target is. Conclude only that it deserves a second look next month. Three months in a row is a pattern. One month is a question.
Where the tracker fits
The Client Profitability Tracker calculates contribution before overhead, margin and contribution per delivery hour for each client, by month, in the report currency you choose. Rows with missing or inconsistent inputs are marked Review and left out of the totals until you fix them. The workbook doesn't hold a target, so write yours down once and compare each client with it. For the three-month view, add up each client's contribution and hours across the three months and divide.
It costs US$49, one-time, for Excel 365 desktop, and the Google Sheets edition is included free for buyers when it ships. There is a 30-day money-back guarantee. If you'd rather start smaller, a free single-currency lite edition is planned; the lite edition page shows whether it's available yet.
Common questions
What is a good contribution per delivery hour for an agency client?
There is no universal figure. Set your own target: monthly overhead plus the profit you want after it, divided by the delivery hours your team expects to work in a month. Compare each client with that target over three months, not one.
When should an agency drop a client?
When three things are true. Its contribution per delivery hour has stayed well below your target, or below zero, for three months or more. The client has said no to both a new fee and a smaller scope. And you have better work for the hours. Salaries continue after a client leaves, so dropping one without replacing the work lowers your cash.
What numbers should I show a client when I raise a fee?
Show what the client can check: the hours delivered, what the fee was set up to cover and how the work has changed. Keep your internal cost rate and contribution for your own decisions.