Most pool service owners can name their worst customer off the top of their head. The one who texts at 9pm about algae they caused by turning off the pump. The commercial property that pays 40 days late every single time. The route stop that's 25 minutes out of the way for a $95 monthly plan.
What almost nobody can do is tell you, in dollars, how much those accounts actually cost them. That's the real problem. You can't manage what you're only feeling. Gut feel tells you a customer is annoying. It doesn't tell you that account is running at negative margin while a quieter customer two streets over is quietly subsidizing them.
This article is about building the actual system — scoring, remediation, tiering, and clean offboarding — so you stop carrying dead weight and free up capacity for work that actually pays. Not a list of "fire bad clients" tips. A connected process that fits into how your business already runs.
Why "bad customers" is the wrong frame
The instinct is to sort customers into good and bad. In practice, that framing causes two mistakes.
First, people confuse difficult with unprofitable. Plenty of demanding customers are your best margin accounts — they pay premium, they pay on time, and the extra communication is maybe 10 minutes a month. Meanwhile some of the "easy" ones are slowly bleeding you because the route math never worked and the price hasn't moved in four years.
Second, the good/bad frame skips the middle, which is where most of your money actually is. The reality across most residential and mixed books looks roughly like this:
-
A small group of genuinely great accounts (maybe 15–20%)
-
A large stable middle that's fine but under-optimized
-
A tail of 10–15% that's either marginal or outright losing money
-
A handful that are actively toxic — late pay, scope creep, safety risk, abuse of techs
Customer profitability segmentation for pool service isn't about deciding who to like. It's about putting every account on the same scoreboard so decisions stop being emotional. Once you can see cost-to-serve next to revenue, the "who do I drop" question mostly answers itself — and so does the better question, which is who can you fix instead of losing.
What actually drives cost-to-serve (and why owners miss it)
The margin on an account is revenue minus everything it costs to deliver that account. Sounds obvious. The part owners miss is that the costs are scattered across systems that never talk to each other.
Eliminate missed appointments and dispatch delays.
Splshly ensures every pool service is scheduled, tracked, and completed efficiently.
- Unified scheduling dashboard
- Automated customer reminders
- Technician route optimization
No credit card required
Here's where the money quietly leaks:
-
Drive time and detour cost. An account that's geographically off your route batch can cost more in windshield time than the service itself. This ties directly into how you think about route batching and territory design.
-
Visit frequency vs. plan price. The customer who "just needs a quick look" every week on a plan priced for bi-weekly.
-
Chemical overuse on neglected pools. Some pools eat 2–3x the chemical load because the owner fights you on equipment or usage habits.
-
Communication overhead. Texts, callbacks, re-explaining the same thing, dispatcher time managing their expectations.
-
Payment friction. Late pay isn't just cashflow — it's admin hours, reminder sequences, and sometimes collections.
-
Rework and callbacks. The accounts that generate the most "come back out" trips.
A typical example: a $110/month residential plan that looks healthy on paper. But it's a 20-minute detour from the nearest cluster, the pool is older and runs hot on chemicals, and the owner averages three contact touches a week. When you actually load the drive time, chem overage, and admin minutes against it, that account lands somewhere around $15–$25 of real monthly margin — or underwater in peak season when truck time is most valuable.
If you've already built out cost-based pricing tiers, you have most of the raw numbers. The gap is usually that pricing was set at signup and never revisited against actual service behavior. Profitability scoring is what closes that loop.
Building a profitability score you'll actually use
The mistake people make here is overbuilding it. You don't need a 40-variable model. You need five or six inputs you can realistically pull and refresh quarterly.
A workable score weights these factors:
| Factor | What it measures | Why it matters |
|---|---|---|
| Net margin % | Revenue minus loaded cost-to-serve | The headline number |
| Route fit | Detour minutes vs. nearest cluster | Hidden time cost |
| Payment behavior | Avg days-to-pay, late incidents | Cashflow + admin drag |
| Service intensity | Visits, chem load, callbacks vs. plan | Scope creep signal |
| Communication load | Contact touches per month | Dispatcher/owner time |
| Relationship risk | Tech safety, abuse, chronic disputes | The non-financial dealbreakers |
Score each account, then bucket them. Keep the buckets simple — four tiers works for almost everyone:
-
Core (A) High margin, pays well, low drama. Protect these fiercely.
-
Stable (B) Profitable but with one soft spot — maybe route fit or slightly stale pricing.
-
Marginal (C) Thin or inconsistent margin. These are the remediation candidates.
-
Drain (D) Losing money, toxic, or both. Fix hard or offboard.
One pattern worth flagging: the accounts that feel worst to your techs are often C's, not D's. The genuinely unprofitable D accounts are frequently polite, low-contact, and quietly underpriced — which is exactly why they survive for years. Scoring surfaces the silent ones. Your KPI dashboard thresholds can flag score changes automatically so accounts don't drift from B to C without anyone noticing.
Remediation before offboarding (most C accounts can be saved)
The instinct to drop customers skips the step that actually makes you more money: fixing them. Offboarding frees capacity, but it also throws away acquisition cost and recurring revenue. Remediation is almost always the higher-ROI first move for the marginal tier.
Remediation is just a structured attempt to move an account's economics without losing the customer. There are really only a handful of levers:
-
Reprice to current cost. The most common fix. Plans drift, costs rise, prices don't. A straightforward re-rate often moves a C to a B.
-
Reschedule for route fit. Moving a detour account onto a day when you're already in that area can recover most of the hidden drive cost without touching price.
-
Right-size the plan. Downgrade frequency, or upgrade them to a plan that actually matches how much service they consume.
-
Fix the root cause. If a pool eats chemicals because of a failing cell or bad circulation, solving the equipment problem fixes the margin AND the complaints.
-
Reset expectations. For high-contact accounts, a clear scope conversation about what's included vs. billable resets the communication load.
A simple remediation process
-
Diagnose the driver. Pull the score. Is it price, route, intensity, or payment? Usually it's one dominant factor, not all of them.
-
Pick the smallest effective lever. Don't reprice AND reschedule AND rescope in one hit. Start with the single change that recovers the most margin.
-
Script the conversation. A clean, non-apologetic message. "We're adjusting your plan to reflect current service levels — here's what changes and when."
-
Set a review date. Give the change 60–90 days. Re-score. Did it move the account up a tier?
-
Decide. If it moved to B, you saved it. If it didn't budge and it's genuinely a drain, now you offboard with a clear conscience.
Start with the single change that recovers the most margin and give it a 60–90 day review window before applying another lever.
Tying plan changes back to scheduling and parts matters here — because a repriced plan that doesn't actually change how the account is serviced just creates recurring-revenue headaches down the line. The service plan, the schedule, and the price all have to move together or the fix doesn't stick.
When offboarding actually makes sense
Remediation doesn't work on everyone. Some accounts should go. The trick is being clear about which ones, so you're not offboarding out of frustration on a bad Tuesday.
Offboard when:
-
The account is underwater even after a fair reprice attempt
-
Payment behavior is chronic and hasn't responded to terms changes
-
There's a safety or abuse issue with your techs — this is non-negotiable regardless of margin
-
The route fit is structurally broken and there's no plan or schedule that fixes it
-
You're at capacity and the account is blocking you from taking better-fit work
When offboarding is a bad idea:
-
You haven't actually tried remediation yet — dropping before fixing is just leaving money on the table
-
It's your slow season and you have open capacity anyway (a thin account still beats an empty truck in winter)
-
The account is a strategic foothold — one commercial property in a complex, a referral hub, a neighborhood anchor
-
You're reacting emotionally to a single bad interaction rather than a pattern
Who should NOT run an aggressive offboarding cycle at all: newer operations still building density. If you're under capacity and fighting for route scale, your problem isn't too many customers — it's not enough. Hold your marginal accounts, fix pricing at renewal, and come back to this system once you're actually turning work away.
Offboarding without the drama
The reason owners avoid dropping accounts isn't the math — it's the awkwardness. Nobody wants the confrontation, the bad review, the referral they might lose. So accounts linger for years.
A script and a process makes it clean, professional, and genuinely graceful. Done right, most customers barely push back — and a surprising number actually thank you for the honesty.
The core offboarding principles
-
Give notice, not an ultimatum. 30 days is standard and reasonable.
-
Keep it about fit, not fault. "We're not the right fit to service your pool at the level you need" lands far better than any version that assigns blame.
-
Offer an off-ramp. Hand them 2–3 other local services. This single move eliminates most bad reviews — you're solving their problem, not abandoning them.
-
Settle clean. Final invoice, any prorated amounts, equipment or key returns handled in writing.
-
Leave the door cracked. People's situations change. A customer you release gracefully today can come back as an A account in two years.
A sample offboarding message
> "Hi [Name] — after reviewing our routes and service commitments for the coming season, we've realized we're no longer able to service your pool at the standard you deserve. We'll continue your regular service through [date], 30 days out. To make the transition easy, here are two local companies we'd recommend: [X] and [Y]. Your account will be settled through your final visit, and we're happy to brief your new provider on your pool's history. Thanks for trusting us — it's been a pleasure."
No apology spiral, no blame, no drama. Clear dates, a genuine off-ramp, a clean settle.
How this connects to the rest of the operation
This is the part that separates a one-time cleanup from a system that actually keeps your book healthy long-term.
Profitability scoring doesn't live on its own. It feeds directly into how you schedule, how you price, and how you decide which new work to accept. When a D account leaves, that freed capacity should be deliberately redeployed — not absorbed by giving your existing accounts slightly longer visits.
The workflow at scale looks something like this: every quarter, account scores refresh. New C accounts get flagged into a remediation queue. Accounts that failed remediation drop into an offboarding queue with 30-day notices. The capacity freed up gets matched against your waitlist or your route-density gaps — ideally filling the exact geographic holes where a new account would be high-margin from day one. Meanwhile, the money side flows through your quote-to-cash process so repricing and final settlements don't fall through the cracks.
Here's the workflow at a glance:
This diagram shows how scores feed remediation and offboarding and how freed capacity gets redeployed.
What breaks without this loop is predictable. Owners do one big cleanup, feel great, then let the book drift right back into the same mess over 18 months. Scoring only works if it's recurring. The tier a customer is in today isn't permanent — a B account with a stale price quietly slides to C, and nobody notices until you run the numbers again.
This is also where decent operational software earns its keep. Not because it makes the decisions, but because it keeps scores current without you rebuilding a spreadsheet every quarter. Pulling route data, payment history, visit counts, and plan pricing into one place is tedious by hand and tends to get skipped. When that data stays connected and scoring refreshes on its own, the hard part becomes the conversation — not the analysis.
Real scenario: a 6-tech suburban operation
A residential-heavy pool service running about 310 accounts across six techs ran their full book through a scoring pass for the first time going into spring.
The results were lopsided in the usual way. Roughly 40 accounts landed in the C tier and about 18 in D. The D accounts — barely 6% of the book — were collectively running at a loss once drive time and chem overage were loaded in. Several had been customers for five-plus years at prices set when fuel was half the cost.
They didn't swing the axe. They ran remediation first. About half the C accounts accepted a reprice at renewal and moved up a tier. A cluster of detour accounts got shifted onto a route day that already ran through their neighborhood, recovering most of the hidden drive cost without raising a dollar.
For the true drains, they sent the offboarding script — 30 days, two referrals, clean settle. Of the 18 D accounts, they released around a dozen. Two of them actually asked to stay and accepted a significant price correction to do it, which turned a loss into a real margin account.
The net effect over the following season: a modest revenue dip from the released accounts, more than offset by the freed route capacity, which they filled with better-fit work from their waitlist. Dispatcher hours spent on complaint management dropped noticeably. The owner stopped dreading two specific stops every week. The margin improvement wasn't dramatic in a single month — it showed up as a steadier, cleaner book that got easier to schedule over time.
The real point
Dropping unprofitable customers isn't a confrontation skill. It's an operations system. The drama only shows up when you've waited too long, have no data behind the decision, and end up cutting someone loose out of frustration instead of releasing them with a plan.
Build the score. Run remediation before you offboard. Use a clean script when you do. And make it recurring, because a healthy book doesn't stay healthy on its own — accounts drift, costs creep, and the quiet money-losers rebuild every year or two if you're not watching.
Do it as a system and the whole thing gets boring in the best way: you always know where your margin is, which accounts are worth saving, and which ones to let go — without the guilt, the awkwardness, or the year-end surprise when the numbers don't match how busy you felt.
Ready to elevate your pool service business?
Join hundreds of pool service professionals using Splshly to save time, optimize routes, and enhance customer satisfaction.