How to Improve Roofing Profit Margin: A Contractor's Field Guide to Keeping More of Every Dollar
On this page
Most roofing owners can tell you their revenue to the dollar. Ask them their net margin on last month's tear-offs and the room goes quiet. That gap is the whole problem. A roofing company can grow revenue 40% in a year and end up with less money in the bank than it started with, because every weak point in pricing, job costing, crew speed, material waste, and rework gets multiplied by a bigger number. Margin is the discipline that turns volume into wealth instead of stress.
This is a working playbook for raising both your gross margin and your net margin without chasing impossible price increases or cutting corners that come back as callbacks. It is written for the owner who runs three crews and answers the phone at 7 a.m., the sales manager trying to stop the bleeding on bid-day discounts, and the storm lead who knows the next 90 days will make or break the year. We will move from the math, to pricing, to the field, to the back office, to the parts of the job most contractors leave on the table. Wherever a number appears, it is a worked example you can copy and re-run with your own figures, not a promise about your business.
Start With The Only Two Margin Numbers That Matter
Before you change anything, you have to measure two numbers honestly. Almost every roofing company confuses them, and the confusion is expensive.
Gross margin is the money left after the direct cost of producing the job: materials, field labor (including the labor burden, which we will break down), equipment rental, dump fees, subcontractor pay, permits, and the crew's portion of fuel. It is the margin the job itself earns before the office, the trucks in the yard, the sales commissions, marketing, insurance, and your salary get paid.
Net margin is what is left after all of that overhead comes out. It is the number that actually lands in retained earnings. It is the number a buyer would value your company on. It is the number that determines whether a slow February sinks you.
Here is the relationship, stated plainly:
Revenue
- Cost of Goods Sold (materials + burdened labor + direct job costs)
= Gross Profit (Gross Margin %)
- Operating Overhead (office, sales, marketing, admin, owner pay, insurance)
= Net Profit (Net Margin %)
A quick benchmark from the field, not a rule: a healthy residential re-roof operation often runs a gross margin in the high-30s to high-40s percent and a net margin somewhere between 6% and 12%. Commercial work tends to run thinner gross but can deliver solid net on volume. Storm and insurance-restoration work can run richer on individual jobs but carries higher sales and documentation cost. If your net is under 5%, you are one bad summer from trouble. If you do not know your net at all, that is the first leak to plug.
The mistake that hides your real margin: markup vs. margin
This is the single most common math error in roofing, and it quietly steals points off your margin all year.
Markup and margin are not the same thing. If a job costs you $10,000 and you add 30% markup, you charge $13,000. But your margin on that $13,000 is only $3,000 / $13,000 = 23.1%, not 30%. Contractors who think "I marked it up 50, so I'm making 50" are actually making 33.3%.
The conversion you need taped to your monitor:
Price = Cost / (1 - desired margin)
So to make a true 40% gross margin on a $10,000 cost job:
Price = $10,000 / (1 - 0.40) = $10,000 / 0.60 = $16,667
That is a 66.7% markup to hit a 40% margin. If you had "marked it up 40%" you would have charged $14,000 and earned a 28.6% margin, leaving roughly $2,700 on the table on one job. Run ten of those a month and you have buried six figures a year in a rounding error.
| Desired gross margin | Required markup on cost |
|---|---|
| 25% | 33.3% |
| 30% | 42.9% |
| 35% | 53.8% |
| 40% | 66.7% |
| 45% | 81.8% |
| 50% | 100% |
Fix this first. It costs nothing and it is the highest-leverage hour you will spend this quarter.
Know Your True Cost Before You Touch Price
You cannot price for margin if you do not know your real cost. The two costs roofers get wrong are labor burden and overhead allocation.
Calculate your real labor burden
The wage you pay a crew member is not what that crew member costs you. The burden is everything stacked on top of the hourly rate. Skip it and every labor line in your estimate is understated, which means every margin you think you are earning is fiction.
Worked example for one installer:
Base hourly wage: $25.00
+ Payroll taxes (FICA, FUTA, SUTA ~10%): $2.50
+ Workers' comp (roofing class, often
$15-$40 per $100 of payroll; use 20%): $5.00
+ General liability allocation: $0.75
+ Health/benefits (if offered): $2.00
+ Paid time off / holiday allocation: $1.20
+ Non-productive time (training, drive,
weather, loading) spread over hours: $2.30
--------------------------------------------------
True burdened cost per productive hour: $38.05
That is a burden of roughly 52% on top of base wage, and for roofing it can run higher because workers' comp rates for roofing trades are among the steepest in construction. If you have been estimating labor at the $25 wage, every job is leaking about $13 an hour of real cost that you never recovered in price. On a 1,500-hour month that is a $19,500 hole.
The non-productive time line is the one most people forget. A crew that is on the clock 40 hours a week but only nailing shingles 32 of them has a productivity ratio of 80%. You pay for 40, you bill for 32. Either you build that into the burdened rate or you eat it.
Allocate overhead so it actually gets recovered
Overhead is the rent, the office staff, the estimator's salary, the trucks, the software, the insurance, the marketing, and your own pay. If you do not load a share of it into every job, your gross margin can look great while your net margin is zero.
The clean way to do it: take last year's total overhead, divide by your total direct job costs (or total revenue), and get an overhead recovery rate. Say your annual overhead is $600,000 and your total direct job cost is $3,000,000. Your overhead rate is 20% of direct cost. Every estimate then carries that 20% before you add net profit on top.
Direct job cost: $10,000
+ Overhead recovery 20%: $2,000
= Break-even price: $12,000
+ Net profit target 10%
($12,000 / 0.90): $13,333
Now you know the real floor. Anything below $12,000 on that job loses money even though it "feels" profitable because materials and labor are covered. This is exactly how busy companies go broke: they price above gross break-even but below net break-even and only find out at tax time.
Pricing Strategy: Defend Margin At The Point Of Sale
Most margin is lost in the last ten minutes of a sales call, when the homeowner pushes and the rep folds. Pricing for margin is half math and half sales process.
Stop selling on price; sell on scope and certainty
The roofer who wins on lowest bid wins the worst jobs at the worst margins and inherits every callback. Reframe the conversation away from price-per-square and toward what is actually included: the underlayment spec, the ventilation correction, the flashing details, the warranty terms, the cleanup standard, and who answers the phone in year three when something leaks. A detailed, itemized scope lets you charge for value the lowball competitor is silently omitting.
Practical move: build a one-page "what's included vs. what they leave out" comparison and hand it to every homeowner. You are not bad-mouthing competitors; you are making the invisible visible. The drip edge, the ice-and-water shield at the eaves and valleys, the pipe-boot upgrades, the proper nailing pattern for the wind zone, the magnetic sweep of the yard. When the buyer can see the scope difference, the price difference stops being the only variable.
Use good-better-best to raise the average ticket
Presenting one price invites a yes, a no, or a negotiation. Presenting three tiers shifts the question from "should I buy?" to "which should I buy?" Anchor with a premium option (architectural shingle, full ventilation upgrade, enhanced manufacturer warranty), make the middle option the one you actually want to sell, and let the basic option exist mostly to make the middle look reasonable. Done well, tiering lifts average revenue per job without a single price increase, because a meaningful share of buyers trade up when the upgrade is laid out clearly.
Kill the discount reflex
Discounting is the fastest way to destroy margin because it comes straight off the bottom. Reconsider the $13,333 job at a 10% net. If the rep "gives" the customer a $1,000 discount to close, that is not 7.5% off the price. It is roughly 75% of the entire net profit on the job. The crew still works just as hard, the materials still cost the same, and you keep almost nothing.
Train reps to trade, never give. If the buyer needs to feel a win, move scope, not price: a smaller add-on, a payment-schedule concession, a longer workmanship warranty that costs you little if your work is sound. Protect the number.
Reprice on every material swing
Shingle and OSB prices move. If you are quoting from a price sheet you built six months ago, inflation is eating your margin in real time. Tie your estimating to current supplier pricing and rebuild your unit costs at least quarterly, and immediately after any manufacturer price increase letter. A 9% jump in bundle cost that you do not pass through is a 9%-of-materials hit to your gross margin on every job until you fix it.
Win Margin In The Field: Speed, Waste, And Rework
The estimate sets the ceiling on margin. The crew determines how much of it you actually keep. Three field levers move the needle the most: production speed, material waste, and callbacks.
Production rate is a margin lever
Labor is usually your second-biggest cost after materials, and it is the one most under your control day to day. A crew that completes a 30-square tear-off and re-roof in one day instead of one and a half keeps the burdened labor cost down and frees the crew for the next job. You are not asking anyone to rush unsafely; you are removing the friction that wastes hours.
Where crew hours leak:
- Late starts and long loads. A crew that rolls at 8:30 instead of 7:00 loses 7.5 hours a week per man. Stage materials and stage the truck the night before.
- Multiple supply-house trips. Every run for forgotten flashing or the wrong color is two hours of burdened labor and fuel. A complete material list and a staged delivery to the roof solves it.
- Rework from sloppy prep. Decking surprises and poor layout cause stops. A thorough pre-job inspection catches the bad decking before the crew is standing on it.
- Idle time waiting on the dumpster or the inspector. Schedule the dumpster drop and pickup and the inspection windows around the production plan, not the other way around.
Track production rate as squares-per-crew-hour by crew. The moment you measure it, it improves, and the spread between your fastest and slowest crew tells you exactly where coaching pays.
Material waste is pure margin loss
Every extra bundle you order and do not install is money you already spent and will not bill. Industry practice builds in a small waste factor for cuts, hips, and valleys, but the difference between a tight 10% waste plan and a sloppy 18% is real money. On a job with $6,000 of shingles, that 8-point gap is $480 off the top, and it repeats on every job.
Control it with accurate takeoffs (aerial measurement reports have made this far more precise than tape-and-guess), a per-job material list tied to the measurement, and a return policy with your supplier for unopened bundles. Then reconcile: what did you order, what got installed, what came back. The crews learn fast when the waste shows up on a report with their name on it.
Callbacks and rework are the silent margin killer
A callback is a job you do twice and bill once. It is the worst possible outcome for margin because it carries full labor and material cost against zero new revenue, plus the reputational cost. A single leak callback that sends two men back for half a day on a $13,000 job can erase a third of the net profit.
The prevention is boring and it works:
- A written installation standard for flashing, valleys, penetrations, and nailing patterns, so quality does not depend on which crew showed up.
- A foreman quality checklist signed before the crew leaves the site.
- Photo documentation of the critical details (more on this below, because it pays twice).
- Hiring and retaining skilled crews. Turnover is a margin problem disguised as an HR problem; an experienced installer wastes less, works faster, and causes fewer callbacks than the revolving door of green labor.
Buy Better: Procurement And Materials As A Margin Lever
Materials are usually your single largest cost, often 35% to 45% of a residential re-roof. A few points of improvement on your largest cost line moves net margin more than almost anything you can do on the sales side, and most of it is negotiation and process, not magic.
Negotiate like the volume buyer you are
Supply houses price in tiers, and most roofers never ask where they sit. If you are buying a steady volume across the season, you have leverage you are not using. Concrete moves that recover margin without changing a single thing on the roof:
- Consolidate your spend. Splitting orders across three suppliers to save a few dollars per square on each often costs you the volume rebate you would have earned by giving one supplier the whole book. Pick a primary, commit volume, and negotiate the tier.
- Ask for the rebate program in writing. Manufacturers and distributors frequently run contractor rebate and loyalty programs that pay back a percentage at quarter or year end. That rebate is pure margin; it lands after the job is sold and costs you nothing to capture except the paperwork.
- Lock pricing ahead of announced increases. When a manufacturer sends a price-increase letter, that is a window. Buy ahead on your committed volume at the old price where storage allows, and update your estimates to the new price immediately so you capture the spread on inventory you already own.
- Reconcile every invoice. Distributor invoices contain errors, and they rarely err in your favor. A quick line-item check against the order catches double-billed freight, wrong tier pricing, and quantities that never showed up. Over a season this is real money.
Cut waste with measurement, not guesswork
The single biggest material-margin leak is over-ordering driven by imprecise takeoffs. Aerial measurement reports give you square counts, ridge and hip and valley lengths, and pitch to a tolerance a tape-and-ladder estimate cannot match. Tie your material order directly to that measured takeoff plus a defined waste factor (commonly around 10% for a straightforward roof, more for cut-up roofs), and you stop the habit of "order an extra few bundles to be safe" that quietly buries margin on every job.
Then close the loop the same way you do on labor: order, install, return. Track the delta. A crew that consistently leaves three unopened bundles on the truck is either over-ordering or the takeoff is wrong, and either way it is a fixable margin leak once it is visible on a report.
Protect against theft and shrinkage
Material that walks off the job is 100% margin loss, and on busy crews it adds up. Staged deliveries timed to the install, a simple sign-off on what was delivered, and accountability for what is left over are unglamorous controls that pay for themselves. The point is not to police honest crews; it is to make the material flow visible so the unexplained gaps show up.
The Back Office: Where Net Margin Lives Or Dies
You can run a tight field operation and still bleed net margin in the office. Three areas pay back the attention immediately.
Job costing on every single job
Gross margin at the company level is an average that hides your winners and losers. Job-level costing tells you the truth: which job types, which crews, which salespeople, and which neighborhoods actually make money. You close the loop by comparing the estimate to the actual cost on every job, every time.
A simple job-cost close-out captures:
Estimated vs. Actual
Materials: est $6,000 | actual $6,420 | -$420
Labor (hrs): est 120 | actual 138 | -18 hrs
Labor ($): est $4,566 | actual $5,251 | -$685
Other: est $900 | actual $1,050 | -$150
-----------------------------------------------
Estimated gross profit: $4,534 (29.6%)
Actual gross profit: $3,279 (21.4%)
That job missed its estimate by eight points of margin, and now you can ask why. Was the takeoff light? Did the crew lose hours to decking? Did the salesperson under-scope to win the bid? Without the close-out you would never know, and you would keep repeating the loss. Do this on twenty jobs and patterns jump out: maybe steep-slope jobs always run over on labor, or one crew is consistently 15% slower, or one rep keeps cutting price. Each pattern is a margin fix.
Collect faster and stop financing your customers
Margin you have earned but not collected is not margin yet. Slow receivables force you to borrow to make payroll, and that interest comes straight out of net profit. Tighten the cash cycle:
- Collect a deposit at signing and a progress draw at material delivery, so you are never fully fronting the job.
- Invoice the day the job closes, not at the end of the month.
- Make payment frictionless: card on file, online payment links, financing offers for the homeowner so the deal closes without you carrying the balance.
- Work aged receivables weekly. A 60-day invoice is far more likely to be collected than a 120-day one.
Cut the overhead that does not produce
Overhead reduction is the quiet path to net margin because every dollar you stop spending on non-producing overhead drops straight to the bottom line, the same as a dollar of new gross profit but without the work. Audit it line by line once a year:
- Software you pay for and do not use.
- Trucks sitting idle that could be sold or right-sized.
- Marketing channels that generate leads but never close (track cost per acquired customer by source, not cost per lead).
- Office processes that take three people because nobody automated them.
The goal is not to run lean to the point of breaking; it is to make sure every overhead dollar is buying either production capacity or profitable growth.
People: Pay Plans, Productivity, And The Cost Of Turnover
Labor is your most controllable major cost, and the people decisions behind it move margin more than most owners admit. Two levers matter most: how you pay, and how long people stay.
Design pay plans that align with margin, not against it
The wrong pay plan quietly works against your margin every day. A few patterns to watch:
- Hourly with no production accountability rewards slow work. If a crew earns the same whether a 30-square job takes one day or two, you are paying for the slow version. Pair hourly with a production standard and track squares-per-crew-hour so speed is visible and coachable.
- Per-square or piece-rate rewards speed but can punish quality if you do not pair it with a callback accountability. Tie a portion of pay to clean work that passes the foreman checklist, so the crew is not incentivized to race past the flashing details that cause callbacks.
- Sales commission on revenue, not margin, pushes reps to close at any price. If a rep earns the same percentage whether the job runs at 40% or 25% gross margin, they will discount to close because volume is all that pays them. Commission on gross profit instead of revenue aligns the rep with the number that actually matters. The moment a rep's paycheck depends on margin, the bid-day discounting problem largely solves itself.
A worked example of the commission shift: a rep closes a $16,000 job. On a 10%-of-revenue plan they earn $1,600 regardless of how much they cut price to get there. On a plan paying 35% of gross profit, that same job at a healthy $6,000 gross profit pays $2,100, but a discounted version at $4,000 gross profit only pays $1,400. Now the rep feels the cost of the discount in their own pocket, which is exactly where you want it.
Turnover is a margin problem wearing an HR costume
Every time an experienced installer leaves, you pay to recruit, you pay while the replacement is unproductive, and you pay in the higher waste and callback rate that green labor produces. The fully loaded cost of replacing a skilled crew member runs into the thousands once you count lost production and the rework their inexperience causes. Retention is therefore a direct margin strategy:
- Pay competitively for skill, because the cheapest hourly rate is rarely the cheapest cost per square installed.
- Keep crews busy and scheduled; idle weeks send good people to competitors.
- Invest in the gear, the staging, and the planning that make a good installer fast, so the job is not frustrating.
- Promote from within so your best people see a path.
A stable crew that knows your installation standard cold is faster, wastes less, and causes fewer callbacks than a revolving door of new hires. That stability shows up directly in job-cost actuals, and it is one of the most underrated margin levers in the business.
Safety is a margin line, not only a moral one
Roofing carries some of the highest injury rates in construction, and that is precisely why workers' compensation is such a heavy part of your labor burden. A strong safety record, documented training, and consistent use of fall protection per the relevant OSHA standards can lower your experience modifier over time, which directly reduces the workers' comp rate baked into every burdened labor hour. Fewer incidents also mean fewer lost-time events that blow up a job schedule. Safety pays back in margin, not only in doing right by your people.
Sell To The Right Roofs: Targeting Is A Margin Strategy
Here is the part most margin advice skips. Your margin is set partly before the sale even happens, by which doors you knock and which lists you mail. Spray-and-pray marketing buries your customer-acquisition cost, which is pure overhead, and overhead drags net margin. The cheapest sale is the one to a roof that is genuinely due, because the homeowner already half-knows it and your close rate climbs while your cost per sale falls.
Think about where acquisition cost goes. If you mail 10,000 homes at roughly $0.70 a piece, that is $7,000. If the list is random, you might close a handful of jobs and your acquisition cost per job is brutal, dragging net margin down across the whole company. If the same $7,000 is spent on 10,000 homes selected because their roofs are aging out of their service life or sit in the footprint of a recent hail or high-wind event, the response rate and close rate climb and your cost per acquired customer drops. Same spend, more profitable jobs, better net margin. Targeting is a margin lever as much as a marketing one.
This is the practical role of roof-intelligence data, and where a service like RoofPredict fits the operator's workflow. RoofPredict reads aerial imagery to estimate a roof-age range for individual addresses (a range, because you are inferring condition from imagery, not pulling a permit date), and it models storm exposure per roof so you can see which homes sit where hail or wind most likely did damage. It then ranks doors, routes, and mailing lists so your crews and canvassers spend their time on the roofs that are statistically most likely to be due, and it can enrich your own CRM or mailing list with those roof-age and storm signals rather than replacing the list you already own.
Be honest about what that buys you and what it does not. A modeled storm exposure is odds, not proof that a specific roof was damaged; only an inspection confirms damage. A roof-age range narrows the field; it does not guarantee every flagged house needs a roof this year. What it does change is the denominator. Instead of knocking 100 cold doors to find a handful of real prospects, you knock a list weighted toward roofs that are aging out or storm-worn, so more of your canvassing hours and more of your mailing budget land on prospects who convert. That lifts close rate and lowers acquisition cost, and both flow straight into net margin. It is not a lead-buying service handing you appointments; it is a targeting layer that makes your own sales effort more efficient. Used well, it shrinks the most wasteful line in many roofing budgets, the cost of chasing doors that were never going to buy.
The margin logic is simple. Marketing and sales cost is overhead. Lower the cost to acquire each profitable job and net margin rises even if you never change a single price. Targeting the right roofs is one of the few levers that improves margin from both directions at once: higher close rate (more revenue per sales hour) and lower acquisition cost (less overhead per job).
Storm And Insurance Work: Real Margin Without Crossing The Line
Storm-restoration work can carry strong margins because the scope is often larger and the homeowner is motivated. But it is also where contractors get themselves into legal trouble and where sloppy documentation leaves money on the table. The margin opportunity here is almost entirely about thorough documentation and accurate estimating, done strictly on your side of a hard legal line.
Know exactly what you may and may not do
This matters because crossing it can cost you your license, fines, and the whole job. The compliant lane for a roofing contractor is narrow and clear. You may inspect the roof, document the damage thoroughly with photos and measurements, and prepare an accurate, itemized estimate to repair the work you would actually perform, written to align with the line-item pricing the carrier's software uses. You may state plain facts about your own scope to the carrier.
You may not, for a fee, negotiate or adjust or "handle" the homeowner's claim, interpret what their policy covers, promise a specific payout or that the claim will be approved, promise that the deductible will be waived or absorbed or somehow disappear, advertise a "free roof," or represent the homeowner against their insurer. That last cluster is unlicensed public adjusting, and it is illegal in essentially every state. State insurance departments, such as the Texas Department of Insurance and others, publish guidance on exactly these prohibitions, and they enforce it.
The do-not-say list, taped next to the markup chart:
- Do not say: "We'll handle your claim for you."
- Do not say: "We'll get your deductible waived" or "you won't pay your deductible."
- Do not say: "Free roof" or "no cost to you."
- Do not say: "This is covered" or "the insurance will pay for all of it."
- Do not say: "We'll negotiate with your adjuster."
The safe frame, said out loud to the homeowner: you document the damage thoroughly, write an accurate repair estimate, and hand it to them. The homeowner files the claim. The insurer decides coverage. You repair what is approved and within your scope. Staying in that lane is more than legal hygiene; it builds the kind of reputation that produces referrals, which are the cheapest leads of all and the best thing that can happen to your net margin.
Document like it is the difference between a fair estimate and a short one
The margin on restoration work lives in the completeness of your documentation, because an estimate that captures every legitimate line item of damage repair is simply a more complete and accurate estimate than one that misses half of it. This is not about inflating anything. It is about not leaving real, documentable repair scope undocumented.
A documentation workflow that supports an accurate estimate:
- Date and source the weather event. Pull the hail or wind report for the property's location and date from the National Weather Service or the Storm Prediction Center so your inspection is anchored to a real, verifiable event.
- Photograph everything, systematically. Overview shots of each slope, then close-ups of every impact mark, lifted shingle, damaged vent, bruised soft metal, and damaged accessory. Use chalk circles and a reference object for scale. Photograph the collateral: gutters, screens, soft metals, AC fins, which corroborate the event.
- Document the test square. A 10-by-10 test square with marked hits is standard practice for demonstrating the density of impact.
- Measure precisely. An accurate aerial or on-roof measurement of squares, ridges, hips, valleys, and penetrations so the estimate reflects the real roof, not a guess.
- Write the estimate to the standard line-item pricing. Build it in the estimating format the carrier recognizes, with every legitimate component: tear-off, underlayment, drip edge, starter, ridge, flashing, vents, and the code-required upgrades your local building code mandates. Code items are real costs and belong in an accurate estimate.
- Hand the documented estimate to the homeowner. They file. The insurer decides. You stay on your side of the line.
Where a roofer most often short-changes the estimate, and the margin with it, is forgetting code-mandated items and overlooked collateral damage. If your local code requires ice-and-water shield, a drip edge, or a specific ventilation correction, those are legitimate cost lines that belong in an accurate repair estimate. Missing them is not generosity; it is just an inaccurate estimate that leaves you doing required work you did not account for, which is a direct hit to job margin.
Supplements, done the right way
A supplement is simply a revised, more complete estimate submitted when the initial scope missed legitimate repair items, often things you could only see once the tear-off exposed the decking. The compliant way to do it is to document the newly discovered condition (photos of the rotten decking, the unforeseen layers, the code item that applies) and submit an accurate revised estimate for that real, documented scope. That is honest estimating, and it recovers margin you would otherwise eat. The line you do not cross is using "supplementing" as a euphemism for negotiating the claim or padding for items you cannot document and will not actually install. Document it, price it accurately, and let the homeowner and insurer process it.
Edge Cases And What Pros Get Wrong
The playbook above covers the main levers. The last points of margin hide in the edge cases that experienced operators learn the hard way.
The low-bid trap on commercial and large jobs
Big jobs feel like margin because the revenue number is large, but a one-point estimating error on a $200,000 commercial flat-roof job is $2,000, and the errors are rarely one point. Large jobs need tighter takeoffs, contingency lines for the conditions you cannot see until the membrane is up, and a written change-order process so every scope addition gets priced and signed, not absorbed. The most common large-job margin killer is the unpriced change order: the crew does the extra work to keep the customer happy, and nobody bills for it.
Underpricing steep and complex roofs
A cut-up roof with multiple valleys, dormers, and a 10/12 pitch is not the same job per square as a simple gable, and pricing it the same is a margin leak. Steep-slope and complex work is slower, wastes more material in cuts, and carries more risk. Build pitch and complexity multipliers into your estimating so the price reflects the real labor and waste, instead of letting your simple jobs subsidize your hard ones.
Chasing revenue growth that outruns your margin systems
Growth without job-costing discipline magnifies every flaw. Adding a fourth crew when you cannot already tell which of your three crews is profitable just multiplies the loss. The owners who scale profitably are the ones who fixed their pricing math, their labor burden, and their job-costing close-out before they stepped on the gas. Revenue is vanity; margin is sanity; collected cash is reality.
Letting warranty and callback exposure go untracked
If you do not track callbacks by crew and by cause, you are flying blind on one of your biggest hidden costs. A crew that closes fast but generates a callback on one job in five is less profitable than a steadier crew with clean work, even if the first crew looks better on the production report. Measure the full cost, including the return trips.
Ignoring the cost of the wrong customer
Some jobs cost you margin before they start: the perpetual price-shopper who will fight every line, the property in a location that adds an hour of drive time each way, the customer whose roof you talked yourself into even though it was not really due. Qualifying out the wrong jobs is a margin decision. This is also where smarter targeting pays a second dividend: aiming your effort at roofs that are genuinely aging out or storm-exposed means more of your pipeline is made of motivated, qualified buyers and less of it is made of tire-kickers who burn sales hours and never convert.
Build A Margin Dashboard You Actually Look At
Everything above only compounds if you measure it. Most roofing owners track revenue and bank balance and nothing else, which is like flying with only an airspeed indicator. A small set of numbers, reviewed weekly and monthly, turns margin from a year-end surprise into a steering wheel.
The metrics worth tracking, and why each one defends margin:
| Metric | How to calculate | Why it protects margin |
|---|---|---|
| Gross margin by job | (Revenue - direct cost) / revenue, per job | Reveals which job types and crews actually earn |
| Estimate-to-actual variance | Estimated cost vs. actual cost per job | Catches chronic underbidding and field overruns |
| Squares per crew-hour | Installed squares / burdened crew hours | Surfaces slow crews and lost field hours |
| Material waste rate | (Ordered - installed) / installed | Flags over-ordering and takeoff errors |
| Callback rate by crew | Callbacks / jobs completed, per crew | Exposes the true cost of fast-but-sloppy work |
| Cost per acquired customer by source | Marketing spend by channel / jobs closed from it | Kills the channels that burn overhead |
| Average days to collect | Invoice date to payment date | Protects cash and cuts borrowing cost |
| Net margin, trailing 90 days | Net profit / revenue | The one number that says if it is all working |
You do not need expensive software to start. A disciplined spreadsheet updated from your job-cost close-outs beats a fancy system nobody fills in. The discipline is the asset: a fifteen-minute weekly review where you look at the variance report and ask one question, "which job missed and why," will catch margin leaks while they are still small enough to fix.
Set the cadence
- Weekly: estimate-to-actual variance on every closed job, squares-per-crew-hour by crew, aged receivables. These are the early-warning gauges.
- Monthly: gross margin by job type, callback rate by crew, cost per acquired customer by source, and your trailing net margin. These reveal the patterns.
- Quarterly: rebuild unit pricing against current supplier costs, reset margin targets, and audit overhead line by line.
When these numbers live on one page and get a real review, margin stops being a feeling and becomes a managed outcome. The owners who win are the ones who turned the dashboard into a habit, not the ones who bought the most expensive tool and never opened it.
A 90-Day Plan To Raise Your Margin
Reading levers does not move margin. Sequencing them does. Here is a concrete order of operations for an owner starting from "I know my revenue but not my net."
Days 1-15: Get the math right.
- Calculate your true burdened labor rate per crew member.
- Calculate your overhead recovery rate from last year's numbers.
- Rebuild your unit pricing using the price = cost / (1 - margin) formula. Fix any markup-vs-margin error.
- Set a target gross margin and a target net margin and write them down.
Days 16-45: Defend price and tighten the field.
- Roll out good-better-best estimating and a "what's included" scope sheet.
- Set a no-discount policy; train reps to trade scope, not cut price.
- Start tracking squares-per-crew-hour and material waste per job.
- Implement a foreman quality checklist with photos before the crew leaves.
Days 46-75: Close the loop in the back office.
- Job-cost every job: estimate vs. actual, every time.
- Tighten receivables: deposit at signing, invoice at close, payment links and financing.
- Audit overhead line by line; cut the non-producing spend.
- Start tracking cost per acquired customer by marketing source.
Days 76-90: Make acquisition efficient and lock in the gains.
- Shift marketing and canvassing budget toward targeted lists of roofs that are aging out or storm-exposed, and measure the change in close rate and cost per acquired customer.
- Review the job-cost patterns from the prior month and fix the biggest recurring leak (a slow crew, a chronic underbid job type, a waste problem).
- Re-run your margins with the new data and reset targets for the next quarter.
Do this once and margin improvement stops being a vague goal and becomes a measured, repeatable system. The companies that compound wealth in roofing are not the ones with the most trucks. They are the ones that keep the most of every dollar, on every job, and know exactly why.
Where RoofPredict Fits
Margin is mostly an inside game: pricing math, labor burden, job costing, crew speed, and collections. But one of the largest line items dragging net margin in many roofing companies is the cost of finding customers, and that is where targeting the right roofs earns its keep. RoofPredict reads aerial imagery to estimate a roof-age range per address and models storm exposure per roof, then ranks doors, routes, and lists, and enriches your own CRM or mailing list with those signals, so your crews and your mailers concentrate on the roofs most likely to be due. The honest limits stand: a roof-age range narrows the field rather than naming an exact install date, and modeled storm exposure is odds rather than proof of damage that only an inspection confirms. What it changes is efficiency. Fewer wasted doors and fewer wasted mail pieces mean a lower cost to acquire each profitable job, and that flows straight to net margin. If you want to point your sales effort at the roofs the storm wore out and the roofs aging out, that is the problem this is built to solve. See how it works at https://roofpredict.com/.
FAQ
What is a good profit margin for a roofing company?
It depends on the work, but as a field benchmark, healthy residential re-roofing operations often run a gross margin in the high-30s to high-40s percent and a net margin between roughly 6% and 12%. Commercial work tends to run thinner gross margins but can deliver solid net on volume. If your net margin is under 5%, you are vulnerable to a slow season; if you do not know your net margin at all, calculating it is the first step. These are reference points from the field, not guarantees for any specific business.
What is the difference between gross margin and net margin in roofing?
Gross margin is what is left after the direct cost of producing a job: materials, burdened field labor, dump fees, permits, equipment, and subcontractors. Net margin is what is left after overhead also comes out: office, sales commissions, marketing, trucks, insurance, and owner pay. A company can have a strong gross margin and a near-zero net margin if overhead is not allocated into pricing. Net margin is the number that actually lands in retained earnings and the one a buyer values your company on.
How do I calculate labor burden for a roofing crew?
Start with the base hourly wage, then add payroll taxes (FICA, FUTA, SUTA), workers' compensation (steep for roofing trades, often 15-40 dollars per 100 dollars of payroll), general liability allocation, any benefits, paid time off, and a factor for non-productive time like drive, loading, and weather delays. For roofing, the burden commonly adds 45-55% on top of the base wage. A 25-dollar wage can carry a true burdened cost near 38 dollars per productive hour. Estimating at the raw wage understates cost on every job.
Why does the markup vs. margin difference matter so much?
Because they are not the same number, and confusing them silently costs margin all year. A 40% markup on cost only yields about a 28.6% margin, not 40%. To make a true 40% gross margin you must mark up cost by 66.7%, using the formula price = cost / (1 - margin). Roofers who think "I marked it up 40, so I make 40" are leaving real money on every job. Fixing this single calculation is the highest-leverage, zero-cost change most companies can make.
How does targeting which roofs to pursue improve profit margin?
Marketing and sales effort is overhead, and overhead drags net margin. When you knock random doors or mail random lists, your cost to acquire each profitable job is high. When you concentrate the same budget on roofs that are aging out of their service life or sit in a recent hail or wind footprint, close rate rises and cost per acquired customer falls. That improves net margin from two directions at once: more revenue per sales hour and less overhead per job. Better targeting is a margin lever, not only a marketing one.
How do callbacks affect roofing profit margin?
Callbacks are one of the most damaging hidden costs because they carry full labor and material cost against zero new revenue. A single leak callback sending two installers back for half a day on a mid-size job can erase a third of that job's net profit, plus the reputational cost. Prevent them with a written installation standard, a foreman quality checklist signed before the crew leaves, photo documentation of critical details, and retaining skilled crews. Tracking callbacks by crew and by cause reveals which crews are genuinely profitable once rework is counted.
What can a roofing contractor legally do regarding insurance claims?
A roofer may inspect, document damage thoroughly with photos and measurements, prepare an accurate itemized repair estimate aligned to standard carrier line-item pricing, and state plain facts about their own scope. A roofer may not, for a fee, negotiate or handle the claim, interpret policy coverage, promise a specific payout or approval, promise the deductible will be waived or absorbed, advertise a free roof, or represent the homeowner against the insurer; that is unlicensed public adjusting and is illegal in essentially every state. The safe frame: you document and estimate, the homeowner files, and the insurer decides coverage.
How does accurate documentation affect margin on storm restoration jobs?
The margin on restoration work lives in the completeness and accuracy of your documentation, because an estimate that captures every legitimate repair line item is simply more complete than one that misses half of it. This is not about inflating anything; it is about not leaving real, documentable scope undocumented. Roofers most often short-change their own estimate by forgetting code-mandated items (ice-and-water shield, drip edge, ventilation corrections) and overlooked collateral damage. Those are real cost lines that belong in an accurate estimate, and missing them means doing required work you never priced.
Should I ever discount to win a roofing job?
Discounting is the fastest way to destroy net margin because it comes straight off the bottom line. On a job with a 10% net margin, a 1,000-dollar discount can wipe out roughly three-quarters of the entire profit while the crew works just as hard and materials cost the same. Train your sales team to trade rather than give: if a buyer needs a win, adjust scope, payment terms, or warranty rather than cutting the price. Protecting the number on every job is one of the most direct ways to defend margin.
How often should I update my roofing prices?
Rebuild your unit pricing at least quarterly, and immediately after any manufacturer or supplier price increase. Shingle and OSB prices move, and quoting from a price sheet built months ago lets inflation eat your margin in real time. A 9% jump in bundle cost that you do not pass through is a direct 9%-of-materials hit to gross margin on every job until you correct it. Tie your estimating to current supplier pricing so your costs in the estimate match your costs at the supply house.
The Roofline by RoofPredict
Stay Ahead of Roofing Market Changes
Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.
Sources
- National Roofing Contractors Association — nrca.net
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- NOAA National Weather Service — weather.gov
- NOAA Storm Prediction Center — spc.noaa.gov
- Occupational Safety and Health Administration (OSHA) — osha.gov
- U.S. Bureau of Labor Statistics — bls.gov
- Bureau of Labor Statistics Producer Price Index — bls.gov
- Federal Trade Commission Business Guidance — ftc.gov
- Texas Department of Insurance — tdi.texas.gov
- International Code Council (IRC) — iccsafe.org
- U.S. Small Business Administration — sba.gov
- U.S. Census Bureau Construction Statistics — census.gov
- Internal Revenue Service — irs.gov
- RoofPredict — roofpredict.com
Related Articles
Nearmap vs EagleView for Roofing Contractors: A Field-Tested Breakdown
Two aerial imagery platforms, two very different jobs. Here is how Nearmap and EagleView actually stack up across measurements, imagery, sales, and storm work for a roofing crew.
Roofing Claim Revenue Cycle Management, Explained
The money in storm roofing leaks in the murky middle between selling a job and collecting the final check. Here is the practitioner's system for managing every stage of the claim revenue cycle — legally and profitably.
How Much Money Roofers Leave on Insurance Claims (And Where It Actually Leaks)
A line-by-line breakdown of where restoration roofers quietly lose 10-30% of legitimately earned revenue, and the documentation discipline that recovers it.