
How a Plumbing Company Found $38,000 in Leaking Revenue — by Looking at Three Numbers
A plumbing company in Northern California had a mystery. Revenue was growing — $3.2 million last year, up 17% from the year before. But the margin on those jobs kept slipping. The owner, let's call him Mike, stared at his monthly P&L and couldn't explain it. Costs were up, but not consistently. Some jobs made great money. Others lost money. He couldn't tell which was which until the invoice was already paid.
The problem wasn't that they were losing money. The problem was they couldn't see where.
Then Mike pulled three numbers from data he already had. That took two hours. The fix took ninety days. And it uncovered $38,000 a year in leaking revenue that was sitting right there, invisible.

The $38,000 That Was There All Along
Mike's company had fifteen trucks, twenty-three employees, and a solid reputation. They booked steady work. Customers left five-star reviews. But the bank account didn't reflect the workload.
"We were busy all the time," Mike told us. "But the margin kept shrinking. I'd raise prices, and it would help for a quarter, then drift back down. I couldn't figure out where the money was going."
The answer wasn't in a P&L statement. The answer was in three numbers his business already collected — in different tools that didn't talk to each other.
Here's what he found.
Number 1: Job Margin Variance
Mike's quoting process worked like most service businesses. He estimated labor based on experience, added materials at a rough markup, and sent the proposal. When the job finished, his office manager closed it out in QuickBooks. The two numbers — quote and actual — lived in different systems and never met.
When we pulled them side by side, the picture was ugly.
One in four jobs ran more than 15% over the quoted estimate. Some ran 30% over. The culprits were consistent:
- Material overages that never got passed to the customer
- Unclocked "quick stops" — 15 minutes here, 20 there — that added up to hours per week
- Scope drift that was verbally approved but never captured as a change order
Across all jobs, the variance averaged 9% of revenue. On $3.2 million, that's $288,000 in margin that should have been there and wasn't.
Not all of it was recoverable. Some variance is normal. But fixing the quoting and tracking process — moving from a spreadsheet and gut feel to a single system where quote, actuals, and change orders live in one place — recovered about $21,000 in the first year. (We walk through the quoting mechanics in detail here.)
Small changes: automated material markup in every quote, a ten-second time log for each truck, and a standardized change-order prompt that caught scope drift before it happened.
Number 2: Lead Response Time
This one hurt to discover.
Mike's team answered the phone when they could. A homeowner looking for an emergency plumber at 9 AM — great, someone would pick up by the third ring. But the same homeowner filling out a "book an appointment" form at noon? That inquiry sat in the CRM's inbox until someone checked it. Average response time: 47 minutes.
Industry data is clear: the first business to respond wins the booking. Response time under 5 minutes doubles your close rate. Every 10-minute delay drops your odds.
Mike's team thought they were responsive. They measured by the phone ringing. They didn't measure the web form, the "schedule online" button, or the after-hours email.
The fix wasn't hiring a night receptionist. It was routing every inbound inquiry — phone, web, email, text — through one system with automated response and qualification. A prospect fills out the form? They get an instant reply with available time slots, and the dispatcher gets a notification with the lead details pre-filled.
Close rate on web leads went from 38% to 60%. That pipeline alone added $11,000 in booked revenue over three months.
Number 3: Repeat Revenue Rate
Here's the number that surprised Mike the most.
Only 31% of his revenue came from clients who had used the company before. The industry benchmark for a well-run plumbing business is 50% or better.
Mike had great relationships with past clients. They loved his technicians. They left reviews. He just never followed up.
There was no system. No reminder to check in at 90 days. No notification when a past-due maintenance reminder might mean the client went elsewhere. The CRM had the data — every client, every job, every date. Nobody was looking at it.
The fix was a simple automated cadence:
- 30 days after a job: automated satisfaction check and request for review
- 90 days: "Your water heater might be due for service" with one-click booking
- 180 days: "Still happy? Let us know if anything needs attention"
- 365 days: Annual system check invite
No cold calls. No pushy sales scripts. Just timely, helpful touchpoints that reminded the customer the company existed.
Repeat revenue climbed from 31% to 49% in one quarter. That's $6,000 in retained revenue that would have gone to a competitor.
The 90-Day Turnaround
Here's what changed in three months:
| Metric | Before | After | Annual Impact |
|---|---|---|---|
| Job margin variance | 9% average overrun | 3% average overrun | ~$21,000 recovered |
| Lead close rate (web) | 38% | 60% | ~$11,000 added |
| Repeat revenue rate | 31% | 49% | ~$6,000 retained |
| Total | ~$38,000 |
Mike didn't buy new software to get these numbers. He consolidated the stack he already had — CRM, scheduling, accounting — so the data lived in one system instead of three. (We've shown how a dashboard that updates itself changes the weekly rhythm for an ops team.) The three numbers started appearing on the same dashboard, updating automatically. No more copy-paste Fridays.
He told us afterward: "I thought I needed to sell more. What I actually needed was to see what I already had."
Three Numbers to Check This Week
You don't need a consultant to find your version of these three numbers. You need to ask three questions:
Job margin variance: What's the average difference between what you quote and what jobs actually cost? Pull your last 20 closed jobs. Side-by-side. If you can't do that in 20 minutes, that's your first problem.
Lead response time: How long between a lead coming in and someone contacting them? Not phone calls — every channel. Measure it this week. If it's over 10 minutes, you're leaving money on the table.
Repeat revenue rate: What percentage of this month's revenue came from clients who've paid you before? Under 40% means your client base is a revolving door. You're spending too much to acquire customers you don't keep.
Find the three numbers. Fix the worst one first. Then fix the next one. If you need a framework for finding what to tackle first, start with the automation audit — it's a 90-minute exercise that shows you exactly where your time is going.
Your next step: Book a 30-minute call with us. We'll map where your business is losing hours and which numbers to track first. It's a working conversation, not a sales pitch — the first step in our Map, Architect, Deploy, Calibrate process. No fluff, just results.
→ recursive-solutions.com
FAQ
What are the most important KPIs for a service business?
The three most actionable metrics are job margin variance (how close your quotes are to actual costs), lead response time (how fast you contact new leads), and repeat revenue rate (how much of your income comes from past clients). These three give you a complete picture of profitability, sales effectiveness, and retention.
How do I track job margin variance?
Compare your quoted price for each job against the actual cost after completion. The difference (as a percentage) is your variance. The goal is under 5%. You need your quoting tool and your accounting system to talk to each other — if they don't, automate the connection so variance shows up without manual spreadsheet work.
What is a good lead response time for a service business?
Under 5 minutes for any inbound channel — phone, web form, email, text. The first business to respond wins the booking in most cases. If your average exceeds 10 minutes, you are losing jobs to faster competitors. Automating initial response and qualification fixes this without adding headcount.
How can I increase repeat revenue from past clients?
Set up an automated follow-up cadence: 30 days after a job (satisfaction check), 90 days (maintenance reminder), 180 days (check-in), and 365 days (annual review). The CRM already has the data — you just need the triggers. Most companies see a 10–18 point increase in repeat revenue within a quarter.
Do I need new software to track these metrics?
Probably not. Most service businesses already own a CRM, scheduling tool, and accounting software. The problem is the data lives in separate places. Consolidating into one system — or connecting what you already have — gives you these numbers without new subscriptions or training.