How to Tell Which Customers Are Worth Keeping
Why this matters
Every shop with more than a couple of years of history is quietly carrying two lists inside one list: the customers whose next call you should be actively protecting, and the customers whose next call will cost you more attention than it returns. Nobody separates them, so retention effort gets spread evenly, which means the accounts that would have stayed anyway get the same postcard as the accounts that will never be profitable, and the handful of customers who actually feed the business get nothing special at all. The work below is a half-day exercise you run once a year off invoice history and a calendar. It ends with every name on your list in one of four buckets and a different plan for each.
Step 1: Define "worth keeping" as future contribution, not past revenue
The instinct is to sort by total billed and call the top of the list your best customers. That sort is wrong often enough to be dangerous, because total billed is a record of what already happened and says nothing about what the relationship will produce next. A customer who spent heavily once, five years ago, on a replacement that will not need repeating for another decade is not a retention target. A customer who spends modestly but predictably every single year, and who has sent you two neighbours, is.
Worth keeping means: over the next three to five years, this relationship will produce more billable hours than it consumes in unbillable ones, and it is at some real risk of ending if you ignore it. Both halves matter. A customer you cannot lose does not need a retention budget either.
If you skip this step and sort by revenue, you will build a loyalty program for the accounts most likely to churn on price and hand nothing to the accounts that are propagating your business for free.
Step 2: Pull the small set of fields your history can actually prove
You do not need a customer relationship management system to do this. You need the invoice history and the job history, and from them, per customer, exactly these:
- First job date and most recent job date. These two give you tenure and recency.
- Job count, split into scheduled work and reactive work. Scheduled means a visit that existed on the calendar before anything broke. Reactive means the phone rang because something failed.
- Billable hours per visit, or your best average if you do not track per-visit hours.
- Days from invoice to payment, averaged.
- Counts of the friction events: reschedules they initiated, discounts requested or granted, callbacks, after-hours calls, and estimates you wrote that went nowhere.
- Propagation: referrals you can trace to them, and reviews they left.
Everything on that list is already sitting in your records. Nothing on it requires you to have been running a formal program. If your records cannot produce the friction counts, do this year's audit without them and start stamping a one-word disposition code on every job as you close it, so next year's audit has them.
Step 3: Score four things, zero to three each
Four factors, twelve points total. Score fast and do not agonize over a boundary case; the buckets are wide enough to absorb a one-point error.
| Factor | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Rhythm (does the relationship have an interval) | Purely reactive, no pattern | One scheduled visit ever | Scheduled most years, some gaps | Scheduled every cycle without you chasing |
| Realization (share of shop hours that end up billable) | Under 55% | 55 to 70% | 70 to 85% | Over 85% |
| Friction (payment and negotiation) | Pays past terms and negotiates most invoices | One of the two | Occasional | Pays inside terms, accepts the price |
| Propagation (does the relationship grow) | Nothing, ever | Left a review | One traceable referral | Multiple referrals or adopted a second service |
Realization is the factor most shops have never measured, and it is the one that changes minds. It is the ratio of billable hours to total shop hours the account consumed, where total includes booking, rescheduling, invoice chasing, discount conversations, and any callback you ate. A customer can be in your top five by revenue and sit under 60% realization, meaning four hours out of every ten they occupy produce nothing.
Step 4: Work a real pair all the way through
Take two six-year records off the list. All values below are illustrative but the shapes are common.
Customer A, the quiet annual. Eight visits in six years: six scheduled seasonal maintenance calls and two repairs. Average 1.5 billable hours per visit, so 12 billable hours total. Office time to book and invoice runs about 0.3 hours per visit, which is 2.4 hours. One callback in the eight visits, your fault, 1.5 unbilled hours. Pays in about 6 days against net 15 terms. Never asked for a discount. Referred two neighbours, both still on the books.
Total shop attention: 12 billable plus 3.9 unbilled equals 15.9 hours. Realization is 12 of 15.9, about 75%.
Customer B, the big number. Nineteen visits in six years, every one of them reactive. Same 1.5 billable hours per visit, so 28.5 billable hours. Office time at 0.3 hours per visit is 5.7 hours. Six reschedules they initiated, about 0.75 hours each in phone time and a wasted slot, so 4.5 hours. Discount conversations on 9 of the 19 invoices, about 47% of them, at roughly 0.25 hours each, so 2.25 hours. Average 38 days to pay against net 15, which is about 2.5 times your term, and twelve of those invoices needed reminder calls at about 0.4 hours each, so 4.8 hours. Four callbacks in 19 visits, about 21%, at 1.5 unbilled hours each, so 6 hours.
Total unbilled: 5.7 plus 4.5 plus 2.25 plus 4.8 plus 6 equals 23.25 hours. Total shop attention: 28.5 billable plus 23.25 unbilled equals 51.75 hours. Realization is 28.5 of 51.75, about 55%.
Now read the two side by side. B produced 28.5 billable hours against A's 12, so B is about 2.4 times A's billable volume. But B consumed 51.75 hours of shop capacity against A's 15.9, which is about 3.3 times A's capacity load. B is buying 2.4 times the billing with 3.3 times the capacity. In a shop where capacity is the binding constraint, and in almost every two-truck shop it is, that trade is a loss even though B sits far higher on a revenue sort.
Then add propagation. A's two referrals, if they behave like A, are worth about 12 billable hours each over six years. A's traceable contribution becomes 12 plus 24, which is 36 billable hours, about 26% more billable hours than B produced in the same six years, on roughly a third of the capacity.
Scoring them: A takes 3 for rhythm, 2 for realization at 75%, 3 for friction, 3 for propagation, total 11. B takes 0 for rhythm, 0 for realization at 55%, 0 for friction, 0 for propagation, total 0.
Step 5: Convert the score into one of four dispositions
| Score | Disposition | What you actually do |
|---|---|---|
| 10 to 12 | Anchor | Named owner in the shop. Personal contact at least twice a year. First slot in a backlog. Never their first notice of a price change. |
| 7 to 9 | Grow | Standing interval offered explicitly. One deliberate conversation a year about the service they are not using yet. |
| 4 to 6 | Serve as booked | Normal service, normal cadence, no retention spend. Re-score next year. |
| 0 to 3 | Repair or release | One structured conversation about terms and behaviour. If nothing changes inside two visits, stop pursuing the account. |
Repair before release, always. Customer B is not a bad person; B is an account you never set terms with. A single conversation that moves them onto card-on-file, a scheduled annual visit, and a stated after-hours rate can move a 0 to a 6. Firing them without trying that is throwing away 28.5 hours of demonstrated demand.
Step 6: Know which readings the score gets wrong
A short record is not a low score, it is no score. Any customer with fewer than three visits or less than eighteen months of tenure has not generated enough history to rate. Park them in a "too early" bucket and re-run them next year. Scoring a two-visit record produces confident nonsense.
Commercial and property-managed accounts break the friction factor. A managed portfolio that pays on a 45-day cycle is following its own accounts-payable policy, not disrespecting your terms, and it will not change for you. Score payment behaviour against the terms that account actually agreed to, not against your residential net 15, or you will grade your steadiest recurring work as your worst.
Some trades have no natural rhythm. If your work is genuinely episodic, with years between legitimate calls, cap the rhythm factor at 2 for everyone and rebalance the other three, or every customer on your list will read as a churn risk when nothing is wrong.
A high score on an account you cannot lose is not a retention target. A customer with no local alternative, or one bound by a lease clause, scores well and needs nothing. Retention spend goes where the score is high and the risk of loss is real.
Step 7: Verify the exercise was honest
A year later, pull the prior scores and check them against what happened. You are looking for two specific things.
Did the anchors stay? If accounts you scored 10 to 12 churned, your rhythm and propagation reads were flattering the past rather than predicting the future, and you should weight recency harder.
Did any repair-or-release account come back stronger? If several did, your friction factor is punishing customers for problems your own process created. Reschedules that trace to your dispatch, discounts you offered unprompted, and callbacks from your workmanship all inflate the friction count against the customer. Re-audit a sample of those events and reassign the cause honestly before you use the counts again.
The failure that shows up in the field looks like this: a shop runs the audit, sorts by billed revenue after all, gives its top ten a holiday gift, and quietly stops returning calls from a mid-list customer who had sent them four referrals over eight years. Nothing dramatic happens for a year. Then the referral flow stops, and the shop never connects it to the audit.
References
- U.S. Small Business Administration (SBA), customer analysis and small business planning guidance
- Standard managerial accounting practice on contribution margin and constrained resources
- See related: Grading Your Customers A, B, C, and D; Customer Lifetime Value (CLTV) for Service Business; The Customer Who Costs More Than They Pay; The Customer Health Score a Small Shop Can Actually Keep