Pool Contractor Gross Margin Calculator: Stop Guessing Profit
Most pool contractors confuse markup with margin. Use this free calculator + regional benchmarks to track true job profitability before it's too late.
How do you know your real profit on a pool job, not just your markup
Your real profit is your gross margin, not your markup. Markup is what you add to cost. Margin is what's left after all direct costs come out of the price, expressed as a percentage of the price itself. A 30% markup on a job that costs $40,000 prices out at $52,000, but that only puts about 23% of the price in your pocket as gross margin, not 30%. Chase markup and you'll underprice every gunite build, every equipment swap, every route stop you quote. Track margin job by job and you'll see which pools actually make you money and which ones just keep the crew busy.
Why markup sheets fail on pool work specifically
Pool contracting isn't one job type wearing different labels. A gunite shell, a vinyl liner replacement, and a fiberglass drop-in have different labor curves, different subcontractor dependencies, and different material cost volatility. A single blanket markup percentage applied across all three assumes they behave the same way financially. They don't.
Plaster and pebble finishes swing in material cost more than most builders price for, and labor productivity on a gunite shell depends heavily on crew experience and dig conditions you can't always see from the surface. Equipment packages, pumps, filters, heaters, automation, salt systems, carry their own margin profile separate from the shell work. If you markup the whole job at one flat percentage, you're guessing on at least two of those categories every time.
The fix isn't a bigger spreadsheet. It's separating direct costs into categories before you apply anything, so you know which parts of the job carry your margin and which parts are close to breakeven pass-throughs.
The cost buckets that actually make up a pool job
Every job, new build or renovation, breaks into the same core buckets. Track them separately and margin stops being a mystery at closeout.
- Shell and structure: excavation, steel, gunite or vinyl or fiberglass shell, decking, tied to surface square footage and gallons of water volume.
- Equipment package: pump, filter, heater, sanitation system, automation controls, priced as its own line with its own markup, not folded into shell cost.
- Finish materials: plaster, pebble, tile, coping. Price swings here hit margin fast if you're quoting off last quarter's material cost.
- Labor by trade phase: excavation crew, plumbing, electrical, gunite crew, finish crew. Each phase has its own productivity rate, and lumping them into one labor line hides which phase is eating your margin.
- Access and site conditions: backyard access, crane needs, fence removal and replacement, protecting existing hardscape. Tight access adds real hours that a flat markup never accounts for.
- Chemistry and startup: initial fill, balancing chemicals to target ranges for pH, alkalinity, and sanitizer, plus the labor to manage that startup period before handoff.
When you cost these separately, you start to see patterns. Maybe your equipment packages carry solid margin but your finish material line keeps getting squeezed by price increases you didn't rebid for. That's information a markup sheet can't give you.
Start every bid with a real site measure
Surface square footage and water volume in gallons drive almost every cost bucket above, so get them right before you price anything. A site measure should capture surface SF, shape complexity, depth changes, and existing equipment condition on renovation jobs. Guessing gallons off a rough sketch is how contractors end up underordering chemistry for startup or undersizing a pump for actual turnover requirements.
On renovation work, the site measure also needs to flag what's hidden: plumbing runs under decking, equipment pad access, electrical panel capacity for equipment upgrades. These are the line items that turn a clean bid into a change order fight mid-project, and they belong in your cost estimate from day one, not discovered week three.
Local barrier and setback code basics matter here too. Fence height, gate self-closing requirements, and equipment pad clearance vary by jurisdiction, and skipping that check at the measure stage means redesign costs later that eat straight into margin.
Renovation and service margin behave differently, price them differently
New build and renovation margin is project margin: one job, one closeout, one number to reconcile. Service margin is different. It's built on route density and recurring frequency, and it compounds or erodes slowly instead of all at once.
On renovation jobs, build in a clear allowance line for unknowns, equipment behind a wall you can't see, plumbing that doesn't match the as-built. An allowance that's too thin gets absorbed straight out of margin. An allowance that's realistic and clearly communicated to the customer protects both your price and your relationship when something turns up mid-job.
On service, margin comes from route efficiency more than any single job price. A technician running a tight route of 20 to 25 stops a week in a dense service area earns better margin per stop than the same technician running 12 stops spread across a wide territory, even if the per-stop price is identical. Route density math matters as much as chemistry skill when you're pricing recurring service.
Route density: the pool-specific margin lever most contractors ignore
Service margin isn't just labor cost against service fee. It's drive time, stop density, and how tightly you can cluster accounts geographically. Two techs with identical skill and identical per-pool pricing can produce very different margins if one is running a compact route and the other is crossing town between stops.
When you're pricing a new service account, map it against your existing route before you quote a number. A pool that fits cleanly into an existing route at a nearby stop time costs you almost nothing extra to service. A pool that requires a new route segment or extends drive time on an existing route carries a real cost that a flat monthly service rate often doesn't capture. Some contractors solve this with tiered service pricing based on route fit, others build a standard rate but track route margin separately so they know which accounts to grow and which to eventually let go.
Job-site scenarios that expose weak margin fast
Green-to-clean recovery. A neglected pool that's turned green needs chemistry correction, possibly multiple visits, and sometimes filter or equipment attention before it's back to normal service condition. If you price a green-to-clean the same as a routine service call, you'll lose money on the labor and chemical cost of getting it back to target range. Price it as its own line item with its own margin, not an add-on to a monthly rate.
Equipment failure in season. A pump or heater failure during peak season creates urgency for the customer and margin pressure for you if you don't have a clear pricing structure for emergency equipment replacement. Same-day or rush equipment work carries real costs, expedited parts, after-hours labor, that a standard equipment markup doesn't cover. Build a separate rate for urgent equipment work so you're not subsidizing customer emergencies out of your regular margin.
Renovation allowance overruns. When a renovation uncovers plumbing or structural issues beyond the allowance, that's the moment margin either gets protected or erased, depending on whether you have a clear change order process ready to go. Contractors who treat allowance overruns as a normal part of renovation work, priced and documented immediately, keep their margin. Contractors who absorb it to keep the customer happy quietly give away profit on every renovation job they run.
A weekly habit that keeps margin visible instead of a surprise
Job costing only works if you check it before the job closes, not after. A simple weekly habit: pull actual costs against bid for every open job, sorted by the cost buckets above, shell, equipment, finish, labor by phase, access, chemistry and startup. If a bucket is running over bid by more than a small margin partway through the job, that's your signal to adjust labor allocation or flag a change order conversation with the customer before the job finishes, not after.
This is the gap PoolWright's margin calculator is built to close. It's not a replacement for good field management, it's a way to see the same cost buckets your estimator used at bid time reflected against actuals in real time, so a slipping equipment line or an underpriced access condition shows up in week two instead of at final walkthrough. Try PoolWright free for 14 days.
The contractors who scale in this trade aren't the ones who bid the highest markup. They're the ones who know, job by job and route by route, exactly where their margin is coming from and where it's leaking.
Frequently asked questions
What's the difference between markup and gross margin on a pool job?
Markup is the percentage added to your cost to set a price. Gross margin is the percentage of the final price that's left as profit after direct costs come out. The same markup percentage produces a smaller margin percentage every time, because margin is calculated against the higher price number, not the lower cost number.
Should equipment packages be priced with the same markup as the shell?
Not usually. Equipment costs and shell costs behave differently in the market and carry different labor and installation profiles. Pricing them as separate line items lets you protect margin on each independently instead of assuming one blanket rate covers both.
How do I price a green-to-clean job differently from routine service?
Treat it as its own scope with its own cost estimate. Factor in the chemical volume needed to bring the pool back to target range, extra labor for multiple visits if needed, and any equipment inspection or cleaning required. Pricing it as an add-on to a standard monthly rate usually undercharges for the actual work involved.
What should a renovation allowance actually cover?
It should cover realistic unknowns you can't verify without opening up the site, hidden plumbing condition, equipment pad wiring, structural issues under decking. The allowance should be based on what your site measure and prior renovation experience tell you is likely, not a generic percentage pulled from an unrelated job type.
How does route density affect service margin?
Route density determines how much drive time and non-billable travel eats into your labor cost per stop. A pool that fits tightly into an existing route costs less to service than one that requires a new route segment, even if you charge both accounts the same monthly rate. Mapping new accounts against existing routes before quoting protects your service margin.
Do I need new software to start job costing correctly?
No. You need a cost template that separates the categories above and a habit of checking actuals against bid weekly instead of only at closeout. Tools like PoolWright's calculator make that faster and easier to see across jobs, but the underlying discipline works with a spreadsheet too, if you actually keep it updated.
Generate pool proposals in Minutes
PoolWright automates margin tracking so you spot unprofitable jobs instantly.
Start free trial →Pricing · Compare · Sample PDF