The Roofer Who Realized His Average Customer Was Worth $12K Over 5 Years, Not $8K Per Job
A Southeast roofer assumed a customer was worth one roof. Pulling five years of invoices, referrals, and repairs through Sully told a different story. Here's what he found.
Key takeaways
- A full-replacement roofer pricing jobs at a single transaction is under-counting customer value by 40-60% once repairs, referrals, and storm follow-ups are added
- 88% of consumers will use the same contractor again if the first experience was good per BrightLocal 2025, but most roofers never re-sell to them
- The ServiceTitan 2025 AI in the Trades Report shows repeat and referral customers close at 3-4x the rate of cold leads
Contents
- 01The $3,200 hiding behind every replacement
- 02The referral tree he never mapped
- 03What 88% repeat intent actually looks like in the data
- 04The storm customers that disappeared
- 05Where the $8K became $12K
- 06What this changed about his marketing
- 07The gutter job that was a $6,200 opportunity
- 08The quote that stuck with him
- 09What this means for your shop
- 10Sources
- 11Frequently Asked Questions
A Southeast roofer doing around $3M picked a number out of his head when an investor asked what his average customer was worth. He said $8,000, the average ticket on a full asphalt replacement. He had been running the shop for eleven years and that number felt right.
The investor asked him to prove it. He could not. His CRM showed jobs, his QuickBooks showed invoices, his Google Sheet showed referrals. Nothing tied them back to the same person. After two weekends of pulling the thread through Sully, the real number came back at $12,400 per customer over five years, and the composition of that number changed how he priced, marketed, and staffed for the next twelve months.
The $3,200 hiding behind every replacement
When the roofer pulled five years of invoices and asked Sully to group them by property address instead of job number, 38% of his "one-time" customers had come back at least once. Gutter repairs, soffit work, a skylight reseal, a post-storm patch job. None of it was cheap. The average repeat ticket was $1,800.
Across the full customer list, that added around $3,200 in follow-on revenue per customer over a five-year window. It was sitting in the data the whole time, spread across three different source IDs because his CRM had no concept of "household."
Text Sully: "Group my jobs by property address over the last 5 years. Show customers with more than one invoice and the total revenue per household."
The 2025 ServiceTitan AI in the Trades Report frames this as one of the biggest blind spots in home service data: contractors score performance by job, not by customer, which means lifetime value stays invisible.
The referral tree he never mapped
The next surprise came when Sully cross-referenced his customer phone numbers against lead source notes. Around 22% of his replacement jobs in years 2 and 3 were referred by a customer from year 1, and none of those referrals were being credited back to the originating household.
One customer from a 2021 replacement had personally referred four neighbors over four years. Total revenue from that referral chain was $47,000. The original customer had been sent a $25 Lowe's gift card and one follow-up postcard.
Tommy Mello, founder of A1 Garage Door Service, which crossed $220M in 2024, has repeated the same line on multiple podcast appearances. The Home Service Expert interview where he breaks down A1's customer economics puts it clearly: "Your customer list is the most valuable asset in the business, and most people treat it like a Rolodex."
Text Sully: "For each customer who gave us a referral in the last 3 years, show the total revenue from the referral chain they started."
What 88% repeat intent actually looks like in the data
BrightLocal's 2025 Local Consumer Review Survey found 88% of consumers will use the same local business again if the first experience was good. The roofer knew that stat. What he didn't know was his actual repeat rate.
When Sully ran the query, his repeat rate over three years was 11%. The gap between 88% willingness and 11% reality was an 8x opportunity sitting in the CRM, unclaimed.
He thought this was a marketing problem. It wasn't. It was a memory problem. His office was not reaching back out because nobody remembered who was due.
The storm customers that disappeared
Florida and Gulf Coast roofers live on storm cycles. This operator had a spike of 180 insurance-claim customers after a 2022 hurricane season, all of whom got a new roof on his dime and the carrier's.
Two years later, Sully pulled a list of those 180 customers against his 2024 service history. Only 14 had called him back for anything. The other 166 had either moved, forgotten, or called a competitor for the attic fan, gutter, or roof vent work that inevitably followed.
Text Sully: "Show all insurance-claim customers from 2022 who have not had any service activity in the last 18 months. Add their address and phone."
At a conservative $1,800 average repair ticket, that was $298,800 of addressable revenue sitting in a spreadsheet his team had filed and forgotten.
Where the $8K became $12K
When Sully added up the full picture per customer over five years, the math broke down like this:
- Initial replacement: $8,000
- Follow-on repairs and add-ons: $3,200
- Referral attribution (weighted by closed deals): $1,200
Total: $12,400. A 55% jump from the number he had been carrying in his head.
The implication on CAC was bigger. He had been willing to pay about $400 per lead on Google and LSA because that was 5% of $8,000. Re-running the math at $12,400 meant he could pay $620 per lead and still hit the same margin, which opened up bid positions his competitors were winning by a nose.
What this changed about his marketing
Three things shifted inside 60 days.
First, he moved 28% of his marketing budget from cold Google leads to reactivation campaigns aimed at his customer list. Invoca's 2025 Home Services benchmarks show repeat and referral calls convert at 4-5x the rate of paid-search calls.
Second, he stood up a simple referral program that tracked the originating household for three years, not just the first transaction. He used Sully to pull a weekly list of customers hitting their 12-month and 24-month service anniversaries so his CSR could make a warm call.
Third, he raised his target CAC ceiling from $400 to $600 on LSA, which moved him from third position in his market to first. His booked-call rate jumped 19% inside a month.
Text Sully: "List customers who hit their 24-month anniversary this week. Include phone, last service type, and any open estimates."
The gutter job that was a $6,200 opportunity
One more cut of the data became the operator's favorite example. A customer who got a 2020 replacement called in 2023 for a $380 gutter cleaning. The office dispatched a tech, completed the job, closed the ticket.
What the office didn't know: the same property had an attic fan that had failed, a skylight with visible staining, and soft decking near a chimney flash. The tech had seen all of it, noted nothing in the CRM, and left.
When Sully cross-referenced the tech's photos (stored as job attachments) against the job notes, 19% of his service calls in the last 12 months had at least one visible but unlogged upsell opportunity. Conservatively valued, that was $210K in missed add-on revenue from technicians who were doing their job well on the ticket they were dispatched for.
Text Sully: "For service calls in the last year, flag jobs where photo attachments show potential repair work that isn't reflected in the job notes or estimate."
Reddit threads on r/roofing are full of operators repeating the same lesson: the roof repair a tech sees and doesn't sell is the roof repair the homeowner's neighbor's brother-in-law sells three months later. Technicians need a system for flagging opportunities, and the office needs a system for following up.
The quote that stuck with him
On The Home Service Expert podcast, John Wilson of Wilson Companies, who runs a $40M+ plumbing/HVAC/electrical operation out of Akron, has said: "We stopped thinking of our marketing spend as cost-per-lead and started thinking of it as cost-per-five-year-customer. Everything changed when we did that."
The Southeast roofer went from measuring a job to measuring a household. That was the entire shift.
What this means for your shop
If you run a $1M-$10M roofing operation, the real number you should be quoting investors, bankers, and yourself is customer lifetime value over 5 years, not job ticket. Most roofers are under-counting by 40-60%.
Every customer in your CRM is either a repeat buyer, a referral source, or both. The ones not calling you back are not gone. They're invisible because your data is organized by job, not by household. Fix the lens and the revenue shows up.
If you want to see what your own five-year number looks like, you can do it in an hour by tying invoices to property addresses and cross-referencing your referral notes. Sully does that in a single conversation. See AI customer reactivation for contractors for the playbook on turning that data into calls and AI agents for roofing contractors for the stack.
Sources
Frequently Asked Questions
6 questions home service owners actually ask about this.
01How do I calculate customer lifetime value for a roofing business?
Pull all invoices for each customer over 3-5 years, grouped by property address (not customer name or job number). Add referral revenue weighted by the close rate on referred leads. The ServiceTitan 2025 AI in the Trades Report has benchmarks for repeat and referral rates you can compare to. If your CRM can't group by address, Sully can do it from raw invoice data.
02What's a good repeat customer rate for a roofer?
Full-replacement roofers tend to run 8-15% repeat rate over three years, well below the 88% willingness figure from BrightLocal's 2025 survey. The gap is a reach-out problem, not a satisfaction problem. Shops that run structured anniversary follow-ups commonly push repeat rate into the 25-35% range.
03How much should I spend to acquire a roofing customer?
Most roofers anchor on 5% of the initial job, which puts CAC targets at around $400. If you include 3-5 years of repairs, referrals, and insurance claim work, lifetime value typically lands 40-60% higher, which justifies a CAC ceiling in the $550-$650 range. That higher ceiling often wins you top ad positions and better crews.
04What customers should I reactivate first?
Start with customers who had a replacement 18-36 months ago and have not had any touchpoint since. They are past the warranty period, primed for add-ons like skylights and solar tubes, and close to the point where they'll start accepting door-knockers if you don't re-engage first. See AI customer reactivation for contractors.
05Does referral revenue count toward CLV?
It should, weighted by your average referral close rate. A customer who personally refers three neighbors over five years is worth the sum of their own spend plus the attributable revenue from the referral chain. Tommy Mello has built A1 Garage Door on exactly this principle.
06What KPIs should I track to hit these numbers?
Track repeat rate, referral rate, revenue per household, and CAC to 5-year LTV ratio. See home service KPIs: the complete metrics playbook and contractor dashboard metrics owners ignore for the full list.
See Sully in action
Sully is the pre-built AI for home service shops. Connect your CRM, email, and phone system in minutes and the agents run on your real data.