Customer Profitability Analysis for a Service Business
Customer profitability analysis means totalling every job you did for a client over a period, subtracting the real labor, material, and subcontractor cost of those jobs, and ranking clients by the dollars left over. Your biggest customer by revenue is often not your most profitable one, and a small share of accounts usually earns most of your profit. CRMb makes this a report rather than a spreadsheet project: every job carries its real labor cost from punched crew hours and its average-cost materials, and every job is tied to a client, so profit rolls up per customer automatically.
Most owners can name their biggest customer instantly. Almost none can name their most profitable one. Those are different questions, and the gap between them is where a service business quietly bleeds. The account that sends the most invoices is often the one that demands the most revisits, the tightest pricing, and the slowest payment.
Revenue tells you who is loud, profit tells you who is good
Ranking clients by revenue answers "who writes the biggest checks." Ranking by profit answers "who is worth the work." A customer at $180,000 a year on 8% margin contributes $14,400. A customer at $60,000 a year on 34% margin contributes $20,400. The smaller one is the better business, and the revenue list gets it backwards.
The pattern repeats across the trades. The accounts that erode profit share recognizable habits:
- Constant scope creep. Small unbilled additions on every job, none big enough to fight over.
- Revisits and callbacks. Work that gets done twice while you bill it once.
- Price pressure. A client who negotiated hard once and set the ceiling for every job since.
- Travel and fragmentation. Many small jobs spread across town, each carrying drive time you absorb.
- Slow payment. Revenue you financed for 75 days, which is a real cost even when margin looks fine.
None of these show up on a revenue report. All of them show up on a profit-per-client report.
What you need before you can measure it
Customer profitability is only as honest as the job costs underneath it. Three inputs have to be real, not estimated:
- Labor at actual hours. Not the hours you quoted, the hours the crew was on site. This is the input most often wrong, and it is almost always wrong in the same direction.
- Materials at real cost. What the stock actually cost when it was consumed, including the last price increase, not the price from the quote you copied.
- Subcontractor and equipment cost. Anything you paid out that belongs to that job.
If those three are accurate at the job level, client profitability is just addition. If they are not, you are ranking your customers by guesswork. Our job costing guide covers getting the job-level numbers right; this article assumes you have them.
How to run the analysis in five steps
1. Pick a window
Use twelve months if you have it. A quarter is enough to spot the extremes but too short for seasonal work, and a snow removal or landscaping client will look very different depending on which quarter you grab.
2. Total revenue per client
Every invoice issued to that client in the window, excluding anything you never collected. Uncollected revenue is not revenue.
3. Total direct cost per client
Add up the labor, material, subcontractor, and equipment cost of every job for that client. Labor should come from actual punched hours at each person's real cost, including labor burden, not a rounded shop rate.
4. Compute profit and margin, and look at both
Gross profit is revenue minus direct cost. Margin is that profit divided by revenue. You need both numbers: margin tells you how efficiently you serve the client, dollars tell you how much they matter. A 60% margin on $4,000 is a nice ratio and an irrelevant contribution.
| Client | Revenue | Direct cost | Gross profit | Margin |
|---|---|---|---|---|
| Northgate Property Mgmt | $180,000 | $165,600 | $14,400 | 8% |
| Hollis Residential | $60,000 | $39,600 | $20,400 | 34% |
| Cedar Ridge HOA | $44,000 | $30,800 | $13,200 | 30% |
| Vance Builders | $22,000 | $20,900 | $1,100 | 5% |
5. Sort by profit dollars and read the shape
Almost every service business finds the same curve: a handful of clients produce most of the profit, a long middle contributes modestly, and a short tail at the bottom is at or below break-even. The tail is the finding. It is also usually the group consuming the most scheduling attention.
Add the costs that hide outside the job
Direct cost is where to start, but three client-specific costs sit outside the job record and change the ranking:
- Payment lag. Track days sales outstanding per client. An account at 75 days is financing itself with your cash.
- Estimating cost you never billed. A client who requests ten quotes and awards two is buying your estimating time for free. Compare quotes sent to jobs won per client.
- Admin drag. The account that generates a dozen calls and three invoice disputes per job costs real hours that never land on a timesheet.
You do not need to allocate these to the penny. Rank the bottom accounts on each factor and see which names keep appearing.
What to do with an unprofitable client
Finding a money-losing account is not an instruction to drop it. Work the options in order:
- Reprice. The most common cause is old pricing. Quote the next job at your real rate and let the client decide. Our guide on raising prices without losing customers covers the conversation.
- Change how you serve them. Batch their small jobs into one visit, tighten the scope of work so additions get billed, or require a deposit.
- Fix the estimate. If every job for this client runs over, the problem may be your estimating on their type of work, not the client.
- Bill the change orders. Unbilled extras are the single most common reason a decent client shows a bad margin.
- Let them go last. Release the account only after repricing failed, and only if you have the backlog to replace it. Do it cleanly, finish committed work, and leave the door open.
The goal is not a shorter client list. It is a client list where you know what each name is worth before you say yes to the next job.
Make it a standing number, not a one-time project
A profitability analysis done once is a curiosity. Done quarterly, it changes who you chase. Review the ranking each quarter, watch which clients are moving up or down, and check it before you take on a large commitment for an existing account.
This is only sustainable if the numbers assemble themselves. In CRMb, crew hours punched in Punch land on the job as real labor cost, materials come off inventory at average cost, and every job belongs to a client record, so Reports show margin on actual punched hours rather than estimates. Profit by client becomes something you read, not something you rebuild in a spreadsheet each quarter.
Frequently Asked Questions
How do I calculate customer profitability?
Total the revenue you collected from a client over a period, subtract the direct cost of every job you did for them, labor at actual hours with burden, materials at real cost, plus subcontractors and equipment, and the remainder is that client's gross profit. Divide by revenue to get margin. Review both: margin shows efficiency, dollars show how much the account actually contributes.
Why is my biggest customer not my most profitable?
Large accounts usually negotiate the lowest prices, request the most scope changes, and pay the slowest, all of which compress margin. Volume also hides waste: a client that generates enough work to keep everyone busy rarely gets audited job by job. Ranking by profit dollars instead of revenue is what surfaces it.
What is a good customer profit margin for a service business?
It varies by trade, but most service businesses target 30% to 50% gross margin per job, with overhead and net profit coming out of that. Compare clients against your own average rather than a benchmark: any account meaningfully below your portfolio margin deserves a look, and anything near zero needs repricing or a change in how you serve it.
Should I fire an unprofitable customer?
Only after trying to fix the account. Reprice the next job, tighten the scope, bill the change orders you have been absorbing, and batch small visits. Most unprofitable clients become acceptable ones on corrected pricing. Release an account only when repricing has failed and you have enough backlog to replace the revenue.
How often should I review client profitability?
Quarterly is the right cadence for most service businesses, with a twelve-month trailing window so seasonality does not distort the ranking. Also check an individual client's numbers before committing to a large job or renewing a maintenance agreement with them.
Getting started with CRMb
Start with your top ten clients by revenue and compute profit for each. If the two lists disagree, and they usually do, you have found the work that pays and the work that only looks like it does.
CRMb keeps the numbers ready: jobs carry real labor cost from punched crew hours, materials cost out at average cost, and every job rolls up to a client, so margin by customer is a report instead of a spreadsheet. It runs on Mac, iPad, and the web. Start your 14-day free trial and find out who your best customers really are.