
Guides
Assessing profitable roofing contractor services
Assess profitable roofing contractor services with a crew-day formula, job-costing method, and asphalt-shingle quote application.
What to take away
- Revenue ranks nothing. A replacement with a large invoice can earn less per crew day than a handful of repairs.
- The measure that ranks a service honestly is contribution per constrained crew day, and every term in it comes from your own records.
- Two costs are almost always missing from a roofer's line-level view: drive time and rework.
- Run the calculation on twenty finished jobs before you change the menu. A ranking built on impressions ranks your memory, not your business.
To identify profitable roofing contractor services, use your own crew, market, and disposal-cost records; there is no universal ranking.
At the quote level, use the same service definitions you use for completed jobs. For asphalt-shingle replacement and repair, keep the original quote and compare it with final job revenue and actual costs for shingles and other materials, tear-off and disposal, labor, and scope changes. Separate repair jobs from replacements so one service line does not inherit the other's costs.
Why revenue misleads in this trade
Roofing invoices vary by an order of magnitude across job types, so revenue sorts the menu by job size. That tells you nothing about whether the work was worth doing.
The scarce thing is not customers. It is a trained crew on a roof in daylight, in weather that allows work. Everything should be ranked against that.
The measure
For each job type, work out contribution per crew day.
Calculate job contribution = job revenue − job-specific costs, then contribution per constrained crew day = job contribution ÷ crew-days committed. Include fully burdened labor, materials, disposal, subcontractors, equipment, travel costs, and other costs assigned to the job. Count job-related travel and callback time in crew-days, using one consistent conversion method; allocate shared travel time and vehicle costs across jobs consistently.
Contribution per crew day
- Take invoiced amount for finished job
- Subtract direct materials, waste, disposal
- Subtract burdened labor, travel, loading
- Subtract equipment days as capacity cost
- Subtract rework or callback hours
- Divide by crew days, gate to gate
The result is one number per job. Group the jobs by type and take a median rather than an average, because one disaster job will otherwise decide the ranking.
The two costs that hide
Drive time. On repair-led work it can rival the on-roof time. If your jobs are scattered across a county, the drive is the product and nobody is paying for it. Measure it for two weeks before you conclude anything about whether repairs are profitable. Record travel time and vehicle costs against the relevant jobs, and use the same allocation rule for shared trips.
Rework. A callback consumes a crew day, generates no invoice, and usually happens in the worst weather. It attaches to a job type, so track it that way rather than as a general overhead. Record callback time and related materials or disposal against the original job type. Job types with a callback habit will move down the ranking sharply once this is counted.
What tends to score well, and why
These are patterns to test against your own numbers, not conclusions.
Compare the service lines your company actually sells as separate job types—for example, asphalt-shingle replacement, asphalt-shingle repair, gutter work, skylight work, and storm-damage repair. These are categories to calculate, not a universal profitability order; use the same quote, cost, and crew-time rules for each.
- Inspections and condition reports. Short, low kit, and they generate the pipeline for everything else.
- Repeat maintenance visits on buildings you already know. The diagnosis time is already paid for.
- Repairs clustered geographically. The same work spread across a county scores badly and concentrated in a subdivision scores well.
- Replacement work on roofs your crew has done many times. Familiarity is the whole difference between a clean crew day and a long one.
And two that often score worse than expected: emergency call-outs that break a scheduled crew day, and one-off jobs on unfamiliar systems where the learning happens on the customer's roof.
Before you cut a line
A low score does not always mean remove it. Ask what the line is doing that the number cannot see.
- Does it generate the referral that fills the replacement calendar?
- Does it fill a shoulder season when the crews would be idle?
- Does it hold a relationship with a property manager who also buys the profitable work?
- Is it low because of how it is priced, or because of how it is run?
If the answer to the last one is how it is run, fix the running before you touch the price. The service definitions you are ranking, and how each family behaves, are set out in the roofing contractor services and packages guide.
The three ways this calculation goes wrong
- Labor costed at wage rather than fully burdened, which flatters every labor-heavy line.
- Equipment treated as free because it is owned, which flatters anything that ties up a lift or a truck for days.
- Jobs sorted by what they were sold as rather than what was performed, which puts the cost of scope growth on the wrong line entirely.
Fix all three before you rank anything. The kit-day side of the arithmetic depends on knowing what each job type actually locks up, which is what the roofing contractor equipment and setup guide exists to establish. The burdened labor rate depends on the roles and progression in the roofing contractor hiring and training guide.
What you may not do with the answer
You may not advertise the result. A claim that one service is better value than a competitor's needs support before it is made, and the FTC's Advertising FAQs: A Guide for Small Business explains the substantiation requirements for advertising claims. Your internal ranking is a management tool, not a marketing message.
You also may not let profitability decide what is safe. Some work pays well and requires access your crew cannot manage. OSHA's Fall Protection in Residential Construction guidance sets out the available methods and puts the duty on the employer to apply what governs the site. That duty does not move because a job type ranks first.
Which permits and registrations each job type requires is a separate gate again, covered in the roofing contractor licensing and compliance guide.
Keeping the records that make this possible
None of this works without job-level costing. Time booked to a job rather than to a week. Materials issued to a job rather than to a van. Disposal tickets attached to the job that produced them.
A usable job-costing sheet can use one row per completed job, with fields for service type, quoted amount, final revenue, fully burdened labor, materials, disposal, subcontractors, equipment, travel time and cost, callback time and cost, and crew-days. Keep the labels and allocation rules consistent so the median for each service type is comparable.
The IRS's Publication 583, Starting a Business and Keeping Records, sets the baseline for retention, and your own job costing sits on top of it. If you are opening now, build this before the first job rather than reconstructing it later, using the sequence in how to start a roofing contractor business.
Common questions
How many jobs do I need before the ranking means anything?
Enough that a single bad job cannot move a job type's median. Twenty finished jobs of a type is a reasonable place to start looking, and a season is better.
What if a service is profitable but I dislike it?
That is a legitimate reason to stop, as long as you say so plainly. Firms that quietly under-resource a service they resent produce complaints instead of a decision.
Should I raise prices on the lowest-scoring service?
Only after checking whether the problem is scope growth or rework. Raising a price to cover an estimating error makes every future quote wrong in the same direction.
Does this work for claim funded restoration?
The arithmetic works, but add the cost of the administrative time and the delay in collection. Both are real and both are often larger than owners expect.







