Overview
Every job on a pool route has two prices, and they are months apart. Closing chemistry graded in April, a year-end billing pass that only works in October, chargebacks won by evidence collected months earlier, the export question you can only ask on the way in, and whether to buy a route or build one.
Listen to the full episodePosts covered in this episode
- The end-of-season checklist for a pool service route
- Pool closing chemistry: what you leave in the water
- Vinyl liner repair: patch or replace
- Pool pump sizing: flow rate, not horsepower
- The ROI math of pool service software for a solo operator
- Who owns your data in pool service software
- Security questions to ask a pool service software vendor
- Chargebacks and disputed pool service payments
- Facebook and Nextdoor marketing for a pool route
- The numbers a pool service business runs on
- Seasonal pool service billing: level the year or charge in season
- Getting pool service billing ready for year-end
- Buying a pool route or starting from scratch
Transcript
Full episode transcript
So it's September, and -- okay, depending on where you are that either means something or it means nothing at all. Phoenix, Orlando, September is just a slightly less brutal August. But north of that line something is actually turning right now, and I've been going back through everything we put out this week and there's a thing underneath almost all of it that I didn't notice until about the fourth one.
Which is that pretty much every job on that list has two prices. There's a week where it costs you almost nothing, and a week where it costs you a lot. And they're not the same week. They're usually months apart.
And the reason that's hard is the cheap week doesn't feel like anything. Nobody sends you a notice. There's no moment where a light goes on and says, hey, do this now, it's free today. You just find out later.
Clearest version of that is closing chemistry, so let's start there, because the lag is physical.
Here's what closing a pool actually is, chemically. You set a balance in the water and walk away from it for five or six months. No pump, no filter, nothing correcting anything. Whatever numbers you left on closing day are the numbers that work on that surface, uncorrected, until somebody pulls the cover off. In season you get away with an enormous amount of drift because you're there every week. A closed pool has no next Tuesday.
So what decides whether the plaster's fine in April is whether the water was under-saturated or over-saturated in October. Under-saturated pulls calcium out of plaster and grout and tile. And cold water pushes that index down on its own, which is the part that catches people -- a pool that read fine in August can be actively aggressive in January at exactly the same chemistry. Same numbers, different temperature.
And then the one that costs money every year: shock and cover are two separate events. A shock dose puts free chlorine at ten or higher, and at that level it bleaches the liner at the waterline, shortens the cover's life, and oxidizes polyquat algaecide on contact -- so the ninety-day algaecide you just paid for is consumed in an afternoon and gone by December. Shock first, let chlorine fall back to one to three, algaecide last, then cover. In cold water that fall-back is slower than you'd expect, so test it.
Route version: balance on the visit before the close, not on the close. Alkalinity increaser and calcium chloride need circulation to distribute, and the closing visit is the one where the pump is about to be shut off and blown out. Adjusters added that day settle on the floor.
And run the list coldest first. Fifty-eight pools around Albuquerque and Rio Rancho -- the eleven highest-elevation ones get closed first and sit covered nearly seven weeks longer than the last ones on the list. Same chemistry on closing day, very different amount of time for it to work on that surface. Those eleven are where 70 ppm alkalinity becomes etched plaster you find in April.
Okay, that's the chemistry. The business side of closing is bigger.
Because a season ending is a revenue event before it's a maintenance event. Every guide to closing a pool was written for somebody who owns one. You have a route full of them, and the plumbing's the easy part. What keeps a route owner up in September is that dozens of accounts are about to stop paying, your tech still needs forty hours a week, and your customer list quietly goes shopping the moment nobody shows up.
Sixty-two pools across Sacramento, Roseville, Folsom. Forty want a full close by mid-October, fourteen run heaters and stay twice-a-month, eight are snowbirds gone till March. Billing all sixty-two at the summer rate through winter isn't credible. Dropping all sixty-two to zero is about fifty-four hundred a month for five straight months. The job is finding the honest middle.
Four answers per account. Full close -- one visit, one-time fee, then nothing. Reduced frequency -- twice a month at a lower recurring rate, stays on the route. Year-round level billing -- fewer winter visits, same charge all twelve months, agreed in writing before the season ends. Or hold, your snowbird, maybe a small fee, and a real chance they don't come back.
Sort the whole route before you schedule a single close-out, because the sort determines the schedule, the invoicing, and how much revenue exists between November and March. And give it six to eight weeks -- forty close-outs at forty-five minutes each is about thirty hours, on top of a route that's still running.
And document them like you're going to be accused of something, because in April somebody will be. Cover comes off, water's green. Homeowner wasn't there, you were the last person who touched it, and with no record that's your word against a stain. Final chemistry, photos of the pad and the water line, and a note on anything already failing -- because a heater that was marginal in October is a heater the customer remembers as fine.
Two things while you're standing there. Collect -- somebody who sees your truck every Tuesday pays an overdue invoice at a completely different rate than somebody who hasn't seen you since October. Forty accounts at eighty-seven a month with two months out is about seven grand in receivables, right as the route stops generating touchpoints.
And book the spring date in writing, at the close-out. Highest-value thing you do all autumn and it costs nothing. One account on that route is about a thousand forty-four a year, so losing six over a quiet winter is sixty-three hundred gone -- silently, because nobody cancels, they just don't answer in March. That's more than the entire off-season revenue this route is working to protect, lost to the cheapest possible failure, which is not asking.
Sideways for a minute -- two other things this week, completely different jobs, same shape.
Vinyl liners. Customer's losing two inches a week, wants to know if you patch it today or if they're spending a few thousand dollars.
The instinct is to look at the tear. But the tear isn't what decides it -- the age of the liner is. Vinyl loses plasticizers to sun and chlorine and heat, goes flexible, then stiff, then brittle, and by ten or twelve years it's well past what it was designed for. So a four-inch tear in a six-year-old liner and the same tear in a thirteen-year-old liner are two different jobs.
Under about eight years, clean tear, flat area, six to eight inches or less -- that's a patch, and a properly installed underwater patch is commonly warranted three to five years. Past ten years it's a replacement conversation even when the tear is small.
And the mechanical reason is the useful bit: a patch on old vinyl tears again beside the patch, not through it. The patch and adhesive are stiffer than the liner around them, so any movement in the wall transfers into a ring of brittle vinyl right at the edge. Repair holds, material fails two inches away. Techs read that as a bad patch. It's usually a good patch on a liner that was finished.
And say the number out loud. Three to five years on a healthy liner, two to three in its second decade. Customers don't get upset that a patch eventually failed. They get upset when nobody told them it would.
Pump sizing, same bones. The label on the motor you're pulling off is the wrong place to start, and matching it is how an oversized pump gets replaced by another oversized pump.
Work the flow and let the flow pick the pump. Volume, divided by turnover hours, divided by sixty. Eighteen thousand gallons on an eight-hour turnover is thirty-seven and a half, so you want about thirty-eight gallons a minute. That goes to a pump curve. Not horsepower.
Then the thing nobody checks, which is the plumbing. Inch-and-a-half PVC carries roughly forty-two to forty-five GPM on the pressure side. So the most common mistake on a residential pad is a two horsepower pump rated above a hundred GPM bolted to plumbing that carries forty-five. It never delivers what the label promises -- it runs against high head, drawing full power to move water it can't get, and the wear shows up as noise, a hot motor, and a seal that keeps failing.
Which is the lag again. A decision somebody made at installation showing up as a third seal five years later. Not a mystery -- an install finally explaining itself.
Alright. Money -- where the gap gets really wide.
Year-end billing. Start in October, not January. Everything that makes January painful is cheap in October -- an invoice nobody chased, a seasonal customer who stopped in September and never got a final bill, a payment that landed and never got recorded.
Reconcile what you invoiced against what you collected. Work the outstanding list while people are still paying. Decide what you're writing off. Allocate the year's chemical cost per account. And total what you paid anyone who isn't an employee, with a signed W-9 for each -- chase those in November, because a subcontractor who's stopped working for you is hard to reach in January.
The October thing isn't a preference, it's the calendar. December has about twenty-one business days on paper and from roughly the twentieth it's functionally three or four. People are away, offices shut, a property manager who owes you money is approving nothing until January.
Two-truck operator, eighty-one accounts around Tempe and Ahwatukee, starts October sixth. The reconcile turns up twenty-eight forty outstanding across nineteen invoices. Eleven of those belong to four seasonal accounts that stopped in September and never had a final invoice chased -- not disputes, just accounts that went quiet. Nine of the nineteen clear before Thanksgiving, most on the first email, because the customer had never been asked a second time.
Write off anything past ninety days with no contact and no dispute, deliberately, in November. A dead invoice costs nothing in cash but it corrupts the number you judge collections by -- if your outstanding balance carries six hundred dollars that was never going to arrive, every comparison you make is measured off a false line. Whether it does anything at tax time depends on your accounting basis, which is a question for your accountant rather than a forum thread.
November is also when next season's rate gets set. Not January -- a rate change needs written notice, thirty days is the courtesy, so deciding in January means the increase starts in February and you've given away a month of it on every account.
Which raises the other billing question: should the monthly charge be the same in January as in July, when the route isn't?
If your pools run fifty-two weeks a year this doesn't land -- flat rate, twelve months, done. But a route running weekly March through October and dropping to biweekly November through February delivers about forty-four visits a year, not fifty-two.
Dallas, two trucks, a hundred sixty pools. Forty-four visits at thirty dollars is thirteen twenty a year from that customer. Level it, divide by twelve, a hundred ten a month, every month, including the two nobody opened the cover. Bill it to the season and the same thirteen twenty arrives as about a hundred thirty-one in season and sixty-eight in winter.
Same money. Level billing isn't a discount and isn't a surcharge -- the only thing it changes is which months the money arrives in. But across a hundred sixty pools that's seventeen thousand six a month flat, against twenty thousand nine sixty in June and ten eight eighty in January. That winter gap is the personal draw a lot of operators take in February and quietly resent in April.
And the part I hadn't thought about -- level billing is a retention tool before it's a cash flow tool. The bigger benefit is that a levelled customer is still a customer in February. Live invoice, payment clearing, service they're visibly paying for. In-season billing reverses that: winter is exactly when their bill drops to nearly nothing and their attention drops with it, and it's also when the operator down the road is canvassing for spring accounts. Somebody paying sixty-eight in January has almost nothing to lose by switching in March.
The one real hole is the late-season cancellation, and it's arithmetic, not bad luck. That Dallas customer starts in March at a hundred ten and cancels November thirtieth -- nine months paid, nine ninety. They got thirty-seven visits, worth eleven ten at your rate. You're short a hundred twenty, on a customer who did nothing wrong and probably doesn't know it happened.
Two clauses close it, and both belong in the service agreement, not a conversation at the door. Twelve-month minimum with thirty days' notice, or a true-up -- on cancellation you bill the difference between visits delivered at the standard per-visit rate and payments received. Write that rate into the agreement while you're thinking clearly, not the week somebody cancels, so the final number is arithmetic the customer can check.
And while we're on numbers -- the five a route actually runs on. Revenue per pool. Stops per technician per day. Chemical cost per pool. Days from invoice to payment. Accounts lost per month. That's the dashboard.
The test for whether something belongs is: can you name the specific thing you'd do if it moved the wrong way. If not, drop it. The twelve-metric lists you find online come from software built for HVAC and plumbing -- technician utilization measures wrench time on a day that's capped by driving. A number with no trigger attached is a report, and reports don't change anything.
Revenue per pool moves first, and this is another lag story, because total revenue moves for two completely different reasons -- you added pools, or you're being paid better -- and it can't tell you which.
Bakersfield, two trucks, a hundred forty-five pools. Total billing goes from twenty-two five thirty-two to twenty-four two twelve across winter and spring, and the owner reads that as a good season. It wasn't. A hundred thirty-one pools in December averaging a hundred seventy-two each; finished June with a hundred forty-five averaging a hundred sixty-seven. Fourteen accounts came on over the winter at around a hundred twenty, off a rate sheet nobody had updated in two years. That's ninety-two forty a year, and total revenue hid it for two quarters, because total revenue was going up the whole time. The per-pool number showed it the first month anybody pulled it.
And the two that predict a bad quarter, read together, are collection lag and cancellations. Both measure the same thing before it reaches your bank account, which is whether customers still feel good about what they're paying for. Somebody quietly unhappy pays late for a month or two before they cancel. On its own a stretched lag looks like an administrative annoyance. Next to a cancellation rate that's gone from one a month to four, it's a trend with about a quarter of lead time on it. Which for once is the gap working in your favor.
Chargebacks. The version of this where the evidence has to exist before the problem does.
Email lands on a Tuesday and it's never good -- a payment you collected weeks ago has been pulled back out of your account, the customer's bank wants you to justify it, and there's a date attached. Different problem from a customer who never paid: that money arrived, cleared, and got spent on chemicals and payroll before anybody questioned it.
The clock's the part you can't get back. Processors typically give you seven to twenty-one days, counted from when they notified you, not from when you opened the email. Miss it and it's decided against you by default no matter how good your records are.
Read the reason code first, because it tells you exactly what the network wants proof of, and sending the wrong evidence is the most common way a defensible dispute gets lost. It isn't a general request to prove you're a real business, it's a specific allegation.
But before you file anything, call. Disputes run well under one percent of transactions for most small service businesses, and on a recurring route they're rarely fraud -- it's a spouse who doesn't handle the pool, a statement line that reads like a company nobody remembers hiring, somebody who thought they cancelled in March and didn't put it in writing. Ask them to withdraw it with their own bank, because a withdrawn dispute closes in days while a contested one runs sixty to ninety.
Now, every chargeback guide written for online sellers tells you to submit proof of delivery. Tracking number, signature, carrier scan. None of that exists for work done in somebody's backyard, which is why that advice is useless on a route.
Your proof of delivery is the visit record. Date and time the tech started and finished, the readings logged there, a photo of the water. Three numbers, a timestamp and a picture of a clean waterline say the tech stood at that pool far more convincingly than an invoice line that says "August service."
Three trucks, two hundred ten pools around Cape Coral, three hundred forty dollar dispute in October. All four August and September stops carry a start time, chlorine and pH, and a waterline photo. Assembling the response takes about fifteen minutes, because none of it is being reconstructed -- it was collected at the pool months before anybody disputed anything. The operator who logged those stops on paper spends the same afternoon deciding whether three hundred forty dollars is worth the search.
Ten seconds a stop, months earlier. That's the whole thing.
And budget the fee regardless of outcome -- fifteen to twenty-five dollars, usually non-refundable even when you win, because you're paying for the bank's handling, not for being right. Prevention is mostly making the charge recognizable: set your statement descriptor to the name the customer actually knows you by, because if they hired Blue Water Pools and the statement shows a holding company, you've manufactured a dispute. And send a report each cycle, so the amount arrives with the work attached.
Two more, and these are the purest version of the whole thing.
There's a question you can only ask on the way in, and it's the one everybody asks on the way out. Can I get my data back.
Every platform's terms say you own your data. That's real, and it's the easy half, because ownership is a legal statement and access is an engineering one, and those get decided by completely different people. A vendor can honestly tell you that you own everything while shipping an export that covers customers and addresses, because nobody built the one for chemical readings. Nothing in the contract got broken. You just can't reach nine of your twelve record types.
Two-truck operator in Sarasota, a hundred eighty pools, leaves a previous system and gets exactly what he asked for -- a CSV of customer names and service addresses. What he didn't get was four years of chemical history. Six months later an HOA board asks what the free chlorine had been running through the previous summer, and the honest answer is that the record exists, it's his, and it's unreachable. Nothing was withheld from him. He just found out at the point where the only remedy was a screenshot.
So ask about record types by name. "Can I export my data" gets a yes from everyone. "Can I export chemical readings, linked to the visit and the pool they belong to, as CSV" is a question with an answer. And can you run it yourself, without a support ticket -- because the moment an export needs a human on the vendor's side, its timing belongs to them, and thirty days of commercially reasonable effort is a terrible operational standard when you're running two systems side by side for a week.
On our side that's twelve datasets as CSVs out of the Settings screen -- customers, pools, visits, readings, routes and stops, work orders, invoices and their lines, payments, quotes -- plus one download that bundles all twelve into a ZIP. And I'd say this about anybody: a tool that gives you a way out on the free tier expects to keep you on the merits.
Order matters too. Pull everything while the account's still live, open the readings file, check the oldest visit you care about is actually in there and not trimmed by a rolling window, and then cancel. Because export requests almost always have to be submitted before termination takes effect -- which quietly means the last useful day to pull your files is the day before you cancel.
Same shape on security. Six questions, not the three hundred on the enterprise questionnaire. Can another company using this software ever see my customer list. Who inside your company can read my records, and is it logged. What can each of my own people see. Do card numbers ever touch your servers -- right answer is no, the processor holds the card and hands the software a token. What happens after I cancel. And who do I call the day something goes wrong.
If you only ask one, ask the first. Every platform you're looking at runs your company alongside hundreds of others -- that's normal, it's why the price is twenty-nine dollars a month and not twenty-nine hundred. The question isn't whether you share, it's where the wall is built. Weaker version lives in application code: every screen carries a filter saying only this company's rows, and that holds as long as every one of those filters is written correctly, forever, by everybody who ever touches it. Stronger version lives in the database, so a query that forgot its filter comes back empty instead of somebody else's route. Difference between a policy and a lock. Ask which one you're getting, in those words. We do it the second way.
And your own crew is an access question too, because the likeliest way a gate code leaves your business isn't a breach at the vendor, it's a phone. A tech running eighteen stops on a Tuesday needs those stops and the codes for them. They don't need last year's invoices for three hundred customers.
So codes live on the customer or pool record, not in a group text and not in a shared spreadsheet everybody has a copy of. The test is revocability -- when somebody leaves on a Friday you want their access to end when you deactivate the account, and that only works if the code was never copied somewhere you don't control. A group text fails that permanently, because the message stays on the phone of everyone who was ever in the thread.
Four-truck operator, three hundred ten pools across Tampa and Brandon, bids two HOA contracts and gets the property manager's questionnaire back with the packet. Where are resident addresses and gate codes stored, who can see them, what's your notification process. His honest answer was a shared spreadsheet every technician could open and nobody could revoke. He didn't lose on price.
Two quick ones I don't want to skip.
The is-software-worth-it question has a floor under it, and it's worth saying out loud. Under about twenty pools with a fixed route and a paper book, it wins you very little. At fifteen accounts you hold the whole thing in your head and billing night is forty minutes.
Past that, the payback isn't where people expect. It isn't routing -- if you've driven that route for years, reordering your stops isn't finding you an hour a day. The money leaks on the billing side, in three places, and all three are lag. The visit completed and never invoiced. The autopay that quietly lapsed and nobody noticed for four months. The invoice that went out and never got chased, because chasing it meant reconstructing which visits it covered.
None of those feel like losses at the time, which is why they persist. Henderson, sixty-two pools, one year: two completed visits in July never made it onto an invoice, and one customer's autopay had lapsed back in April, found in a year-end review. About three hundred ten dollars delivered and never collected. And the point isn't the three hundred ten -- it's that he didn't know it existed until he went looking, which means the number on your route is currently unknown to you too, and it isn't zero.
The other one is marketing, and there's a seven-day window in it that I think is underrated. If you clear a green pool, or get a heater running the week before a party, you've got about a week where that customer is briefly and genuinely enthusiastic. That's when you ask them to mention you in the neighborhood group. Ask a month later and you get a polite yes that never becomes a post. And make it small: not "leave us a review," just -- if anyone in the group asks about pool guys, I'd appreciate you mentioning us.
Because the arithmetic there is about driving, not audience. A customer three streets from an existing stop adds about two minutes to your day. One twenty minutes off the loop costs forty minutes round trip -- two to three stops of capacity gone. Which is why a boosted ad across a whole metro isn't a cheaper version of a group post, it's a more expensive one, because it generates the leads you have to say no to. Solo operator, fifty-four pools across two Gilbert subdivisions, four open Tuesday slots -- posts one photo pair, green pool and the same pool clear three days apart, into the bigger subdivision's own group with the street named. Three of four filled inside a week.
Okay. Last one, and it's the biggest version of the gap, because here the lag is about two years. Buy a route, or build one.
The framing that helped me is that it isn't really buy against build. It's capital against time, and you almost certainly have more of one than the other.
Buying converts cash into revenue immediately. Routes price at roughly eight to twelve times monthly billing, so a fifty-five stop route billing forty-one hundred a month lists around thirty-three to forty-nine thousand. Day the handover finishes, that forty-one hundred is yours, minus the customers who leave because their pool guy changed. You didn't build the relationships and the customers didn't choose you -- that's the whole risk in one sentence.
Building converts time into revenue slowly and then permanently. Most operators in a metro with real pool density sign eight to twelve accounts a month once they're genuinely trying, which puts fifty-five stops somewhere in month sixteen to twenty. Month one is realistically two or three, not ten. But every one of those customers picked you, so they behave completely differently from inherited ones.
Plan on losing a few accounts out of every fifty in the first quarter after a handover. On that forty-one thousand dollar route, four departures is about three hundred a month of billing gone, which against a ten-times multiple is about three thousand dollars of what you just paid.
Three cases where building wins even if you could write the check. Thin capital, where the price would eat the money you need for a truck and insurance and three months of living. A dense metro, where if you can sign a dozen accounts a month inside a five-mile radius you're building faster than the multiple can pay for itself. And an existing customer base -- if you already do repairs for homeowners with pools, you're converting a warm list, not starting from zero.
But if you do buy, the attrition number isn't fixed. It's largely decided in the first ninety days, and most of that is communication rather than pool care. Write to every customer under the seller's name introducing you. Keep the service day the same for the first quarter, because a changed day is the most common reason somebody starts wondering whether to shop around. And don't raise prices in the first ninety days however far under market they are -- make one change at a time, and let the first one be that the pool looks better than it did.
And then the last thing, which is the cheapest week in this whole episode. In week one, everything the seller knew is in the seller's head. Gate codes. Which houses have a dog. The pump that has to be primed a certain way. Which customer wants a text before you arrive. Get it written down during the handover, not after -- because during the handover it costs you an afternoon and the seller is standing right there. After the handover it costs you one angry phone call at a time for a year, and some of it you just never get back.
Which is -- yeah. That's the thread. Closing chemistry graded in April. The export question you can only ask on the way in. Evidence collected months before the email that needs it. October collecting what December won't. The seller's head, free on Tuesday and gone on Wednesday.
None of them announce themselves. That's the only reason they're hard. So if there's one thing to take out of this week, it's just -- go find the cheap week. It's usually the one you're standing in.
Alright. That's it. Go close some pools.


