Skip to content
RoofCostLab

How We Calculate

By Muhammad Tayyab Updated Published Prices checked

Most roofing cost pages quote a range without saying where it came from. This page documents every input we use, so you can check our numbers or argue with them.

Every input, with its source

Inputs behind every RoofCostLab estimate
Input Value Source As of
Roofer wage, national mean $27.95/hour BLS OEWS, SOC 47-2181 May 2025
Roofer wage, national median $26.65/hour BLS OEWS, SOC 47-2181 May 2025
Labor burden 50 to 70% of wages Workers' comp class 5551 at $15 to $45 per $100 of payroll, plus payroll taxes Industry range
Overhead and profit 35 to 40% of the billed rate Typical contractor margin Industry range
Billed crew rate $78/hour standard roofing; $65 to $125 by job type Derived below 2026
Tear-off and replacement About 3 person-hours per square Crew productivity of 0.8 to 1.2 squares per hour per roofer 2026
Waste on cut materials 12% asphalt, 15% tile, 18% slate and cedar, 10% metal, 8% membrane, 5% gutters Ordering practice by material 2026
Regional labor State wage ratio, damped 40% toward 1 and held to 0.85 to 1.20 BLS OEWS state wages May 2025
Permit, where normally required $150 to $500 (average about $224) Published permit fee data (HomeGuide, Angi) 2026
Material prices 201 priced lines; 73 (36%) on a verified retail listing Published 2026 retail pricing Checked October 23, 2026

Labor

Labor starts from the U.S. Bureau of Labor Statistics Occupational Employment and Wage Statistics survey, May 2025, occupation code 47-2181 (Roofers). The national mean wage is $27.95/hour and the median is $26.65. Both are on the BLS OEWS page for roofers, which also lists the state figures our regional pricing uses.

A wage is not a billed rate. Roofing carries an unusually heavy labor burden, 50 to 70% against a 25 to 30% construction norm, because workers' compensation class code 5551 is among the most expensive classifications in the trades. Adding burden and then overhead and profit gives the rate a homeowner is actually charged. At the middle of both ranges:

$27.95 wage x 1.60 burden     = $44.72 fully-burdened cost
$44.72 / (1 - 0.375 OH&P)     = $71.55 billed
at the top (1.70, 0.40)       = $79.19 billed
anchor used                   = $78.00

The middle of the assumptions gives $71.55 and the top gives $79.19. We anchor standard roofing labor at $78, near the top of that span. Using the midpoint instead would lower every labor line on the site by about 8%, and if your local contractors bill below our figures, that is the first number to argue with.

The $78 anchor moves by job type: $65/hour for gutter work, $85 for leak and flashing work where a mistake means water inside, $92 for specialty systems such as metal, tile and skylights, $105 for slate and cedar, and $125 for emergency call-outs. Crew hours come from productivity benchmarks: asphalt installation runs 0.8 to 1.2 squares per hour per roofer, so a full tear-off and replacement is about 3 person-hours per square.

Materials

Material quantities are held for each job's default size and scaled to your input. Prices come from 2026 published retail pricing. Where we have a verified in-stock retail listing for a specific product, that price is used and the row links to it; 73 of 201 lines are verified this way.

Where a published range looked wrong, we checked it against retail listings and against the published cost guides at HomeGuide, Angi, This Old House and Homewyse. Nothing on this site is copied from those guides, but they were used to sanity-check material bands, and saying so is part of showing the work.

Quantities are what a roofer orders, not what the roof measures. Anything sold whole (bundles, rolls, sticks, boxes, the skylight itself) is rounded up to a whole unit, and the waste allowance is applied only to materials that get cut to fit. A skylight, a vent or a dumpster carries no waste allowance, because none of it ends up as offcuts.

What changed on October 23, 2026

Every material line was checked against the job it prices. The review found and fixed errors that had been in the dataset since launch. The common pattern was a product sold in a pack, such as a 50-foot roll of flashing or a 10-foot stick of drip edge, whose quantity had been entered in the job's own units:

An automated check now multiplies every pack size out against the job and fails the build if the result cannot fit, so this class of error cannot return unnoticed.

Geometry

Roof area is the building footprint multiplied by the pitch multiplier, √(1 + (rise/12)²). A roofing square is 100 square feet. Asphalt shingles are three bundles per square. Every calculator on this site uses one shared, unit-tested implementation of this math, so a shingle count on one page cannot disagree with an estimate on another.

Where the 6/12 pitch multiplier comes from A right triangle. The horizontal side is the run, 12 units. The vertical side is the rise, 6 units. The sloping side is the rafter, which is the actual roof surface. By Pythagoras the rafter is the square root of 12 squared plus 6 squared, so every square foot of floor area carries 1.118 square feet of roof. Run: 12 Rise: 6 Rafter 26.6° Ridge Eave
A 6/12 pitch rises 6 inches for every 12 inches of run, which is 26.6 degrees. The rafter is 1.118 times the length of the run, so a 1,700 sq ft footprint at this pitch carries about 1,901 sq ft of roof. That multiplier is why roof area and floor area are never the same number.
One roofing square, and the 3 bundles that cover it A square grid ten cells wide and ten cells tall, each cell one square foot, making 100 square feet in total. That is one roofing square. Beside it are 3 stacked bundles of asphalt shingles, which is what it takes to cover that area. 10 ft 10 ft 1 square 100 sq ft 3 bundles
A roofing square is 100 square feet of roof surface, not one square foot. Roofers order and price in squares, and standard asphalt shingles run 3 bundles to the square. Converting early is what keeps the material order and the labor bid talking about the same roof.

Regional pricing

Selecting a state re-prices labor using BLS state-level roofer wages. Wages vary 1.7x across the fifty states, from Illinois at $37.33/hour down to Mississippi at $21.77, but billed rates compress relative to wages, because overhead and material costs travel less than payroll does. We therefore move only 60% of the way toward the state's wage ratio and hold the result between 0.85 and 1.20, rather than applying the raw wage spread. Materials are priced nationally.

Permits and tear-off

Where a permit is normally required we add the national band of $150 to $500; published permit data puts the average at about $224. Maintenance and small repairs are usually exempt and carry no permit line. On a full replacement, tear-off and disposal of the old roof are priced per square of roof, with a second layer at about half again the first.

What this cannot tell you

For those reasons every figure here is a planning range, not a quote. Use it to sanity-check the bids you receive and to understand what drives them. Get three written, itemized quotes before committing to work.

Corrections

If you are a roofing contractor and our numbers disagree with your market, we want to hear it. That is the fastest way this dataset improves. Email hello@roofcostlab.com with the job type, your region and your figure.