Every service business has customers it would not sign today. They stay because revenue feels like proof and losing an account feels like going backwards. Here is how to find them in your own records, and why the answer is usually to fix the arrangement rather than to fire the person.
In this article
- Not all revenue is worth having
- What a bad customer actually costs
- Finding them in your own records
- A book in numbers
- Fix before you fire
- The price increase that sorts for you
- How to release a customer well
- Not signing them in the first place
- Five mistakes
- The five numbers
- Frequently asked questions
Not all revenue is worth having
Every service business has customers it would not sign today. The account that calls at 9pm, disputes every third invoice, lives forty minutes outside the route, and negotiated a rate three years ago that has never moved.
They stay because revenue feels like proof. Losing an account feels like going backwards, and in a slow month it feels dangerous. So the account survives, quietly consuming margin that nobody has ever measured.
The point of this article is not to be ruthless. It is that the capacity spent on an unprofitable customer is capacity not spent on a profitable one — and in a business where the constraint is hours rather than demand, that trade is the whole game.
A customer is worth keeping when the revenue exceeds the fully loaded cost of serving them, including drive time, callbacks, office time and the hours you personally spend on their problems. Almost nobody computes that, which is why almost every service company is subsidizing somewhere between 5% and 15% of its book.
What a bad customer actually costs
The invoice is visible. The cost is not, and it hides in five places.
Drive time. An account twenty-five minutes outside the cluster costs 50 minutes of round trip. At a loaded cost near $115 an hour, that is $96 per visit before anyone works. Twelve visits a year is $1,150 of pure travel.
Callbacks and rework. Some customers are never satisfied. A single return visit costs a full billable slot plus the drive, and the slot is the expensive part because it displaces work you could have sold.
Office time. The account that requires four emails to schedule, three reminders to pay and one argument per invoice consumes 40 to 90 minutes of administrative time a month that appears on no job report.
Slow payment. Money owed for 60 days is money financed at your expense, and it is the account most likely to eventually be written off.
Your own hours. The most expensive labor in the company, spent on the customer who insists on speaking to the owner. Six hours a month of that is $690 at any reasonable valuation of your time.
Add them and a nominally $4,200-a-year account can carry $3,600 of cost, which is not a customer. It is a hobby.
Keep reading — free
The rest of this article is worth the 20 seconds
Tell us where to send it and the full piece unlocks right here, along with everything else on this blog.
Rather just talk? Message us on WhatsApp.
Finding them in your own records
You do not need software. You need a spreadsheet and an afternoon.
List every account with six columns: annual revenue, visits per year, average drive time, callbacks in the last twelve months, average days to pay, and an honest note on how much office and owner time they consume.
Then compute a single figure per account: revenue minus (visit hours + drive hours) × loaded hourly cost, minus materials, minus an office-time allowance. Sort ascending.
What comes back is consistent across almost every service company that does this for the first time. Roughly 10% of accounts are unprofitable outright, another 15% to 20% sit near break-even, and a small group at the top — often 20% of accounts — produces most of the profit. The unprofitable group is almost never the one the owner expected, because the loudest customer is not always the costliest, and the quiet account forty minutes away usually is.
Two warnings about reading the sorted list. First, a low-revenue account is not automatically a bad one — a small job on a street you already serve, paid on the day, with no callbacks, can carry a better contribution per hour than a large account that consumes an afternoon of travel. Sort by contribution per hour, not by revenue. Second, a first-year account will look worse than it is, because acquisition cost lands entirely in year one; judge it on the second year.
A book in numbers
A residential service company, 218 accounts, $612,000 of annual revenue:
• Top 44 accounts (20%): revenue $241,000 · contribution after full cost $118,000
• Middle 152 accounts: revenue $338,000 · contribution $96,000
• Bottom 22 accounts (10%): revenue $33,000 · contribution −$19,000
The bottom 22 accounts consumed 410 hours of crew time, 38 hours of office time and about 22 hours of the owner's. They generated $33,000 of revenue and lost $19,000.
Released, repriced, or fixed, those 410 hours become available. At the company's average contribution per hour on its middle tier, they are worth roughly $47,000 — a swing of $66,000 from a decision that requires no marketing, no hiring and no new customers.
What actually happened: 9 accepted a price increase and became profitable, 6 were fixed by changing the service scope or the schedule, and 7 were released. The book shrank by 3% and the profit rose by 11%.
Fix before you fire
Most unprofitable accounts are not bad customers. They are badly structured arrangements, and the structure is usually your own doing.
Reprice. The most common cause is a rate set years ago that never moved. A customer paying 2022 prices in 2026 is not exploiting you; nobody ever asked them to pay more.
Rescope. The account that takes ninety minutes because the scope has silently grown. Write down what is actually included, price the rest, and present it as clarity rather than a complaint.
Reschedule. Move the distant account to the day you are already in that area. A twenty-five minute detour becomes a five minute one, and the account becomes profitable without a single difficult conversation.
Reset the terms. Card on file, payment on completion, a defined contact person, service requests through one channel. Most administrative drag is a process problem wearing a personality.
Address the behavior directly, once. "I want to keep serving you and I need to be straight about something" is a conversation that works more often than owners expect, because most difficult customers have no idea they are difficult.
There is a cost that never appears in the spreadsheet and matters anyway. A crew sent repeatedly to an account that treats them badly is a crew that becomes harder to keep, and turnover in the trades runs $6,000 to $14,000 per replacement. When the numbers are close, the tiebreaker is whether your best technician dreads the address.
The price increase that sorts for you
The cleanest way to handle a marginal book is not to fire anybody. It is to raise prices and let the accounts choose.
An across-the-board increase does the sorting on its own, because the customers who leave over a single-digit percentage are almost exactly the ones at the bottom of your profitability list — price-shoppers who arrived on a discount, slow payers, and accounts furthest from the route. The customers who stay are the ones who came by referral and have never mentioned a competitor's price.
For the worst accounts specifically, price to the real cost of serving them rather than to the market. An account requiring a 50-minute round trip should carry a distance premium. One that generates three callbacks a year should be priced for four. If they accept, they are profitable. If they decline, they have released themselves and nobody had to have the conversation.
This is the version of firing a customer that does not feel like firing anyone, and it is why the annual increase is a portfolio tool rather than just a revenue one.
How to release a customer well
Sometimes the arrangement cannot be fixed. Do it cleanly, because this person will talk about you.
Give notice and a reason that is true but not a grievance. "We've restructured our service area and your address falls outside it" or "we're no longer able to offer this service at a price that works for us." No list of complaints. Nothing to argue with.
Give them somewhere to go. Two names of companies that genuinely serve their area or their need. It costs nothing and it converts a potential bad review into a neutral ending.
Finish everything you owe them. Complete outstanding work, honor the warranty, return anything of theirs. Never leave a job half-done to make a point.
Do it in writing, kindly, once. A short letter or email. Do not negotiate afterwards — a decision reversed under pressure teaches every difficult customer exactly how to handle you.
Never do it in a slow month. Release accounts when you are busy, both because you can afford it and because the decision will be made on numbers rather than on nerves.
One caution: apply the increase to the whole book rather than singling people out. A rate that moves for one customer and not for others is a story that travels, and the sorting effect only works when the increase reads as policy rather than as a targeted message about somebody in particular.
Not signing them in the first place
Every account on the bottom of that list was accepted by somebody, usually in a month when work felt scarce.
Three filters prevent most of it. A service area you actually enforce, with a distance premium for anything outside it, applied at the quote rather than negotiated after. A minimum job size, stated as policy, below which the trip cannot pay for itself. And terms agreed before the work — deposit, payment method, scope, what is excluded — because nearly every collections problem and scope dispute is a conversation that never happened at the start.
There is also a judgment call worth trusting. A prospect who negotiates hard before you have done anything, disparages their previous provider, or wants the terms changed before signing is showing you the relationship in advance. It rarely improves.
Five mistakes
1. Treating all revenue as equal. Revenue is not profit, and the accounts that feel biggest are frequently not the ones earning.
2. Never counting drive time against the account. The largest hidden cost, and the one that never appears on an invoice.
3. Firing before fixing. Most bad accounts are badly structured arrangements you created and can repair with a price, a scope or a schedule change.
4. Releasing customers in a slow month. The decision gets made on fear instead of arithmetic, and it is usually the wrong one in both directions.
5. Ending it badly. A customer released without notice, a referral or finished work becomes the review that costs you ten prospects.
The five numbers
Contribution per account per year — revenue minus fully loaded cost of service. The only number that says who is worth keeping.
Contribution per hour by account. Better than per account, because hours are the real constraint.
Callback rate by customer, not just by technician. Some accounts generate rework regardless of who serves them.
Average days to pay, by account. Slow payers are usually unprofitable for other reasons too.
Percentage of the book below break-even. Above 10%, the intake filters are not working, and the problem is at the front door.
Releasing accounts only works if the pipeline replaces them
The hours you free up are worth what you can fill them with. Send us your job mix and your lead volume and we will show you what it takes to keep the calendar full with the accounts you actually want.
Frequently asked questions
How do you tell which customers are unprofitable?
A spreadsheet and an afternoon. List every account with annual revenue, visits per year, average drive time, callbacks in the last twelve months, average days to pay, and an honest note on office and owner time consumed. Then compute revenue minus visit hours and drive hours times your loaded hourly cost, minus materials and an office-time allowance, and sort ascending — by contribution per hour rather than by revenue, because hours are the real constraint. Most service companies doing this for the first time find roughly 10% of accounts unprofitable outright, another 15% to 20% near break-even, and about 20% producing most of the profit. The unprofitable group is rarely the one the owner expected: the loudest customer is not always the costliest, and the quiet account forty minutes away usually is.
Should you fire an unprofitable customer or fix the arrangement?
Fix first, because most unprofitable accounts are badly structured arrangements you created rather than bad people. Reprice, since the most common cause is a rate set years ago that nobody ever revisited. Rescope, when the work has silently grown beyond what was quoted. Reschedule the distant account onto the day you are already in that area, which turns a twenty-five minute detour into a five minute one. Reset the terms with a card on file, a defined contact and one service channel. And address behavior directly once, because most difficult customers have no idea they are difficult. In one book of 218 accounts, of the 22 losing money, nine accepted an increase, six were fixed by scope or schedule, and only seven were released.
How do you release a customer without damage?
Give notice with a reason that is true but not a grievance — "we've restructured our service area and your address falls outside it" — rather than a list of complaints, which only invites argument. Give them two names of companies that genuinely serve their area or their need, which costs nothing and turns a potential bad review into a neutral ending. Finish everything you owe them: complete outstanding work, honor the warranty, return their property, and never leave a job half-done to make a point. Put it in writing, kindly, once, and do not negotiate afterwards. And never do it in a slow month — release accounts when you are busy, so the decision is made on arithmetic rather than nerves.