Commercial Pool Service Pricing Calculator: monthly contract price by venue
Price a commercial pool account per month from visits a week, testing and log time, chemical cost by volume and bather load, filter labour, extra bodies of water, overhead and margin.
How this is calculated
The monthly price is a build-up from time and volume you enter. Four things behave deliberately: every visit time box is per technician and the tech count multiplies it, drive time is tracked twice (all of it in your cost, only the share you nominate in your charge), backwash and filter deep cleans are single-technician lines that sit outside the visit, and the per-visit scope is held constant across cadences because a second visit a week is a second full visit, not a shorter top-up.
onSite = (mainMin + (bodies−1)×extraMin
+ bodies×tests×testMin + logMin) ÷ 60 (per tech)
techHours = onSite × techCount
driveTech = driveHours × techCount
billedDrive = driveTech × driveBillPct
labour = (techHours + billedDrive) × rate × (1 + afterHours)
uplift = (bathers ÷ 100) × upliftPer100
chemicals = chemPer10kGal × (volumeGal ÷ 10,000) × (1 + uplift)
consumables = (chemicals + supplies) × (1 + markup)
visit = labour + consumables
visits/mo = visitsPerWeek × 52 ÷ 12
backwash/mo = backwashes × backwashMin ÷ 60 × rate × (1 + afterHours)
filter/mo = cleans/yr × hours ÷ billingMonths × rate × (1 + afterHours)
season/mo = (opening + closing) ÷ billingMonths (when spread)
extras/mo = annualItems × (1 + markup) ÷ billingMonths
buildUp = visit × visits/mo + backwash/mo + filter/mo
+ season/mo + extras/mo
monthly = max(buildUp, monthlyMinimum)
annual = monthly × billingMonths (+ opening + closing if separate)
cost/mo = paidHours/mo × costRate + consumables(cost) × visits/mo
+ annualItems ÷ billingMonths
overhead = cost/mo × overheadPct
margin = (monthly − cost/mo − overhead) ÷ monthly
floor = (cost/mo + overhead) ÷ (1 − targetMargin) The worked example on this page
An HOA community site with a 50,000 gallon pool and a 10,000 gallon spa (60,000 gallons, two bodies of water), serviced twice a week by one technician: 45 minutes on the main body, 15 on the spa, one test set per body at 4 minutes, 6 minutes of log time, an unbilled half-hour round trip, two backwashes a month at 12 minutes, two 1.5 hour filter deep cleans a year, chemicals at $6 per 10,000 gallons per visit, $3 of other consumables and $85 per tech-hour. That is 74 minutes on site, a $143.83 visit, and a monthly build-up of $1,246.56 of scheduled service + $34.00 backwash + $21.25 amortised filter cleans = $1,301.81 a month, $15,622 a year, $150.21 per visit and $216.97 per 10,000 gallons per month. Change the rate and every figure moves with it, because the rate is the only thing in that sentence the tool did not get from you.
Where the pre-filled numbers come from, and where they do not
No market-rate presets anywhere. Every currency field starts empty. The only pre-filled numbers are venue scoping conventions (starting cadence, body count, service and log minutes, backwashes a month, bathers a day, season length) plus 4 minutes per test set and 12 minutes per backwash, and every one of them sits in an editable box. They encode a shape rather than a rate: a resort with three bodies of water on a five-day cadence is a bigger account than one apartment pool. Time your own route once and overwrite them.
The bather load does nothing until you tell it to. Heavy bather load really does consume sanitiser faster, but no primary source publishes a per-bather consumption factor, so the uplift box starts at zero and the bather count changes nothing in an untouched form. Measure your own chemical usage across a quiet week and a busy one, express the difference as a percentage per 100 bathers a day, and the tool will carry it. Until then it stays visible as a scope question rather than an invented number.
Testing frequency is a code question and this page does not answer it. The test-sets box is your scope, not a legal minimum. CDC's Operating and Managing Public Pools, Hot Tubs and Splash Pads guidance says to "test pH and disinfectant levels at least twice per day (hourly when in heavy use)". Florida writes the same idea as a records rule: daily records must reflect "manually conducted pool water tests for pH and disinfectant levels at least once every 24 hours", plus "weekly testing for cyanuric acid when chlorinated isocyanurates are used" (Fla. Admin. Code Ann. R. 64E-9.004). Those are duties on the venue across every day it operates, not a contractor's visit count, and your own state or county may set something different. The tool therefore asserts nothing and reports one arithmetic fact instead: how many days a month your cadence puts somebody on site, against the roughly 30.4 days a month holds.
Frequency multiplies hours, it does not discount them. Every body of water is skimmed, tested and logged on every visit, so the visit's hours barely move as the cadence tightens. In the table, per-visit price still falls at higher frequency, but only because the fixed monthly lines (backwash, amortised filter cleans, amortised seasonal work) spread across more visits. If a higher-frequency visit genuinely covers less ground, cut the main-body time yourself and read the table again.
The after-hours premium is a charge, not a cost. It lifts the labour charge, including the backwash and filter lines, and nothing else. If you pay a shift differential to service a hotel at 6am, raise your cost per tech-hour to match, or the margin line will report a premium you handed straight to the crew as if you kept it.
A short season concentrates the fixed lines. Two filter deep cleans spread across twelve invoices are $21.25 a month at $85 an hour; the same two cleans across a four-month municipal season are $63.75. Set the season honestly, because that is also what turns the monthly figure into an annual contract value.
Overhead and margin are all or nothing. Without a cost per tech-hour the labour half of the account cost is unknown, and a margin computed off chemicals alone would flatter every contract, so the whole block stays hidden until you fill that box in. Overhead is taken against direct cost rather than revenue so the arithmetic never chases its own tail, and the target margin turns the stack into a price floor you can hold in the negotiation.
Everything runs in your browser. No account, no email gate, nothing stored or sent.
What this prices
A commercial pool account is not a bigger route stop. It is a contract over a venue: an HOA community pool and its spa, a hotel with a pool, a spa and a kiddie pool, an apartment complex on a six-month season, a fitness club that can only be serviced before it opens, a municipal site that runs four months a year and swallows a hundred and fifty bathers a day. This calculator builds one visit out of the minutes it really takes on every body of water, adds the chemical cost your volume and your bather load produce, prices the backwash and filter work that lands between visits, amortises the opening and closing, and rolls all of it into a monthly account price, an annual contract value, a price per scheduled visit and the figure a property manager actually compares bids on: price per 10,000 gallons per month.
If the account turns out to be one house rather than one venue, the pool service price calculator is the right tool. It prices a single body of water on a fixed route and sanity-checks the answer against per-pool bands. Different buyer, different inputs, different unit of sale.
Testing frequency is a code question, and this page does not answer it
The test-sets box on this page is your scope, not a legal minimum, because how often a public pool must be tested is set by your state or county and the answers differ. Two primary sources are worth putting your cadence beside.
CDC, in Operating and Managing Public Pools, Hot Tubs and Splash Pads, tells operators to “test pH and disinfectant levels at least twice per day (hourly when in heavy use)”, alongside a minimum free chlorine level of 1 ppm in a pool and 3 ppm (or bromine 4 ppm) in a hot tub, and a pH held between 7.0 and 7.8. That split matters on a multi-body venue: the spa on the same site is held to a different residual than the pool it sits beside, so it is a second set of readings and a second line in the log, not a rounding of the first. Florida writes the same idea as a records requirement: daily records must reflect “manually conducted pool water tests for pH and disinfectant levels at least once every 24 hours”, with “weekly testing for cyanuric acid when chlorinated isocyanurates are used” (Fla. Admin. Code Ann. R. 64E-9.004).
Read both carefully and the commercial pricing problem appears. Those are duties on the venue across every day it operates. A twice-weekly service contract puts somebody on site about 8.7 of the roughly 30.4 days in a month, so the remaining twenty-two days are the venue’s own staff, a trained operator you supply, or a gap. The tool reports your day coverage next to the price so that conversation happens during the bid rather than after an inspection. It asserts no requirement of its own, and where a figure would be jurisdiction-specific it gives you an editable box instead.
Every body of water is a second account
The line most operators underprice is the spa. It holds a tenth of the water and takes a full second service: its own brush and vacuum, its own test set, its own line in the log, and a chemistry that moves faster than the main pool’s because the volume is small and the temperature is high. So the tool asks for a body count and prices each additional body separately, then multiplies the testing by the same count rather than by the site.
The volume box wants every body added together, because that is what the chemical line scales on. If you have not measured the site, the pool volume calculator works it out from the shape and the depths, one body at a time.
Chemicals: volume you can measure, bather load you must
Chemical cost enters as your own number per 10,000 gallons per visit, multiplied by the site’s total volume. That part is arithmetic. Bather load is the part nobody can hand you: a hotel pool at eighty swimmers a day genuinely burns sanitiser faster than a condo pool at thirty, but no regulator, trade body or published survey reports a per-bather consumption factor, and under this site’s cite-or-omit rule that means the tool ships without one. The uplift box starts at zero, so an untouched form lets the bather count change nothing.
Fill it from your own records. Compare what chemicals cost you across a quiet week and a peak week, divide the difference by the bather count, express it as a percentage per 100 bathers a day, and the tool carries it into every visit and into the cost check. A measured number you trust beats an industry average you cannot source.
Frequency multiplies hours here, it does not discount them
This is the assumption most operators bring over from residential route work and it is the expensive one. On a route, a tighter cadence means a shorter stop. On a commercial account it does not: every body of water is skimmed, tested and logged on every visit whatever the frequency, so a second visit a week is a second full visit.
The cadence table holds the visit scope constant from one to seven visits a week and shows the annual paid hours beside the money, so you can see what you are agreeing to before you agree to it. Per-visit price still falls at higher frequency, but only because the fixed monthly lines spread across more visits.
The lines that quietly sink commercial pool accounts
Backwash and filter cleans. They happen between visits, they never appear on a per-visit price, and they are real single-technician hours. Two 1.5 hour deep cleans a year look like nothing until a four-month municipal season concentrates them into four invoices instead of twelve.
The log. The chemical record is a document somebody reads, and writing it is time you will work whether or not you price it. It gets its own box for that reason, and the commercial pool daily log sheet is the blank workbook those minutes get spent on.
Drive time. Every drive hour lands in your cost, because you pay the technician for it either way, and only the share you nominate lands in the charge. That is what makes the return per paid tech-hour honest.
The after-hours premium. It lifts the labour charge, backwash and filter lines included, and nothing else, because the tool cannot know what a 6am shift costs you. If you pay a differential, raise the cost per tech-hour to match, and the page says so on screen rather than leaving you to notice.
Overhead, margin, and the price your costs require
Most pricing calculators stop at a number. This one runs it against a floor. Enter your loaded cost per tech-hour, your overhead as a share of direct cost and the operating margin you want, and the tool reports both the price your rate built and the price your cost stack requires. If the first is under the second, it says so with the shortfall in money, which is the sentence you need in front of you before an HOA board asks for a discount.
The block is all or nothing: without a cost per tech-hour the labour half of the account cost is unknown, and a margin computed off chemicals alone would flatter every contract. If you have not yet set a defensible number for either rate box, the service hourly rate calculator and the labor burden rate calculator are where those figures come from.
From a monthly number to a signed contract
A monthly figure is not an account until someone signs for it, and the number is rarely what wins it. An HOA board, an apartment operator or a hotel engineer is buying a permit, an inspector and a logbook off their own desk, which is the order how to get commercial pool contracts runs the conversation in, venue by venue, from the operator certificate and the insurance format to the answer for a Sunday equipment failure. Move the scope, the cadence and the price into the pool service agreement template, where the term, the season, the chemical responsibility and the cancellation terms get written down. If you are still sizing the venue rather than pricing it, the commercial pool turnover and bather load calculator is the other half of this entity: it checks whether the circulation you are being asked to maintain can carry the bather load in the first place. And when the season ends, the pool opening pricing calculator prices the visit whose number you typed into the seasonal box above.
Everything runs in your browser: no account, no email gate, nothing stored or sent. A pricing worksheet, not a binding quote, and not pool operation advice. Testing frequency, record keeping, operator certification and chemical handling are set by your health code and the product label, never by this page.
Frequently asked questions
How is this different from the pool service price calculator?
How often does a commercial pool have to be tested?
Why does a commercial visit not get cheaper as the frequency goes up?
How should bather load affect the price?
Does this calculator suggest an average commercial pool service price?
Should the opening and closing be inside the monthly price?
Can I price a site measured in litres?
Sources
- Operating and Managing Public Pools, Hot Tubs and Splash Pads: "Test pH and disinfectant levels at least twice per day (hourly when in heavy use)", with a minimum free chlorine level of 1 ppm in a pool and 3 ppm (or bromine 4 ppm) in a hot tub, and pH held at 7.0 to 7.8. U.S. Centers for Disease Control and Prevention. Retrieved .
- Fla. Admin. Code Ann. R. 64E-9.004, Operational Requirements: daily records must reflect "manually conducted pool water tests for pH and disinfectant levels at least once every 24 hours" and "weekly testing for cyanuric acid when chlorinated isocyanurates are used". Cornell Law School Legal Information Institute, reproducing the Florida Administrative Code. Retrieved .