Skip to main content
Protect margins with pricing architecture: tie tier definitions and add-ons to cost-to-serve

Protect margins with pricing architecture: tie tier definitions and add-ons to cost-to-serve

Why your pricing probably works against you — and how to rebuild it so margins hold across recurring, one-off, and commercial work

Most pool service companies don't have a pricing problem. They have a pricing governance problem.

The difference matters. A pricing problem is "I'm charging $140 a month and should charge $160." That's a number. You fix it once. A governance problem is structural — tiers that blur into each other, techs quoting add-ons from memory, commercial accounts getting residential pricing because nobody caught it, and "one-off" repairs quietly eating the margin your recurring routes were supposed to protect.

That second problem compounds. And almost nobody fixes it, because it doesn't show up on a single invoice. It shows up slowly, across a season, as margin that was supposed to be there and just... isn't.

This is really about building a pool service pricing architecture — a set of rules that decide what a tier means, what add-ons cost, how far a tech or office person can negotiate, and how all of that connects back to what the work actually costs to deliver. Get the architecture right and pricing stops being a conversation you have every time someone new starts quoting jobs. It becomes a system.

The real reason margins leak (and it's not undercharging)

Undercharging on the sticker price is the obvious villain, so everyone blames it. But across the operations I've looked at, it's rarely the biggest leak. The biggest leak is inconsistency — the same type of work priced five different ways depending on who quoted it, when, and how slammed they were that week.

Here's the pattern that comes up constantly. A company has three service tiers, but if you actually pull the invoices, those tiers overlap by 40% or more. A "Standard" customer with a big spa and a salt system is paying the same as a "Standard" customer with a small fiberglass pool and a cartridge filter. One takes 18 minutes on-site, the other takes 35 and burns through more chemical. Same price. The second one is barely breaking even and nobody knows it, because the tier was defined by marketing language ("Standard, Premium, Elite") instead of by cost-to-serve.

That's the core failure. Tiers get named before they get costed. And once a customer is locked into a tier, the price sticks — you're not going back to them next spring to explain that their pool turned out to be more expensive to service than you realized.

Same thing happens with add-ons. Filter cleans, salt cell replacements, acid washes, equipment swaps — these get quoted on the fly. One tech charges $85 for a filter clean, another charges $110 for the exact same job, a third throws it in because "they're a good customer." Multiply that across a few hundred accounts and a full season and the gap isn't trivial. It's real money that had no reason to walk out the door.

Three types of work, three different margin behaviors

A big reason pricing architecture breaks is that pool companies treat all revenue like it behaves the same way. It doesn't. Recurring, one-off, and commercial work have completely different margin profiles, and pricing rules that work for one actively damage the others.

Work typeWhat drives costMargin behaviorWhat usually goes wrong
Recurring routesDrive time, visit frequency, chemical, pool complexityThin per-visit, strong over time if route density is goodPriced by "going rate," not actual time + chemical on that pool
One-off repairsParts, diagnostic time, return trips, warranty riskHigh potential margin, high varianceUnderquoted on labor; parts markup inconsistent; return trips unbilled
Commercial accountsCompliance, reporting, higher liability, volumeCan be strong but easily eroded by scope creepResidential-style pricing; unpaid "extras"; no premium for documentation

Recurring work is your most predictable margin, but it's also the slowest to fix if you price it wrong — you're locked in. One-off work is where you can win or lose a lot fast, which is why loose quoting stings so much. And commercial work looks like a prize until you realize you're doing a municipal pool's compliance paperwork for backyard account pricing.

If your pricing architecture uses one logic for all three, at least one of them is bleeding. Usually it's commercial getting residential logic, or one-offs getting "whatever feels fair."

Build tiers from cost-to-serve, not from a brochure

The fix starts with how you define a tier in the first place. A tier should be a band of cost-to-serve, not a label. That means before you name anything, you figure out what it actually costs to service a pool — time on site, drive time share, chemical consumption, equipment complexity — and you group pools by that number.

A practical way to think about the main drivers:

  1. On-site time — a small pool with simple equipment vs. a large pool with spa, water features, and automation
  2. Chemical load — salt vs. chlorine, sun exposure, bather load, surrounding trees
  3. Equipment complexity — how many points of failure, how long diagnostics take when something's off
  4. Access and drive — gated communities, long driveways, pools that add 15 minutes just getting to the water
  5. Reporting/compliance — basically zero for residential, significant for commercial

Once you've mapped those out, your tiers stop being "Standard/Premium/Elite" and start being something like "Tier 1: pools under roughly X minutes cost-to-serve, simple equipment." The customer still sees clean names. Internally, every tier maps to a cost band, and the price is set to protect a target margin above that band.

This is also where tiers need to connect to the rest of your operation. Tier definitions should feed directly into scheduling and parts planning, because a Tier 3 pool isn't just more expensive — it takes longer and needs different stock on the truck. If your plans and your routes don't talk to each other, you get the mess described in why aligning service plans to scheduling and parts prevents recurring-revenue headaches, where the pricing says one thing and the actual delivery cost says another.

Add-on price bands: stop quoting from memory

Add-ons are where margin either gets protected or quietly given away. The fix is boring but effective: price bands with hard floors.

Instead of a single price for each add-on, define a band — a floor you never go below, a standard price for most jobs, and a ceiling for difficult conditions. The floor is what protects margin no matter what. The standard is what most jobs get quoted at. The ceiling exists because some jobs genuinely cost more (bad access, corroded fittings, a filter that hasn't been touched in two years).

  1. Filter clean (cartridge)

    floor $75 / standard $95 / ceiling $130

  2. Salt cell replacement (labor only)

    floor $90 / standard $120 / ceiling $160

  3. Acid wash

    floor and standard set by pool size band, ceiling for heavy staining

The exact numbers depend on your market and your costs. The point is that nobody on your team is inventing a price anymore. They're selecting from a band that already protects the floor. When a tech wants to go below floor, that's not their call to make — it's an exception that needs approval, which brings us to the part most companies skip entirely.

Negotiation boundaries: decide who can discount, and by how much

Discounting is where pricing architecture either holds or falls apart. If everyone who talks to a customer can quietly knock money off to close a deal or smooth someone over, your floors are fiction.

  1. Techs in the field — can quote add-ons within the standard-to-ceiling range. No going below standard without approval. They're not negotiators; they're executing a price book.
  2. Office/scheduling staff — can apply pre-approved discounts (a first-month promo, a multi-pool discount) that are already baked into the architecture. Nothing custom.
  3. Managers/owner — can go to the floor, and below floor only with a documented reason. True exceptions live here.

Negotiation boundaries aren't about control for its own sake. They exist so discretion happens where the person can actually see the margin. A tech standing at a pool has no visibility into whether that account is already thin. The owner looking at the numbers does. Pushing pricing authority down to people without margin visibility is how you give away money with the best intentions.

Require a short logged reason for any below-floor approval so you can spot recurring exceptions that mean a tier needs rebanding.

Every exception should leave a trail — not to punish anyone, but to learn. If the same exception keeps appearing (say, access is always worse than the tier assumed), that's not really an exception. That's a tier priced wrong that needs to be rebanded.

What breaks as you grow

At three trucks, you can hold pricing together with memory and a group chat. The owner knows every account. Someone asks "what do we charge for an acid wash on a big pool?" and gets an answer in two minutes. It works because the whole pricing architecture lives in a few people's heads.

That stops working once you've got more accounts than any one person can hold in memory — and it stops working silently. New hires quote off what the last guy told them. Seasonal techs invent prices. Nobody's technically wrong, but the architecture has quietly dissolved into a hundred small judgment calls. The tiers still have names. The names just don't mean anything consistent anymore.

  1. Tier drift — new accounts get assigned to tiers by gut feel at intake instead of by cost-to-serve, so the tiers slowly fill with mispriced pools
  2. Add-on entropy — the price book exists somewhere but nobody checks it in the field, so actual charges spread across a range you never approved
  3. Commercial scope creep — commercial accounts accumulate unpaid "small extras" (extra reports, extra visits, "while you're here" requests) until the account's margin is a fraction of what the contract implied

None of these show up as a crisis. They show up as a season where you worked just as hard, did just as much volume, and somehow the margin wasn't there. If you're not watching the right numbers you won't even know which tier or work type did the leaking — which is exactly why a KPI dashboard with real thresholds and owner actions matters more than a once-a-year P&L glance.

A real scenario: where the margin actually went

A company running five trucks — mostly residential with a handful of commercial accounts — was doing roughly $90k–$100k a month in revenue and couldn't figure out why net margin felt tight despite steady growth.

When they pulled it apart, a few things were happening at once. Their "Standard" tier held around 220 accounts, but roughly 60 of those were larger or more complex pools that should've been a tier up, costing an extra 10–15 minutes and more chemical per visit. Across a month of visits, that's a meaningful chunk of unpaid time. Their add-on charges for filter cleans and minor repairs ranged from about $70 to $115 for essentially identical jobs depending on the tech. And two commercial accounts were getting near-residential pricing while generating extra reporting work on every visit.

Nothing was dramatic on any single invoice. That was the whole point — invisible per transaction, significant in aggregate.

The fix wasn't a price hike. It was architecture. They rebanded tiers by cost-to-serve, which moved those ~60 pools into the right tier at renewal. They set add-on price bands with floors and told techs to quote from the band. They repriced the commercial accounts to reflect the actual compliance and reporting load. Over the following couple of quarters, margin recovered by a few points — not because they charged everyone more, but because pricing finally matched what the work cost. Most residential customers barely noticed a change.

How this ties into quote-to-cash

Pricing architecture isn't a standalone document. It's the input to everything downstream — the estimate, the parts hold, the dispatch, the invoice. If the architecture is clean but the quote-to-cash flow is loose, the leak just moves. A perfect price band means nothing if the add-on gets done in the field and never makes it onto the invoice.

Here's a simple visual of the quote-to-cash flow for reference.

Process diagram

This is why the architecture and the cash flow have to be designed together. The tier defines the recurring charge, the band defines the add-on, the negotiation boundary defines who can move the number — and then the whole thing has to actually get captured and billed. That's the territory of the quote-to-cash playbook covering estimates, parts-holds, dispatch and collections. Architecture decides what the price should be. Quote-to-cash decides whether you actually collect it.

When this level of structure makes sense — and when it doesn't

Not every company needs a full pricing governance framework. Honest read:

This makes sense when:

  1. You've got more accounts than any one person can price from memory
  2. Multiple people are quoting (techs, office staff, a salesperson)
  3. You're mixing recurring, one-off, and commercial work
  4. Margin feels tight despite solid revenue and you can't point to why

This is overkill when:

  1. You're a one or two-person operation where the owner quotes everything
  2. Your book is almost entirely uniform pools with uniform work
  3. You're still figuring out your actual costs — in that case, nail down cost-to-serve first, then build architecture on top of it

Who should hold off for now: anyone who hasn't done the cost work yet. Building tiers and bands on top of guessed costs just locks in the guesses. The cost-to-serve calculation comes first. Everything else builds from that number.

Where software earns its keep (and where it doesn't)

A basic version of all this can run on spreadsheets and discipline. Plenty of smaller operators do it and it holds — until the volume outgrows the discipline.

Where an operational platform actually helps is in making the architecture stick — tiers assigned by cost-to-serve criteria at intake rather than gut feel, add-on bands surfaced in the tech's app with the floor enforced, discounts that require the right role to approve, and exception trails that surface when a "one-time" override is really a recurring pattern. The value isn't that software sets the prices. It's that it keeps the whole team inside the architecture you designed, so the system holds at 300 accounts the same way it held at 30. Automation here is really just consistency at scale — the price book doesn't get forgotten in the field, and the margin you designed for is the margin you actually keep.

But the software doesn't do the thinking. The tier definitions, the cost-to-serve bands, the negotiation boundaries — those are decisions only you can make, because they depend on your costs, your market, and the margin you need to run the business you want.

Bottom line

Margin protection in a pool service business isn't really about charging more. It's about making sure the price always reflects what the work costs — and that this holds true no matter who's quoting, how busy the season is, or how big the operation gets.

That's what pricing architecture does. It turns pricing from a judgment call into a system: tiers defined by cost-to-serve, add-ons priced in bands with floors you never cross, negotiation authority placed where margin is actually visible, and the whole thing tied back to what delivery actually costs across recurring, one-off, and commercial work. Do that, and the margin you plan for in spring is still there when you close out the season.

Margin protection in a pool service business isn't really about charging more. It's about making sure the price always reflects what the work costs — and that this holds true no matter who's quoting, how busy the season is, or how big the operation gets.

That's what pricing architecture does. It turns pricing from a judgment call into a system: tiers defined by cost-to-serve, add-ons priced in bands with floors you never cross, negotiation authority placed where margin is actually visible, and the whole thing tied back to what delivery actually costs across recurring, one-off, and commercial work. Do that, and the margin you plan for in spring is still there when you close out the season.

Built for Pool Service Tailored to pool maintenance workflows and field service needs
Save Time Streamline scheduling, dispatch, and daily task management
Delight Customers Automated updates and reliable service delivery
Grow Revenue Increase repeat business and optimize technician utilization