Across the hundreds of home services P&Ls we’ve reviewed — including dozens of roofing companies — roofing profit margins look fundamentally different from HVAC or plumbing. The cost structure is heavier on materials, the revenue is more project-driven, and the margin improvement path at scale is flatter than most owners expect.
That doesn’t mean roofing can’t be highly profitable. It can. But the benchmarks are different, the levers are different, and the mistakes that kill margin are specific to the trade. Most roofing company owners we’ve worked with have a general sense of whether they’re “making money,” but very few can tell you their actual gross margin by job type, their true overhead rate, or how their numbers compare to what a buyer or investor would consider healthy. For more detail, see our guide on roofing fractional CFO services.
Whether you’re running a $2M operation with two crews or a $15M company across multiple markets, the benchmarks below come from real P&Ls — not industry surveys or vendor marketing. If anything here raises questions about your own numbers, reach out.
What Is the Average Profit Margin for a Roofing Company?
Most roofing companies net somewhere between 5% and 10%. Well-run operations can hit 12–15%. That’s the realistic range. If someone is telling you they’re consistently netting 20%+ on a roofing business, they’re either not accounting for owner comp properly, running storm work in a peak year, or not tracking their real costs.
The reason roofing margins are structurally lower than HVAC or plumbing comes down to one thing: materials. In a typical roofing job, materials represent roughly 35% of revenue. Add in labor at around 18% and sales commissions at 6–10%, and your cost of goods sold is already eating 60–65% of every dollar before you’ve paid for a single overhead expense. That leaves a gross margin in the 35–40% range — compared to 50%+ in HVAC where equipment cost as a percentage of revenue is lower and service work carries strong pricing power.
Unlike HVAC, where gross margin stays flat but overhead compresses dramatically as you scale, roofing gross margins hold steady across revenue tiers — and overhead doesn’t come down nearly as much as owners expect. You’re always adding crews, project managers, and marketing spend to fill the pipeline. The result is a flatter net margin curve.
| Revenue Tier | Gross Profit | Overhead (ex-Mktg) | Marketing | Typical Net (Well-Run) |
|---|---|---|---|---|
| ~$1M–$2M | ~35–40% | ~15% | ~10% | 5–8% |
| ~$3M–$5M | ~35–40% | ~13–15% | ~8–10% | 8–12% |
| ~$7M–$10M | ~35–40% | ~12–14% | ~8% | 10–15% |
| $15M+ | ~35–40% | ~10–12% | ~7–8% | 12–18% |
Want to see where your roofing company falls on this table? Book a free margin diagnostic
The key difference from other trades: gross margin doesn’t change much because it’s driven almost entirely by variable costs — materials, labor, and commissions. Whether you’re doing $2M or $15M, a roof costs roughly the same percentage of revenue to install. What changes modestly is your overhead efficiency and marketing cost per job as your brand and referral base build over time. But the compression is gradual — a $15M roofing company still needs a significant marketing budget and a real management layer to operate, which is why net margins plateau in the 12–18% range even at the top end.
What “Good” Roofing Profit Margins Actually Look Like
These benchmarks come from real residential and commercial roofing P&Ls. They’re organized into three tiers — where the top operators land, where most solid companies sit, and where a buyer or lender starts asking questions.
| Metric | Great | Good | Red Flag |
|---|---|---|---|
| Gross Profit Margin | 40%+ | 35–40% | Below 30% |
| Overhead / SGA (ex-mktg) | Under 12% | 12–15% | Above 18% |
| Marketing Spend | 6–8% | 8–10% | Above 12% |
| Net Profit Margin | 15%+ | 8–15% | Below 5% |
A few notes on how to read this. Gross profit means revenue minus your direct job costs — materials, labor (crew wages and sub costs), equipment rental, and sales commissions. Owner compensation does not belong in cost of goods sold. If your owner pay is sitting in COGS, your gross margin looks artificially low, and anyone evaluating your business will restate it anyway. Move it to overhead where it belongs.
The “Good” column is where most well-run roofing companies operate. Landing there means your pricing is solid, your crews are productive, and your overhead is under control. The “Great” column is where top-quartile operators live — and it usually comes from a combination of strong pricing discipline, efficient crews, and a mix that leans toward higher-margin job types. If you’re in “Red Flag” territory on any metric, it needs attention immediately.
Roofing COGS Breakdown: Where the Money Goes
See what your margins should be
In a free 30-minute call, we’ll calculate your true job costs, quantify what the gaps are costing you monthly, and give you the 3–5 highest-ROI fixes — ranked by impact.
Book a Free Call →Unlike HVAC where service work carries high margins and install work is lower, roofing is fundamentally a materials-heavy business. Understanding where your cost of goods sits — and where the variability lives — is how you find margin.
| Cost Component | Target Range (% of Revenue) | Notes |
|---|---|---|
| Materials | ~35% | Shingles, underlayment, flashing, fasteners, dumpsters. Largest single cost line. |
| Labor (Crew Wages / Subs) | ~18% | W-2 crew wages or sub crew costs. Varies by market and crew model. |
| Sales Commissions | 6–10% | Commission on sold jobs. Storm-heavy companies trend toward the higher end. |
| Total COGS | 60–65% | Leaves 35–40% gross margin. |
Materials at 35% is the number that defines roofing economics. In HVAC, equipment cost as a percentage of revenue is lower because service and repair work — which carries very little material cost — makes up a significant portion of revenue. Roofing doesn’t have that luxury. Almost every dollar of roofing revenue involves a full material package. That’s why gross margin in roofing structurally sits 10–15 points below HVAC.
Labor at 18% reflects the reality that most roofing companies use 1099 sub crews — unlike HVAC, plumbing, and electrical where W-2 employees are the norm. The skilled trades require licensed technicians who typically work as W-2 employees with benefits, training programs, and career paths. Roofing labor is different. The work is project-based, seasonal, and physically demanding, which makes the sub crew model the industry standard. That means less payroll burden and workers’ comp exposure on your end, but also less control over crew quality and scheduling. You need to know your actual cost per square installed and track it by crew to manage this number effectively.
Commissions at 6–10% are standard in residential roofing. Storm-driven companies that rely heavily on canvassers and commission-only sales reps tend to run 8–10%. Retail-focused companies with an established brand and inbound lead flow can keep this closer to 6%. The key is making sure commissions are tied to gross profit, not revenue — otherwise your sales team has zero incentive to protect margin on the jobs they sell.
Margins Are Not the Same Across Job Types
Roofing companies that only look at their blended margin are missing the real story. Different job types carry fundamentally different margin profiles, and your mix determines where your overall numbers land.
| Job Type | Target GP Margin | Common Range |
|---|---|---|
| Storm / Insurance Work | 40–50% | 35–50% |
| Retail Re-Roofs | 35–42% | 28–42% |
| Repairs & Maintenance | 50–65% | 40–65% |
| Commercial | 25–35% | 18–35% |
Storm and insurance work tends to be the highest-margin re-roof work because insurance adjusters set the price based on Xactimate estimates, and experienced roofers can often complete the job below that number. The margin opportunity is in knowing the supplement process cold and making sure every legitimate line item is captured. Companies that are disciplined about supplements consistently earn 5–10 points more margin than those who just accept the initial adjuster estimate.
Retail re-roofs are the most competitive job type. Homeowners paying out of pocket shop multiple bids, and the temptation to buy down the job to win it is constant. If your retail re-roof margins are below 30%, you’re either underpricing, your material costs are too high, or your crews are too slow.
Repairs and maintenance work carries the highest margin rate because material cost is minimal relative to the labor and expertise involved. A $500 leak repair might cost $50 in materials and an hour of labor. Most roofing companies underinvest in repair work because the ticket sizes feel small — but the margin rate is outstanding and it builds customer relationships that turn into re-roof opportunities.
Commercial work runs leaner margins because the jobs are bid competitively, material specifications are tighter, and payment terms are longer. It’s volume work. If you’re running commercial alongside residential, make sure you’re tracking margins separately — commercial work can drag your blended numbers down and mask what’s really happening in your residential book.
Where Hidden Costs Suppress Margin
The biggest margin leaks in roofing companies aren’t on the revenue side. They’re buried in costs that owners either don’t track closely or have accepted as normal. These are the ones we see most often across the P&Ls we review.
Material Waste and Pricing
Materials are 35% of your revenue — which means even a small improvement in material management drops straight to the bottom line. The two most common issues: ordering more material than the job requires (waste), and not renegotiating supplier pricing as volume grows. A 2% improvement in material cost on a $5M company is $100,000 in gross profit. Most suppliers will negotiate better pricing at volume thresholds, but you have to ask — and you have to track your actual cost per square to know whether you’re getting what you were promised.
Crew Productivity and Callbacks
Labor efficiency is the second-biggest lever. The difference between a crew that does 15 squares a day and one that does 20 squares is enormous when you multiply it across a full season. Callbacks are even more expensive — a warranty repair that sends a crew back to a completed job is pure cost with zero revenue. Top operators track callbacks by crew and tie it to compensation. If you’re not measuring squares per day and callback rate per crew, you’re guessing at your labor economics.
Unmanaged Commission Structures
This shows up in every trade, but it’s especially painful in roofing where commissions run 6–10% of revenue. If your sales reps are paid on revenue, they’ll close deals at whatever price wins the job — including prices that destroy your margin. Switching to gross-profit-based commissions changes behavior overnight. A rep who earns more when they protect margin will stop giving away $2,000 on a re-roof just to close the deal today.
Supplement Leakage on Insurance Work
If you’re doing storm work and not supplementing aggressively, you’re leaving 5–15% of revenue on the table per insurance job. The initial adjuster estimate almost always understates the actual scope. Code upgrades, drip edge, ice and water shield, step flashing, pipe boots — all legitimate line items that adjusters frequently leave off. Companies with a dedicated supplements process or a skilled estimator who knows Xactimate consistently earn more per job than those who accept the first check.
Overhead Creep
Every roofing company has overhead that made sense at one point but hasn’t been re-evaluated. The oversized yard lease, the admin hire that could be split across functions, the software subscriptions nobody uses. In roofing, overhead should be in the 10–15% range (excluding marketing). If you’re above 15%, walk through every line item and ask whether it’s directly contributing to revenue or job completion. On a $5M company, cutting even 2% of unnecessary overhead is $100,000 straight to net profit.
Seasonal Cash Mismanagement
Roofing is one of the most seasonal trades. According to the Bureau of Labor Statistics, specialty trade contractors — including roofers — experience significant employment and revenue volatility tied to weather and construction cycles. Revenue can swing 40–60% between peak and off-season months depending on your market. Companies that spend like it’s July year-round end up borrowing during winter to cover overhead — and that interest cost eats into margin. The well-run companies build a cash reserve during peak season (target: 2–3 months of operating expenses) and keep overhead lean enough to survive slow months without taking on debt.
What Your Overhead Structure Should Look Like
Roofing overhead is structurally leaner than HVAC because the business model is simpler — you don’t have a dispatch operation, a call center, or a warehouse full of parts. But it’s easy to let overhead creep as you add project managers, office staff, and systems.
| Category | Target Range | Notes |
|---|---|---|
| Office / Admin Salaries | 4–7% | Includes project managers, office staff; excludes owner comp |
| Facilities & Vehicles | 2–4% | Yard, trucks, trailers, dumpster staging |
| Insurance | 2–3% | GL, workers’ comp, auto, umbrella. Workers’ comp is significant in roofing. |
| Technology / Software | 0.5–1.5% | CRM, estimating software, project management, accounting |
| All Other Overhead | 1–3% | Training, legal, accounting, licenses, miscellaneous |
| Operating Overhead Total | 10–15% | Target for well-run roofing companies |
| Marketing (additional) | 7–10% | Closer to 7% for established; 10% for growth mode |
| Total Overhead | ~20% | Operating overhead + marketing spend |
The target for operating overhead in roofing — everything except marketing — is 10–15% of revenue. That’s lower than HVAC’s ~20% target because roofing companies don’t need the same infrastructure. No dispatch center, no parts inventory, no 24/7 on-call operation. But don’t let the lower target fool you into thinking overhead doesn’t matter — on a 35–40% gross margin business, every extra point of overhead takes a proportionally bigger bite out of your net.
Marketing at 7–10% is standard for residential roofing. Storm-focused companies may spend less on marketing because the storms themselves generate demand, but they invest more in canvassing and door-knocking labor (which often shows up in commissions rather than marketing). Retail-focused companies need a consistent marketing engine — SEO, Google Ads, yard signs, referral programs — and should expect to spend 8–10% to maintain lead flow.
What Buyers Actually Care About
If you’re ever thinking about selling your roofing company — or even just want to run it like it’s worth selling — here’s what buyers and PE firms evaluate beyond the margin numbers. For a full breakdown, see our guide on how to sell your roofing business.
Revenue mix. Buyers want to see a balanced mix between storm and retail work. A company that’s 90% storm-dependent is a weather bet, not a business. The strongest roofing companies have built a retail engine that produces consistent revenue regardless of whether a hailstorm hits. Storm work is the accelerant, not the foundation.
Recurring revenue potential. Roofing doesn’t have the same recurring revenue profile as HVAC maintenance agreements, but companies that have built a maintenance or inspection program — even a small one — stand out. Annual roof inspections, gutter maintenance, commercial maintenance contracts — these create touchpoints that drive re-roof leads and show buyers that the business has customer relationships, not just one-time transactions.
Labor model and crew stability. Roofing runs on 1099 sub crews — that’s the industry norm, and buyers know it. But they still evaluate the risk. A company with three reliable sub crews it’s worked with for years is very different from one scrambling to find crews every spring. Buyers want to see long-standing crew relationships, backup capacity, and some documentation of crew performance. If your entire production capability walks when one sub crew leaves, that’s a risk a buyer will price into the deal.
Owner dependency. If you’re the one estimating every job, managing every crew, and closing every deal, the business has limited value without you. Buyers pay premiums for companies where the owner can step back and the operation continues. That means having estimators, project managers, and a sales function that doesn’t depend on you personally.
Clean financials. This matters in every trade, but roofing companies are particularly prone to sloppy books — especially those doing a mix of storm and retail work with different collection timelines. If your books don’t reconcile, your overhead isn’t categorized properly, or you can’t produce job-level profitability data, a buyer will discount their offer or walk away. For help getting your financials audit-ready, see our roofing bookkeeping services.
Roofing vs. Other Trades: Why the Numbers Are Different
If you’ve read our HVAC profit margin benchmarks or plumbing profit margin benchmarks, you’ll notice roofing sits below both trades on most margin metrics. That’s not because roofing companies are run poorly — it’s structural.
| Metric | HVAC | Plumbing | Roofing |
|---|---|---|---|
| Typical Gross Margin | 45–55% | 50–60% | 35–40% |
| Materials as % of Revenue | 15–25% | 10–20% | ~35% |
| Overhead (ex-mktg) | 20–25% | 18–25% | 10–15% |
| Typical Net (Well-Run) | 12–22% | 15–25% | 8–15% |
| Recurring Revenue | High (maintenance agreements) | Moderate (service calls) | Low (project-based) |
| Labor Model | W-2 employees | W-2 employees | 1099 sub crews (industry standard) |
Roofing’s lower gross margin is offset by leaner overhead requirements. You don’t need a dispatch center, a parts warehouse, or 24/7 call answering. But the net margin is still structurally lower because materials consume such a large share of revenue. The path to higher margins in roofing is through pricing discipline, crew efficiency, and supplement capture — not through overhead compression like in HVAC.
Five Things You Can Do This Month
If you’ve read through these benchmarks and see gaps in your own numbers, here’s where to start. These are the highest-impact moves that don’t require a major overhaul.
1. Track gross margin by job type. Separate your storm, retail, repair, and commercial work. You can’t improve what you can’t see. If your accounting system lumps everything together, fix that first. Start with our Margin Diagnostic Calculator to see where your numbers stand.
2. Audit your material costs per square. Pull your last 20 jobs and calculate actual material cost per square installed. Compare it to what you quoted. If there’s a consistent gap — waste, re-orders, or supplier pricing above what you estimated — that’s margin you’re giving away. Our Roofing Job Costing Calculator can help you model the per-job impact.
3. Review your commission structure. If sales reps are paid on revenue, model what it would look like to pay on gross profit. Even a partial shift changes incentives and protects margin on every job.
4. Tighten your supplement process. If you’re doing insurance work, review your last 10 insurance jobs and check whether every legitimate supplement was captured. Code upgrades, drip edge, ice and water shield, ridge vents — these are commonly missed. Assign one person to own the supplement process end-to-end.
5. Run your overhead through a line-by-line review. Print your chart of accounts for the last 12 months and flag anything that doesn’t directly support revenue or job completion. Most roofing companies have 1–3% of revenue in overhead that could be cut without affecting operations. Our operational reporting setup makes this review straightforward.
Frequently Asked Questions About Roofing Profit Margins
What is the average profit margin for a roofing company?
Most roofing companies net between 5% and 10%. Well-run operations typically hit 10–15% net profit. The companies reaching 15%+ generally have strong pricing discipline, efficient crew operations, a good storm/retail mix, and overhead under 15% excluding marketing.
What is a good gross profit margin for roofing?
A good gross profit margin for a roofing company is 35–40%. Above 40% is excellent and typically indicates strong pricing, efficient material management, and a favorable job mix (more storm and repair work relative to competitive retail bids). Below 30% is a red flag that usually points to underpricing, high material waste, or excessive commissions.
Why are roofing margins lower than HVAC?
Materials. Roofing materials represent roughly 35% of revenue compared to 15–25% in HVAC. That structural difference means roofing gross margins start 10–15 points lower. Roofing also lacks the high-margin service and repair revenue that HVAC generates from maintenance agreements and emergency calls. The trade-off is that roofing overhead requirements are leaner — no dispatch operation, no parts inventory, no 24/7 on-call infrastructure.
How much should a roofing company spend on marketing?
7–10% of revenue is a healthy range. Retail-focused companies need to spend closer to 10% to maintain consistent lead flow. Storm-focused companies may spend less on traditional marketing but invest more in canvassing labor, which often appears in the commissions line rather than marketing. Established companies with strong referral networks can sometimes operate at 6–7%. If you’re spending above 12% without proportional revenue growth, something in your lead generation or conversion funnel needs attention.
What do roofing company buyers look for?
Revenue mix (storm vs. retail balance), owner dependency, labor model (W-2 vs. sub crews), financial cleanliness, and margin consistency. A company that nets 12% every year is more valuable than one that nets 20% in a storm year and 3% the next. Buyers pay for predictability. For a detailed breakdown, see our guide on how to sell your roofing business.
Related: exit preparation checklist | HVAC Profit Margins: What a PE Buyer Sees After Reviewing 200+ P&Ls | Plumbing Profit Margins: Benchmarks From 200+ Acquisitions | Electrical Contractor Profit Margins: A PE Buyer’s Perspective | Home services profit margins overview | Roofing company valuation | How to sell your roofing business | Why roofing companies go bankrupt
Matthew Mooney is a co-founder of Profitability Partners and a former private equity professional with deep experience in home services M&A. Over the course of his career, Matthew has reviewed over 200 acquisitions of HVAC, plumbing, roofing, and electrical companies. He previously worked at Apex Service Partners, one of the largest residential home services platforms in the country — giving him a rare, buyer-side perspective on what drives valuation, profitability, and deal structure in the trades. He now helps contractors and home services business owners optimize their financials, plan for exits, and maximize the value of their companies.
Connect on LinkedInSee where your margins are leaking
Book a free consultation with a senior partner. We'll review your situation and tell you honestly if we can help.
Book Free Consultation →