Back to All Blogs
Roofing Tips

Is Your Atlanta Roofing Shop Losing 11.4% on "Profitable" Jobs?

Feb 22, 2026 10 min read
Is Your Atlanta Roofing Shop Losing 11.4% on "Profitable" Jobs?

At a Glance

Calculate your true labor burden, including taxes, insurance, and non-billable time.

Ditch flat markups in favor of margin-based pricing that accounts for job complexity.

Implement a "post-job autopsy" to compare estimated costs against actual expenditures.

Factor in lead acquisition costs based on conversion rates, not just the price per lead.

Xavier sat across from me at a grease-stained table in a Marietta diner, pushing a crumpled P&L statement toward me like it was a confession. He had just finished a $48,642 architectural shingle replacement in Vinings, a job he thought would be a "homerun" for his three-year-old company. On paper, his 32% markup should have left him with a healthy cushion. In reality, after the last sub-contractor was paid and the final dump fee at the transfer station was swiped, he realized he'd actually lost $1,420 of his own cash.

It wasn't a lack of hustle or a shortage of leads. It was the math. Specifically, it was the "Atlanta Factor" (the brutal combination of I-285 logistics, rising labor burden, and the myth that a flat markup covers everything). Xavier is far from alone. I've looked under the hood of dozens of roofing operations from Gwinnett to South Fulton, and the story is often the same. Owners are chasing top-line revenue while their net profit is leaking out of a hundred small holes they aren't even tracking.

14.8%
Average margin leakage due to inaccurate labor burden and untracked fuel costs in metro Atlanta.

The Vanity Metric Death Spiral

Most roofing business owners I talk to are obsessed with their "sales number." They want to hit $5 million or $10 million in annual revenue. But revenue is a vanity metric; net profit is sanity. If you're doing $8 million a year at a 3% net margin, you're one bad storm season or one major workers' comp claim away from insolvency.

The biggest myth in the industry is that a "standard" 30% or 35% markup is enough. In a market like Atlanta, where the cost of living and labor is skyrocketing, that number is often a recipe for a slow death. When you apply a flat markup, you're assuming that your overhead is a fixed percentage of every job. It isn't. A 40-square roof in Buckhead with a 12/12 pitch and limited access has a completely different "cost to produce" than a 40-square ranch in Sandy Springs. If you use the same markup for both, the Buckhead job will eat your lunch every single time.

Why "Markup" is Killing Your Bottom Line

I see contractors confuse "markup" and "margin" constantly. If your materials and labor cost $10,000 and you mark it up by 30%, your price is $13,000. Your profit is $3,000. But that $3,000 divided by $13,000 is only a 23% margin. If your overhead (rent, office staff, insurance, trucks, gas) is 25% of your total revenue, you just paid $200 for the privilege of installing that roof.

In the Atlanta metro area, overhead is rarely below 25%. Between the constant idling in traffic on the Downtown Connector and the rising cost of warehouse space in areas like Norcross, your "cost of doing business" is higher than you think. To achieve a true 30% net profit after overhead, your gross margin needs to be closer to 45% or 50%.

Markup vs. Margin: The Profit Gap

25% Markup
Resulting
20% Gross Margin
Net
5% Loss After Overhead
35% Markup
Resulting
26% Gross Margin
Net
1% Net Profit
50% Markup
Resulting
33% Gross Margin
Net
8% Net Profit
100% Markup
Resulting
50% Gross Margin
Net
25% Net Profit

The Hidden Weight of Labor Burden

When Xavier told me his labor cost was "$65 a square," he was only talking about what he paid his sub-contractors. He wasn't factoring in the "labor burden" for his in-house repair tech or his project managers. This is where the National Center for Construction Education provides vital frameworks for understanding total workforce costs.

Labor burden isn't just the hourly wage. It's the FICA taxes, the unemployment insurance, the health benefits, and the massive cost of workers' comp in Georgia. Then there's the "unproductive time." Your crews aren't laying shingles while they're sitting in a Chick-fil-A drive-thru or waiting for a delivery that was supposed to be at the job site in Decatur at 7:00 AM but didn't show up until 10:30 AM.

If you aren't adding at least 25% to 35% on top of your base hourly wages to account for this burden, your job costing is a fantasy. I've seen shops that thought they were making $1,200 in profit on a small repair job realize they actually broke even because the tech spent four hours in traffic getting from a job in Alpharetta to another in Stockbridge.

Safety as a Profit Center, Not an Expense

I often hear owners complain about the cost of safety equipment and training. They see it as a drain on the margin. I argue the opposite. Beyond the obvious ethical obligation to keep your people safe, the financial cost of a single violation or, heaven forbid, an accident, can wipe out a year's worth of profit.

Integrating the OSHA Stop Falls Campaign standards into your daily operations isn't just about compliance; it's about risk management. A single OSHA fine for a lack of fall protection can range from $16,131 to over $161,000 for repeated violations. If you're operating on a 10% net margin, you have to sell an extra $1.6 million in roofing just to pay off one major fine. When you build the cost of "Plan, Provide, and Train" into your job costing, you aren't losing money. You're buying insurance against a catastrophic business loss.

The $1,500 Sales Commission Mistake

Here is a scenario I saw play out with a client in Lawrenceville last month. He had a sales rep who was "killing it," closing 45% of his leads. But the owner noticed his bank account wasn't growing. We dug into the numbers and found the rep was discounting jobs by an average of 7% to "close the deal."

The owner thought, "It's only 7%, I still have plenty of room." But that 7% came directly out of the net profit. If the job was supposed to have a 15% net profit, that "small" discount just wiped out nearly half of the company's earnings on that project. Meanwhile, the rep still got his full commission based on the gross sale price.

Your sales compensation must be tied to gross profit, not top-line revenue. If your reps aren't incentivized to protect the margin, they will sell your company into bankruptcy just to hit their personal commission targets. I recommend a "sliding scale" commission structure where the percentage the rep earns increases as the job's profitability increases. This turns your sales team into "profit protectors" rather than just "order takers."

Lead Quality and the "Hidden" CAC

One area of job costing that almost every Atlanta roofer ignores is the true Cost Per Acquisition (CAC). Most guys look at what they paid for a lead and call it a day. But if you're buying shared leads from a big-box lead generator and only closing 1 in 15, your real cost isn't the $45 you paid for the lead. It's $675 in lead costs alone, plus the gas and time your rep spent driving all over the metro area to meet homeowners who weren't even serious.

I've analyzed data from dozens of campaigns and the difference between "raw" leads and verified homeowner leads is staggering when you look at the final margin. When you use a platform that allows you to preview job details before you spend a dime, you're cutting out the waste that usually gets buried in your "marketing" expense line.

Reducing the "noise" in your sales pipeline is one of the fastest ways to improve your job costing accuracy. If your sales team is using a mobile app to claim exclusive leads in specific zip codes like 30327 or 30075, they spend less time driving and more time in front of high-intent buyers. That efficiency has to be reflected in your numbers.

The 5% Buffer Rule

"Always add a 5% 'unknown complexity' line item to your estimates for homes older than 22 years in neighborhoods like Virginia-Highland or Old Fourth Ward. Between rotted decking and non-code-compliant previous repairs, these 'surprises' are almost guaranteed."

Performing the "Post-Job Autopsy"

You cannot manage what you do not measure. Every single Friday, you should be sitting down to review the "Estimates vs. Actuals" for every job completed that week.

Did the crew use 43 squares of shingles when you estimated 39? Why? Was it a measurement error, or did the crew leave too much waste? Did the dumpster fee come in at $640 when you estimated $450?

Xavier started doing this after our diner meeting. Within three weeks, he discovered that one of his crews was consistently "losing" two bundles of shingles and a roll of underlayment on every job. It wasn't a mistake; it was theft. Without a post-job audit, that $180 "leak" per job would have cost him over $14,000 by the end of the year.

The Myth of "Keeping the Crews Busy"

The most dangerous phrase in a roofing company is: "We just need to keep the crews busy."

This mentality leads to taking low-margin work just to cover the overhead. But in a high-demand market like Atlanta, "busy-ness" is not the goal. Profitability is. If you have a crew out on a job that is only returning a 4% net margin, you have effectively "blocked" that crew from being available for a job that could return a 22% net margin.

Opportunity cost is a real expense. Every time you say "yes" to a low-margin job to "keep the lights on," you are saying "no" to a high-margin job that might come in tomorrow. By utilizing a high-intent lead source, you can afford to be more selective. You can wait for the jobs that fit your "profit profile" rather than panic-bidding on every roof in Smyrna.

Common Questions

While industry averages vary, a healthy residential roofing company in a competitive market like Atlanta should aim for a 12% to 18% net profit margin after all expenses and owner salary.

Final Thoughts on Protecting Your Peace (and Profit)

Job costing isn't just about spreadsheets and calculators. It's about the freedom to run your business without the constant weight of "where is the money going?" When you master your numbers, you stop being a slave to your revenue and start being the master of your growth.

Xavier didn't need more leads. He needed to stop the bleeding on the leads he already had. By adjusting his markup to a true margin-based model, accounting for his full labor burden, and auditing his jobs every Friday, he turned his company around in less than six months. He's no longer staring at P&L statements in diners with a look of despair; he's looking at his bank account with a plan for his next three trucks.

The Atlanta market is unforgiving to those who guess. But for the contractor who knows their cost to the penny, it is a land of massive opportunity. Stop guessing, start tracking, and protect the margin you've worked so hard to earn.

Share