Skip to main content

5 Essential Roofing Company KPIs for Insurance Work, Reviewed Monthly

RoofPredict Team, Roofing Data & Growth Research··32 min readInsurance Restoration Sales
On this page

If you run insurance restoration work and you only have time to track five numbers every month, track these: intake-to-inspection cycle time, file completeness rate, supplement and depreciation recovery rate, gross margin variance by job type, and closeout completion rate. Those five tell you whether claim jobs are moving, whether your files would survive an adjuster or a re-inspection, whether you are actually collecting the money you signed up to collect, whether you are making margin or just making noise, and whether finished jobs are truly finished. Everything else on a roofing dashboard is supporting cast.

Insurance work hides its problems better than retail work. A cash retail replacement either gets paid or it doesn't, and you find out fast. A claim job can sit "in process" for ninety days while a recoverable depreciation check goes uncollected, a supplement never gets submitted, and three sets of unlabeled phone photos rot in a sales rep's camera roll. The job looks alive on the board. The money is dead. A monthly KPI review exists to catch that before it becomes a pattern.

These five KPIs measure your operation, not the homeowner's policy. They do not tell you whether a carrier will approve a claim, what a deductible should be, or whether storm damage is covered. Those are decisions for adjusters, public adjusters, engineers, and the policy language itself. A roofing contractor's job is to inspect honestly, document thoroughly, scope accurately, build the roof right, and collect what was approved. The KPIs below measure how well you do that, month over month, with the same definitions every time.

Below you'll find each KPI defined precisely, the formula, what "good" looks like, the field reality behind it, and the monthly questions that turn a number into a decision. There's a copy-ready monthly meeting agenda, a documentation checklist, and a scorecard template at the end. The goal is a dashboard you actually believe and act on, not a wall of percentages nobody trusts.

Why insurance work needs its own KPIs

Most roofing dashboards were built for retail. Leads in, appointments set, close rate, revenue, gross profit. That works fine when the customer is the one paying and the scope is whatever you sell. Insurance restoration breaks those assumptions in three ways, and each break is a place where a generic dashboard goes blind.

First, the scope is not yours. On a replacement cost value (RCV) policy, the carrier writes an estimate, usually in Xactimate, and your job is to build to an approved scope and then prove you built it. If the carrier missed code-required items, drip edge, or proper ventilation, you submit a supplement. The difference between a profitable claim shop and an unprofitable one is often invisible on a retail dashboard: it's the supplement you didn't write and the depreciation you didn't go back and collect.

Second, the payment comes in pieces. An RCV claim typically pays in two parts: an initial actual cash value (ACV) check with depreciation withheld, then a recoverable depreciation check after the work is completed and documented. On an ACV policy, depreciation is gone permanently and the homeowner covers the gap. If your office doesn't track which jobs are sitting on uncollected recoverable depreciation, you are effectively giving the carrier an interest-free loan and sometimes never calling it back.

Third, the documentation bar is higher and the legal exposure is real. A retail job needs a contract and a final invoice. A claim job needs dated, labeled, slope-by-slope photos that match the scope, because someone you'll never meet may re-inspect the file. And the compliance lines are sharp: in many states it is a crime for a contractor to waive, rebate, or absorb a homeowner's insurance deductible. A retail dashboard has no concept of any of this.

So the five KPIs here are tuned for the claim workflow specifically. They assume your file moves through intake, inspection, documentation, carrier scope, supplement, production, depreciation collection, and closeout, and they put a number on the spots where claim jobs actually stall and leak.

A note on benchmarks before you set targets

You will see industry numbers thrown around: residential roofing gross margins of 30 to 40 percent, net margins in the 8 to 15 percent range, asphalt shingle systems designed for about 20 years of useful service. Those are useful context. They are not your targets.

Your first target for any KPI is your own trailing three to six months, measured with a consistent definition. A new storm team needs documentation discipline before it can chase cycle time. A mature service department might already have clean files and needs margin variance instead. Set the baseline, pick one realistic improvement, and move it. Borrowing a stranger's benchmark and missing it by 8 points tells you nothing about your business.

KPI 1: Intake-to-inspection cycle time

What it measures: how many days pass from a qualified insurance-related inquiry to a completed, documented inspection.

Formula: average days from inquiry-received date to inspection-completed date, across all insurance-related leads that reached inspection in the month. Track the average and the count of leads older than your threshold (often 3 to 7 days) with no next action.

Speed wins storm work. After a hail or wind event, homeowners call several contractors, and the one who shows up first with a credible inspection and a clear next step usually controls the file. But raw speed is a trap if it produces a thin record. "Inspection completed" has to mean a real deliverable: a property note, dated and labeled photos, a measurement or a measurement source, observed conditions, and a documented next step. It cannot mean a rep drove by and waved at the roof.

So this KPI is really two numbers wearing one name: how fast you get there, and whether you brought back a file when you did. Track both. A rep with a two-day average and a 40 percent documentation rate is not faster than a rep at four days and 95 percent. They're slower, because half their "inspections" have to be redone.

What to track each month

Metric Definition Why it matters
New insurance inquiries Real homeowner/PM/referral with contact + address Denominator for everything downstream
Qualified for inspection In service area, plausible storm/age context, reachable Separates noise from opportunity
Inspections completed Note + labeled photos + next step exist The actual deliverable
Avg days inquiry-to-inspection Mean across completed inspections Core cycle-time number
Stale leads No next action past your threshold Where revenue quietly dies
Unreachable / canceled Contact attempts logged, no connect Tells you if the problem is lead quality

Storm context, used correctly

Knowing whether a real storm hit a property on a real date is legitimate operational context. The NOAA Storm Events Database records hail, wind, and tornado events by date and location, and the National Weather Service issues and archives local warnings. Use those to prioritize which neighborhoods to canvass and to put an honest date on a file. Do not let a rep turn "a storm passed through the county" into "your roof has covered damage." Storm presence is not damage, and damage is not coverage. Keep that boundary explicit in the CRM so nobody writes a coverage conclusion into a contractor note.

This is also where targeting before the truck rolls pays off. If you're canvassing or running mailers after a storm, knocking the brand-new subdivision is wasted fuel. Contractors who use tools like RoofPredict to pair an estimated roof-age range with per-home storm exposure can point cycle-time effort at the houses actually likely to be due, instead of spreading inspections evenly across homes that are five years old and homes that are twenty-five. RoofPredict doesn't inspect the roof or diagnose damage; it helps you decide which doors are worth the drive, which is exactly the input cycle time needs.

Monthly review questions

  • Which lead sources produced completed, documented inspections, rather than calls alone?
  • Which neighborhoods had many inquiries but few completed inspections, and why?
  • Which reps are carrying stale leads, and is it a capacity problem or a habit problem?
  • Which jobs needed emergency tarp or dry-in before a full scope, and did that get billed?
  • Which records were missing a storm-context note when one was clearly relevant?

One decision per review is enough. A common one: any insurance lead with no logged contact attempt after three business days gets reassigned automatically. That single rule recovers more revenue than most marketing spend.

KPI 2: File completeness rate

What it measures: the share of insurance inspections that have every record the file needs to survive review, support a scope, and hold up months later.

Formula: files passing your full documentation checklist divided by insurance inspections reviewed that month, expressed as a percent.

This is the KPI that quietly determines whether the rest of your claim process works. A complete file lets you write an accurate scope, submit a defensible supplement, collect depreciation, and respond to a re-inspection without panic. An incomplete file forces re-climbs, stalls estimates, weakens supplements, and occasionally loses a depreciation check entirely because nobody could prove the work matched the scope.

The NAIC's guidance on filing a homeowners claim tells homeowners to document damage with photos and video and to keep an inventory, and it notes that it can help to have the contractor meet with the adjuster. That framing matters: the contractor is a documentation and construction partner, not the coverage decision-maker. Your file should say what you observed and propose to repair. It should not declare what the policy must pay.

The minimum file standard

Decide what "complete" means and never let it drift. A workable standard for insurance inspections:

INSURANCE INSPECTION FILE - MINIMUM STANDARD

IDENTITY
[ ] Property address + homeowner contact
[ ] Inspection date + inspector name
[ ] Carrier + claim number (if filed)
[ ] Date of loss / storm date (with source: NOAA/NWS or carrier)

ROOF RECORD
[ ] Measurement report OR measured squares + source
[ ] Roof system observed (shingle type, layers, age range if known)
[ ] Photos labeled by slope/elevation (N/S/E/W), dated
[ ] Test-square or representative damage photos where relevant
[ ] Penetrations, flashings, valleys, ventilation documented
[ ] Areas NOT inspected + the reason (access/safety)

CONDITIONS + SCOPE
[ ] Observed conditions in plain language
[ ] Code items relevant to scope (drip edge, ventilation, etc.)
[ ] Temporary repairs performed (tarp/dry-in) photographed
[ ] Proposed scope OR "awaiting carrier scope" status

COMMUNICATION + COMPLIANCE
[ ] Customer communication note (what was said, when)
[ ] No coverage/payment conclusions in contractor notes
[ ] Specialist referral flagged if needed (PA, engineer, electrician)
[ ] Deductible acknowledged by homeowner (never waived)

The last two lines are not paperwork for its own sake. Writing "this is covered" or "the carrier will pay" into a contractor note puts you in a role you're not licensed for and can come back on you. And the deductible line is a legal guardrail: in states like Texas and Colorado, waiving or absorbing a deductible is a crime, and the usual mechanism contractors use to hide a waived deductible, inflating the invoice or inventing damage, is itself insurance fraud. A file that documents the homeowner's deductible acknowledgment protects everyone.

Where files actually fail

In the field, completeness almost never fails on the big stuff. It fails on labeling and on the boring fields. The photos exist but aren't tied to a slope. The measurement is in someone's head. The "areas not inspected" line is blank when a steep or wet section was clearly skipped. The IRS's plain guidance on recordkeeping makes the underlying point for any business: supporting documents have to actually support the transaction, and they have to be findable when you need them. A folder of untagged images on a personal phone is not a file.

The fix is to keep one property record as the system of record and forbid the official file from living in text threads and camera rolls. This is exactly the kind of recordkeeping discipline a property-based system supports well: contractors who use tools like RoofPredict keep lead source, the storm date, the roof-age range, inspection notes, and photos attached to a single house record, so the file doesn't have to be reassembled from five apps when a depreciation check or a re-inspection depends on it.

Setting the target

Start honestly. If you measure for the first time and land at 55 percent, your target is not 95 percent next month. Set 70 percent, fix the two most-missed fields (usually slope labels and "areas not inspected"), and ratchet up. A completeness rate you can trust at 70 percent beats a fictional 95 percent built on loose definitions.

Monthly review questions

  • Which reps or crews submit complete files on the first pass, every time?
  • Which checklist fields are most often missing this month?
  • Which incomplete files delayed an estimate or a supplement?
  • Which files moved toward production with unresolved notes?
  • Did any contractor note contain coverage language that should be removed?

KPI 3: Supplement and depreciation recovery rate

What it measures: how much of the money your insurance jobs are actually entitled to, you actually collect, specifically approved supplements and recoverable depreciation.

This is the KPI most roofing shops don't track, and it's where the money is. Two distinct dynamics live here, and they deserve separate lines.

Supplements

A supplement is a correction or addition to the carrier's scope, submitted when the original estimate missed something that was underpriced, omitted, or required by code. Common legitimate supplement items: drip edge, ice-and-water shield where code requires it, proper ventilation, steep or high charges, detach-and-reset of attached items, and matching considerations. Supplements are not a way to pad a job; they are how you get paid for work the carrier's first pass overlooked. The estimating standard here is usually Xactimate, and the supplement has to be written in the carrier's language and backed by the photos and measurements from KPI 2. A weak file produces a weak supplement.

Track: supplements submitted, supplements approved, average days to approval, and approved supplement dollars as a share of original approved scope. The point isn't to maximize supplement size; it's to make sure justified items aren't being left on the table because nobody had time to write them.

Recoverable depreciation

On an RCV claim, the carrier withholds depreciation from the first check and releases it only after the work is completed and you submit proof, typically a final invoice and completion photos, sometimes a carrier-specific form. Recoverable depreciation is not paid automatically. Somebody has to request it and document it. If your office isn't tracking which completed jobs still have depreciation outstanding, those dollars age and sometimes expire.

Track: completed RCV jobs with depreciation outstanding, average days from completion to depreciation request, average days to depreciation payment, and total recoverable depreciation outstanding right now. That last number is real money sitting on the table, and it usually shocks owners the first time they see it.

A simple recovery scoreboard

Line This month Trailing 3-mo avg Open / outstanding
Supplements submitted n/a
Supplement approval rate n/a
Avg days to supplement approval n/a
Recoverable depreciation collected $ outstanding
Avg days completion to depreciation request jobs waiting
Avg days request to payment n/a

The "outstanding" column is the one to manage hardest. Every completed RCV job with uncollected depreciation should have an owner and a date. A job is not financially closed when the crew leaves; it's closed when the final check clears.

A worked example of how the money moves

Numbers make this concrete. Consider a hypothetical RCV claim where the carrier approves a roof replacement at $18,000 RCV, withholds $4,000 in depreciation, and the homeowner has a $2,000 deductible. The first check the homeowner receives is the ACV amount minus the deductible: $18,000 − $4,000 depreciation − $2,000 deductible = $12,000. You build the roof. During tear-off you find the original estimate omitted code-required drip edge and proper ridge ventilation, so you submit a supplement; say $1,500 is approved. Now the total approved RCV is $19,500.

When the work is complete and documented, you request the recoverable depreciation. The carrier releases the $4,000 withheld depreciation plus the approved supplement, and the homeowner pays their $2,000 deductible toward the job. If your office never submitted the supplement, you left $1,500 on the table. If your office never requested the depreciation release, you left $4,000 on the table. On a single $18,000 job, sloppy back-end handling can quietly forfeit $5,500 of legitimately approved money. Multiply that across a storm season and the supplement-and-depreciation KPI stops looking optional. None of this involves inflating anything; it's collecting what the carrier already agreed to pay for work you actually did.

This is exactly why the "outstanding" column gets managed as hard as a receivables aging report, because that's what it is. A completed RCV job sitting on uncollected depreciation is an account receivable that ages, and like any receivable, the older it gets the less likely it is to be collected.

Matching and the gray area that drives supplements

A large share of legitimate supplement disputes come down to matching. When hail damages part of a roof and the original shingle is discontinued or has weathered to a different shade, the question becomes whether the carrier owes a partial repair or enough to achieve a reasonably uniform appearance. Many states follow a line-of-sight rule, and the NAIC's model unfair-claims regulation pushes insurers toward conforming repairs to a reasonably uniform appearance. A meaningful number of states have codified some version of this into their insurance regulations.

For your KPI, matching matters because it's where a thin file loses a supplement and a thorough one wins it. If your inspection documented the existing shingle make, model, and weathered condition, and photographed the line of sight, your supplement for additional slopes or a full replacement stands on documented facts. If the file is thin, the matching argument is just an argument. Note clearly: the contractor documents the physical facts and writes the scope; whether matching coverage applies under a specific policy and state is a coverage question for the adjuster, public adjuster, or the policy language, not the contractor.

Compliance lives here too

This KPI is also where fraud risk concentrates, so keep it clean. Don't inflate a supplement to cover a waived deductible. Don't bill for work you didn't do to manufacture a depreciation release. The FTC's advertising and marketing rules apply to how you market insurance help, claims must be truthful and substantiated, and the state deductible laws above apply to how you collect. A high recovery rate built on honest, well-documented supplements is an asset. One built on padding is a liability with a court date.

Monthly review questions

  • How much recoverable depreciation is outstanding right now, and which jobs?
  • Which completed jobs have gone 30+ days without a depreciation request?
  • Which justified supplement items did we skip because of workload?
  • Is supplement approval slow because of carriers, or because our files are thin?
  • Are any supplements or invoices touching work we can't fully document?

If you adopt only one new KPI this year, make it this one. Cycle time and completeness protect the file; this one protects the money.

KPI 4: Gross margin variance by job type

What it measures: whether each kind of insurance work is actually profitable, by comparing estimated cost to actual cost per category, not lumping all claim work into one number.

Formula: for each job type, gross margin = (revenue − direct job cost) ÷ revenue. Then variance = estimated margin − actual margin. Watch both the level and the variance.

Insurance work is not one thing. An inspection-only visit, an emergency tarp, a small repair, a full replacement, and a supplement revision have wildly different cost structures and margins. Treating them as one blended number hides which work pays for itself and which work quietly eats your project managers alive. Job costing by type is where roofing companies typically find 2 to 4 points of hidden margin they didn't know they were losing.

Job-type categories that actually separate margin

Job type Why it gets its own line
Inspection only Real cost (drive + labor) often unbilled; track conversion
Emergency tarp / dry-in Easy to absorb instead of bill; high variance
Small repair Mobilization cost dwarfs material; margin trap
Full replacement Your bread-and-butter; biggest dollar exposure
Supplement / revised scope Margin depends on approval timing
Interior / specialty coordination Other-trade dependency drives overruns
Warranty / callback Pure cost; tells you if you're building it right

For each category, compare estimated vs. actual across materials, labor, subcontractors, disposal, permits, equipment, and project-management time. The U.S. Small Business Administration's guidance on managing business finances points small businesses toward segmenting and tracking costs rather than reading one blended P&L, and that's exactly the move here: separate insurance work from retail, then separate insurance work by type.

Variance language beats blame language

The whole value of this KPI dies if it becomes a way to scold crews. The useful version reads like a cause: "Labor ran 12 hours over because the decking condition wasn't known until tear-off, and the inspection note didn't flag soft spots." That sentence improves your inspection checklist and your estimating. "The crew was slow" improves nothing.

Most overruns trace back to two causes, and the monthly review should sort them: a thin inspection file (a KPI 2 problem) or a genuinely hidden condition (an estimating and contingency problem). The first you fix with documentation discipline. The second you fix with better contingency notes and, sometimes, a supplement. Contractors who keep estimated scope, job type, and final job cost attached to the same property record, the kind of single-record view RoofPredict is built around, can run this comparison without rebuilding the file from accounting exports every month.

Monthly review questions

  • Which insurance job type had the biggest negative margin variance this month?
  • Were overruns caused by thin inspection notes or by truly hidden conditions?
  • Were emergency tarps and dry-ins billed, credited, or quietly absorbed?
  • Did production get the correct, approved scope before ordering materials?
  • Are warranty and callback costs rising for any crew or roof system?

A recurring callback pattern on one crew or one shingle line is a quality signal worth more than the dollars. Catch it here before it becomes a reputation problem.

KPI 5: Closeout completion rate

What it measures: the share of finished jobs that are truly, fully closed, documented, paid, depreciation collected, safety recorded, and customer follow-up handled.

Formula: jobs passing the full closeout checklist divided by jobs marked complete that month.

Insurance jobs love to die at 95 percent. The roof is on, the crew has moved to the next storm, and the file still needs final photos, a depreciation request, a lien release, and an honest follow-up. Each of those is small. Together they're where cash, warranty claims, and reviews leak out. A closeout KPI forces the last 5 percent to actually happen.

The closeout standard

INSURANCE JOB CLOSEOUT CHECKLIST

DOCUMENTATION
[ ] Final completion photos saved + labeled
[ ] Work matches approved (and supplemented) scope
[ ] Final invoice issued matching scope

MONEY
[ ] Deductible collected (documented, never waived)
[ ] Depreciation requested with proof submitted
[ ] Depreciation received OR owner + date assigned
[ ] Lien waiver / release handled

QUALITY + SAFETY
[ ] Customer walkthrough completed or offered
[ ] Punch items assigned with owners
[ ] Workmanship / manufacturer warranty delivered
[ ] Safety: incidents or near-misses recorded
[ ] Fall-protection / access limitations noted honestly

RELATIONSHIP
[ ] Follow-up call about the EXPERIENCE (not policy)
[ ] Review/referral requested honestly, with permission
[ ] Photo-use permission obtained before any marketing use
[ ] Property record updated; roof age range reset

Safety is a closeout fact, not a productivity tax

Roof production and emergency work carry real fall hazards, and OSHA's residential fall protection requirements apply. The closeout KPI must never reward speed that came from skipping fall protection. Track safety stops, access limitations, and near-misses as their own line, separate from production output, so a clean closeout can't be faked by cutting a safety corner. A crew that slowed down to set up properly did the job right, and your scorecard should say so.

Marketing the work without crossing lines

Closeout is also when before-and-after photos and reviews get used in marketing, and that's where the FTC's truth-in-advertising basics bite. Don't advertise guaranteed approvals, guaranteed payments, or "we get every claim approved." Don't use a homeowner review in a way that implies a coverage outcome you can't substantiate. And get permission before posting anyone's roof. A branded homeowner report, the kind contractors generate to leave behind or follow up with, should describe what you observed and did, not promise what an insurer will pay.

The follow-up call matters too, and the script matters. Ask about the contractor experience: was communication clear, did the crew protect the property, were open items explained, did they get the documents promised. Don't coach the homeowner to make policy statements. That keeps your reviews honest and keeps you out of the coverage-conclusion business.

Monthly review questions

  • What share of jobs marked complete actually passed full closeout?
  • Which closeout step is most often skipped, photos, depreciation, or warranty docs?
  • How many "complete" jobs still have money outstanding?
  • Were any safety stops or near-misses recorded, and were they followed up?
  • Did any marketing use of photos or reviews go out without permission?

Putting the five together: the monthly meeting

Five KPIs, one meeting, one decision each. Keep it under an hour and make it evidence-based. The agenda below is copy-ready.

MONTHLY INSURANCE-WORK KPI MEETING (target: 45-60 min)

0. Last month's actions: did each one happen? (5 min)

1. Intake-to-inspection cycle time (owner: sales mgr)
   - Avg days, stale-lead count, source quality
   - ONE decision

2. File completeness rate (owner: inspection mgr)
   - % complete, most-missed fields
   - ONE decision

3. Supplement + depreciation recovery (owner: claims/office lead)
   - Outstanding depreciation $, supplement approval rate
   - ONE decision

4. Gross margin variance by job type (owner: ops/finance)
   - Worst-variance job type + root cause
   - ONE decision

5. Closeout completion rate (owner: production mgr)
   - % fully closed, most-skipped step, safety line
   - ONE decision

Close: write down 5 decisions, 5 owners, 5 due dates.

The "last month's actions" check at the top is what separates a meeting that changes the business from a meeting that just admires numbers. If last month's decisions didn't happen, that's the first conversation, before any new data.

The scorecard

Every KPI needs one owner who can actually move it. Without ownership, the dashboard becomes a report nobody changes.

KPI Owner Brings to meeting
Intake-to-inspection cycle time Sales manager / call lead Current number, why it moved, one action
File completeness rate Inspection / production coordinator Current %, top missing field, one action
Supplement + depreciation recovery Claims / office lead Outstanding $, approval rate, one action
Gross margin variance by job type Operations / finance Worst variance, root cause, one action
Closeout completion rate Production manager Current %, skipped step, safety note

The owner brings three things: the number, the main reason it moved, and one concrete action. "Improve documentation" is not an action. "Require slope labels before estimate drafting" is. "Reduce stale leads" is not an action. "Auto-reassign any insurance lead with no logged contact after three business days" is. Concrete, owned, dated, or it didn't happen.

And the scorecard is not a penalty sheet. Its job is to make process gaps visible: "we lost two days because the homeowner document was missing," "three files moved to production before specialty review," "our web-form count rose but qualified inspections didn't." Those sentences produce better decisions than a row of disconnected percentages ever will.

A sixth number worth watching: CRM re-engagement

The five core KPIs measure jobs already in motion. There's a sixth number that doesn't fit the monthly five but pays for itself anyway, especially in a slow stretch: how much of your existing database you re-engage. Most roofing companies sit on years of past estimates, lost bids, and completed customers, and most of them never touch that list until a storm forces them to.

That's a mistake, because the database is the highest-intent, lowest-cost lead source you own. A homeowner you inspected three years ago whose roof was already 15 years old is now sitting on an 18-year-old roof. A customer whose neighbor's roof you replaced after the last hail event may have taken a glancing hit themselves. The names are already in your system; the only question is which ones are worth a call or a mailer now.

The trap is treating the whole list the same. Blasting every old contact wastes postage on roofs you replaced last year and burns goodwill on homes that are five years old. The move is to filter the database by the same logic you'd use on a fresh canvass: estimated roof age and real storm exposure. This is a natural fit for tools like RoofPredict, which can score an existing list house by house so you re-engage the past customers whose roofs are now plausibly due, and skip the ones that aren't. It doesn't tell you a specific roof is damaged or covered; it tells you which old contacts are worth a current conversation.

Track: dormant records re-engaged this month, re-engaged records that converted to a completed inspection, and re-engagement cost per completed inspection compared to paid lead sources. In most shops this number is dramatically cheaper than buying leads, and it's the one marketing line that gets better the longer you've been in business, because the database keeps growing and aging in your favor.

Lead source quality, measured by outcome instead of volume

While we're on lead sources, the KPI 1 review should grade sources on completed inspections and eventual margin, never on raw lead count. A source that delivers 50 calls and 4 documented inspections is worse than one that delivers 12 calls and 9 inspections, even though the first looks busier. Build the monthly source table so it carries the lead all the way to outcome, rather than stopping at the first ring.

Lead source Inquiries Completed inspections Reached production Avg gross margin
Storm canvass
Past-customer re-engagement
Referral
Web form
Paid lead vendor
Mailer

When you grade sources this way for a few months, the picture usually surprises owners: the source with the most volume is rarely the source with the most profit. That's the whole reason to carry the lead to the right-hand column instead of stopping at the first one.

Data hygiene: the rules that make the numbers true

KPIs are only as honest as the data underneath them. If every rep names stages differently, the dashboard is noise. If estimates aren't tied to job IDs, margin review is guesswork. If photos aren't linked to roof areas, completeness becomes opinion.

Set a small number of non-negotiable rules:

  • One property record per job. The system of record is the system of record.
  • One owner for every open next action. No orphan tasks.
  • Standard stage names across the whole pipeline.
  • Standard job-cost categories that match the KPI 4 job types.
  • Standard source fields for lead origin (so cycle time by source means something).
  • Standard reason codes for lost or paused files.
  • Standard photo labels by slope and elevation.
  • Standard closeout checklist, same one every job.

Web lead measurement deserves a specific rule. Google Analytics key events can track meaningful website actions like form submissions and call clicks, and that's useful for marketing. But a web form is not a qualified inspection. Reconcile your website lead count to CRM intake every month, and don't let raw form fills inflate your insurance-opportunity numbers. A form becomes an opportunity only after the office confirms contact, property, service area, and job type.

Keeping all of this on one connected record, lead source, storm date, roof-age range, inspection file, scope, job cost, depreciation status, closeout, is the difference between a dashboard you trust and five spreadsheets that disagree. A property-based system like RoofPredict is designed to hold that thread, but the principle stands no matter what software you use: one record, consistent definitions, every month.

Common mistakes that break insurance-work KPIs

A few patterns wreck these dashboards over and over. Watch for them.

  • Counting unqualified web forms as insurance opportunities. Inflates the funnel, hides the real conversion problem.
  • Calling a file complete when photos are unlabeled. Completeness becomes fiction, and supplements and depreciation suffer downstream.
  • Blending retail, service, and insurance into one margin number. You lose the ability to see which work actually pays.
  • Never tracking outstanding depreciation. The single most common way roofing shops leave real, earned money uncollected.
  • Treating safety stops as productivity failures. Punishes the right behavior and corrupts your closeout metric.
  • Letting estimates move to production with open specialty questions. Guarantees a margin overrun and a callback.
  • Inventing benchmarks instead of using your own baseline. A target untethered from your history teaches you nothing.
  • Using customer feedback to imply policy outcomes. A truth-in-advertising and compliance problem waiting to surface.
  • Confusing storm presence with damage, or damage with coverage. Keeps your files honest and your contractors in their lane.

If a metric generates arguments but no decisions, the definition is wrong. Rewrite it or remove it. A smaller set of KPIs everyone believes beats a wall of numbers nobody acts on.

Building the dashboard without buying new software

You don't need a new platform to start. The first version of this dashboard can live in a single spreadsheet with one tab per KPI and a summary tab that the owners look at once a month. The discipline that matters is not the tooling; it's the consistency of the definitions and the habit of the meeting. A shop that tracks five numbers honestly in a spreadsheet beats a shop that bought an expensive dashboard and feeds it garbage.

That said, the manual version has a ceiling. The moment your data lives in five disconnected places, your sales CRM, your accounting system, a measurement app, a photo app, and a notes app, somebody has to stitch the file back together by hand every month, and that person quietly becomes the bottleneck. The errors creep in at the seams: a job that's marked complete in the CRM but still open in accounting, a depreciation check recorded in a bank statement but never closed in the job record, photos that live on a phone the rep took to their next employer.

So the practical progression is: start in a spreadsheet to prove the definitions and the meeting work, then consolidate onto a single property record as volume grows. The point of consolidation isn't fancy reporting; it's that the five KPIs all read from the same row. Lead source, storm date, roof-age range, inspection file, approved scope, supplement status, job cost, depreciation status, and closeout all hanging off one house means the monthly numbers stop disagreeing with each other.

What to ask before you adopt any tool

If you do shop for software to carry this, judge it against the five KPIs, not the demo's flashiest feature. A short evaluation checklist:

KPI-TOOL EVALUATION

[ ] Can it tie one property record from lead to closeout?
[ ] Can it tag lead source so cycle-time-by-source is real?
[ ] Can it enforce a documentation checklist before an estimate?
[ ] Can photos be labeled by slope/elevation and stay attached?
[ ] Can it flag completed RCV jobs with depreciation outstanding?
[ ] Can it separate job cost by job TYPE, not one blended number?
[ ] Can it show an owner + next action + due date per file?
[ ] Does it keep coverage conclusions OUT of contractor notes?
[ ] Can it score/filter an existing customer list for re-engagement?

Notice that the front-end question, scoring and filtering a list of homes by age and storm exposure, is a different job from the back-end recordkeeping, and no single category of tool always does both. A targeting tool like RoofPredict is built for the front of that list: deciding which homes are plausibly due before anyone climbs a ladder, and keeping that judgment attached to the property record. The point isn't which logo you pick; it's that every tool in your stack should feed one of these five numbers, and anything that doesn't is overhead.

How these KPIs change across the storm cycle

These five are constant, but their weight shifts with the season and your maturity. In the surge right after a major hail or wind event, cycle time and file completeness dominate, you're racing to inspect the right homes and bring back files that hold up. Mid-cycle, as production catches up, gross margin variance and supplement recovery move to the front, because that's when overruns and uncollected supplements show up. In the quiet stretch, closeout completion and depreciation recovery matter most, because that's your last chance to collect on jobs that are otherwise "done."

Regional and climate variation matters too. In high-frequency hail markets, supplement and matching questions come up constantly, and your KPI 3 supplement line will run hot. In coastal wind and hurricane markets, emergency tarp and dry-in volume spikes, so the KPI 4 emergency-protection line and the KPI 5 safety line carry more weight. In freeze-thaw climates, ice-and-water and ventilation supplements recur, and decking surprises drive more margin variance. The five KPIs don't change. Which one you stare at hardest does.

The through-line in every market is the same discipline: inspect the right homes, document honestly, scope accurately, collect what was approved, and prove the work. Measure those five things the same way every month, assign each to an owner, force one decision per KPI, and the dashboard stops being a report and starts being how you run the business.

Sources checked: June 18, 2026.

FAQ

What KPIs should a roofing company track monthly for insurance work?

Track five: intake-to-inspection cycle time (how fast a qualified lead becomes a documented inspection), file completeness rate (the share of inspections with full slope-labeled photos and notes), supplement and recoverable-depreciation recovery rate (the approved money you actually collect), gross margin variance by job type (profit by inspection, repair, replacement, and emergency work), and closeout completion rate (jobs that are truly finished and paid). Those five cover speed, documentation, cash collection, profitability, and follow-through, which is the whole claim workflow.

What is recoverable depreciation and why should I track it as a KPI?

On a replacement cost value policy, the carrier withholds depreciation from the first check and releases it only after the work is completed and you submit proof, usually a final invoice and completion photos. It is not paid automatically; someone has to request it. Tracking outstanding recoverable depreciation as a KPI catches earned money that ages and sometimes expires because no one followed up. Many roofing shops are surprised how much they have sitting uncollected the first time they measure it.

How do I measure gross margin on insurance roofing jobs?

Use gross margin = (revenue − direct job cost) ÷ revenue, but calculate it by job type rather than blending everything. Separate inspection-only, emergency tarp, small repair, full replacement, supplement, and warranty work, and compare estimated cost to actual cost across materials, labor, subs, disposal, permits, equipment, and project-management time. Residential roofing often targets roughly 30 to 40 percent gross margin, but your real target is your own trailing baseline, measured the same way each month.

Can roofing KPIs predict whether an insurance claim gets approved?

No. KPIs measure your operation, including how fast you inspect, how complete your files are, how much approved money you collect, and how profitable each job type is. They cannot predict carrier decisions, and you should never use them to promise approval, coverage, or a payment outcome. Coverage decisions belong to adjusters, public adjusters, and the policy language. A contractor's documentation supports a claim; it does not decide it, and claiming otherwise creates compliance and trust problems.

What documents make an insurance roof inspection file complete?

At minimum: property address and contact, inspection date and inspector, carrier and claim number if filed, the date of loss with a source, a measurement or measurement source, photos labeled by slope and elevation with dates, observed conditions in plain language, code-relevant items, any temporary repairs photographed, areas not inspected with the reason, and a customer communication note. Keep coverage or payment conclusions out of contractor notes, and document that the deductible was acknowledged, never waived, since waiving it is illegal in many states.

In many states it is a crime. Texas and Colorado, among others, specifically prohibit roofing contractors from waiving, rebating, or absorbing a homeowner's property insurance deductible, with penalties that can include fines and jail. The common workaround, inflating an invoice or adding phantom damage to cover the missing deductible, is itself insurance fraud. Always collect the deductible, document that the homeowner acknowledged it, and keep that record in the job file as a compliance safeguard.

How often should a roofing company review insurance-work KPIs?

Review the full dashboard monthly, with one decision per KPI and a named owner for each. During storm surges or high-volume periods, add a faster weekly check on the time-sensitive items: stale leads with no next action, incomplete files, outstanding recoverable depreciation, production blockers, and any safety stops. Monthly cadence is enough to spot trends and assign fixes; weekly checks during a surge keep leads and money from aging out before the monthly meeting catches them.

How can a tool like RoofPredict support insurance-work KPIs?

RoofPredict helps on the front end and the recordkeeping end. It pairs an estimated roof-age range with per-home storm exposure so you canvass and mail the houses actually likely to be due, which sharpens intake-to-inspection cycle time. And it keeps lead source, storm date, roof-age range, inspection notes, photos, scope, and closeout on a single property record, which supports file completeness, margin-by-job-type, and depreciation tracking. It does not inspect roofs, diagnose damage, certify remaining life, or decide coverage.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.