Methodology
How our calculators work
What each tool calculates, what it assumes, and when we refuse to show a number.
Roof area (roof-geometry@1.0.0)
If you enter a measured roof area, we use it as is. From a footprint, we add any overhang to each side, then multiply the horizontal area by the slope factor √(1 + (rise ÷ 12)²). This assumes every roof plane has the same pitch. For a single pitch, gable and hip roofs have the same area, so the shape does not matter. Dormers, extra valleys, mixed pitches and porch roofs are not included. A roofing square is 100 sq ft. The waste allowance is always your choice.
Shingle bundles
Bundles = round up (area × (1 + waste) ÷ coverage per bundle). You must enter the coverage printed on the product. We never assume a bundles-per-square figure. The result is a material quantity, not a price.
Budget ranges: two separate modes
1. Provisional planning allowance (residential-planning-allowance@1.0.0)
For residential roof replacement in Ohio or Michigan, the replacement planner multiplies your roof area in squares by an owner-set planning rate for the material you pick: $500–$1,000 per square for architectural shingles; $1,000–$1,800 per square for standing-seam metal; $500–$1,200 per square for exposed-fastener metal; $500–$1,000 per square for flat or low-slope roofs (EPDM or TPO). Each rate assumes a one-layer tear-off, standard underlayment, flashing and cleanup. It is not an observed or verified local average and not a quote. The rates live in one editable file (data/pricing/residential-planning-allowances.csv), each row with a review date. We plan to replace them with ranges built from verified local quotes. Materials without a row (3-tab and premium shingles, for example) and repairs get no dollar figure.
2. Verified local pricing (verified-pricing-policy@1.0.0) — currently off
A local price range can only come from human-approved installed-cost records: executed contracts, final invoices, or (commercial only, labeled) winning public awards. Every record must have a measured roof area and match the requested system and scope. Permit estimates, permit fees, bids, supplier quotes, cost guides and our own allowance never count. Mixed-scope, emergency, hazmat, structural and outlier records are excluded. Institutional awards are not blended with private jobs unless labeled.
| Segment | Window | City min. | Metro min. | State min. |
|---|---|---|---|---|
| residential | 36 months | 30 | 75 | 75 |
| commercial | 60 months | 12 | 20 | 20 |
We step from city to metro to state and stop at the first level that has enough records. The result states the area actually used, the record count, the time window, the record types and a confidence level. National data is never used for a local figure. Below the thresholds, the tool says "Not enough verified local pricing data". No verified records exist today, so every tool says that. The thresholds come from our research brief. They are editorial release rules, not statistical proof, and we will revisit them as data arrives.
Coating feasibility (coating-feasibility@1.0.0)
Any one of these stop conditions blocks coating as a recommendation: wet insulation, wet areas found in a moisture survey, a damaged or unsafe deck, repeated leaks with no known source, widespread membrane or seam failure, unresolved ponding or blocked drains, a peeling or failed existing coating, a shingle substrate, and widespread rust or fastener failure on metal. Unknown answers, active warranties and EPDM substrates lead to "professional review required". The feasibility check itself never prices a coating. For early budgeting, the commercial roof cost planner applies our provisional per-square-foot settings for a coating system plus cleaning, prep and minor repairs, and only for roofs that qualify.
Repair triage and commercial intake
These tools sort what you report into urgency tiers or screening attention levels. They do not diagnose, certify or price anything. Commercial intake summaries are marked "user-reported, professional inspection needed".
Gutters, siding, fascia and soffit
Gutter footage is the sum of your runs plus waste. We suggest downspouts as one per run, plus more on runs longer than a spacing you choose. Hangers are run length ÷ spacing, plus one per run. End caps are two per run minus two per corner. Siding net area is walls (width × height) plus gables (½ × base × height) minus openings. J-channel is the sum of opening perimeters, and starter is the sum of wall widths. Soffit area is edge length × depth ÷ 12. Coil rolls are fascia length ÷ (strips per coil width × roll length), where strips per width = ⌊coil width ÷ (face + bends)⌋. Every package count uses coverage you enter from the product. None of these tools give prices.
Windows and chimneys
The window planner totals units and opening area and flags lead-safe (pre-1978), rot and leak, egress and access issues. The chimney triage sorts symptoms into safety, urgent, soon or scheduled tiers and names the trade that usually does each repair. Neither diagnoses anything or gives a price.
Roof pitch pages
Each page from 1/12 to 18/12 is calculated from its own pitch: angle = atan(rise ÷ 12), grade = rise ÷ 12, slope factor = √(1 + (rise ÷ 12)²). Code notes come from the model IRC (R905.2.2 asphalt shingle slope limits) and OSHA 29 CFR 1926.500 (low-slope versus steep roof definitions).
Five-year budget
Each cost is an amount you entered × (1 + your escalation %)^(year − 1). The escalation rates are yours. We do not infer replacement dates or costs from roof age.
Permit data (roof-scope-rules@1.0.0)
We import public permit exports without changing them. We check for duplicate IDs, invalid or future dates, issued-before-submitted dates, missing descriptions and malformed amounts. We classify each description with versioned keyword rules into separate types: replacement, repair, membrane recover, coating, other restoration, mixed scope, unclear scope and accessory mention. Suspect records go to a human review queue, and reviewers record a reason and time for each decision. Permit dollar fields are stored under their exact meaning and are never eligible for pricing. Detroit results.
Reproducibility
Every tool module carries a version number. Replacement-planner runs are logged with sanitized inputs (ZIP truncated to three digits), outputs and the pricing basis used, so the same inputs and data version give the same result.