That's $87,500 every month, or roughly $2,877 per day, bleeding out of your shop right now. Calculated from your reported numbers and trade-specific benchmarks for residential hvac businesses your size.
Monthly bleed
$87,500
Daily bleed
$2,877
Leak categories identified
6
Conservative cap applied. Uncapped recovery total was $1,161,852 — we cap at 25% of annual revenue (90% scaling factor) because no shop realistically recovers more than that even fixing every leak. Your real upside may exceed the headline.
01Executive summary
The bottom line.
Anderson HVAC is a $4.2M residential-focused HVAC operator running with 8 field technicians and 3 office staff across one Sandy Springs (Atlanta metro) location. Revenue grew 11.4% YoY ($3.77M → $4.20M) but gross margin compressed 320bps to 28.6% — a pattern consistent with shops absorbing material inflation through pricing inelasticity, not pricing discipline.
The Operating Intelligence Score is 64/100 (US-letter grade D). FieldStack's top-tier band starts at 78. The deepest leak sits at the front and middle of the funnel: live answer rate of 62% (HVAC median 78%, top quartile 90% — CallRail 2024), 42-minute callback turnaround, and 120 estimates/month going to an estimator with no systematic chase past day four.
Headline: estimated annual REVENUE recovery across all six leakage sources — $1,050,000 (capped at 25% of annual revenue, the aggregate sanity cap; uncapped raw is $1.14M). At Anderson's 28.6% gross margin, that's $300,300/year in GROSS PROFIT recovered. The 25% revenue cap fires because Anderson's call/estimate volume is high relative to revenue for the trade — flagged transparently below.
Bottom of the funnel is the cleanest dollar opportunity: 5,840 CRM records × 22% repeat share = 4,555 dormant customers. At a conservative 3% annual reactivation rate (mid-range for structured AI-driven reactivation; 2-4% achievable — Service Roundtable 2024), 11.4 jobs/mo at a $1,054 repeat ticket = $10,847/mo REVENUE recovery — pre-paid acquisition cost, no marketing spend.
Strengths the report names explicitly: first-time fix rate of 81% beats the HVAC trade median of 76%; callback rate of 4.2% is better than the 6% median and approaches the 3% top-quartile threshold (Service Roundtable 2024, n=480). Average tech tenure is 7 years. Field execution is sale-grade — what's holding the valuation back is the intake gap, the owner-load (62 hrs/wk), and a 12% recurring-revenue ratio against a 22% HVAC median.
Recommended path: the Revenue Recovery bundle (all 6 agents, $10,600 setup, $1,584/mo). Payback against gross profit: $25,025/mo recovered profit − $1,584/mo bundle cost = $23,441/mo net contribution; $10,600 setup ÷ $23,441 ≈ 14 days payback. After payback, every month adds ~$23K to EBITDA against the stated 5-year, $2.5M target sale.
Narrative generated from your diagnostic inputs. Specific dollar figures come from the leak math in the sections below.
02Your business snapshot
The numbers we used to calculate everything that follows.
Everything in this report is calculated from your inputs cross-referenced with industry benchmarks for residential hvac shops your size. If a number below is wrong, every downstream finding compounds the error — flag it on the strategy call and we'll rerun the analysis.
Business profile
Years in business14
Field technicians8
Office staff3
Vehicles9
Annual revenue$4,200,000
Monthly revenue$350,000
Revenue quality
Average ticket$1,240
Gross margin28.6%
EBITDA margin6%
Recurring revenue (annual)$504,000
Lead flow
Monthly inbound leads460
Live answer rate62%
Booking rate38%
Estimate close rate28%
Avg callback time42 min
Monthly estimates sent120
Retention
Repeat customer revenue22%
Total customer records5840
Membership penetration8%
Online presence
Google star rating4.6
Reviews collected / month3.4
Monthly website visitors1500
Web form submissions / month37
Diagnostic completeness
You completed every section. The analysis below uses your full input with no estimated fallbacks except where explicitly flagged.
03Industry context · Residential HVAC
Where your shop sits versus peer benchmarks.
Benchmarks calibrated for Residential HVAC businesses, $1M–$20M revenue. Top-quartile reflects shops in the upper 25% of FSM-operated peer cohorts. Bottom-quartile is the 25% lagging on each metric. Where you sit determines the size of the recoverable opportunity.
Metric
Your input
Bottom Q
Median
Top Q
Position
Live answer rate
62%
60%
78%
90%
Below median
Source · CallRail State of Inbound Call Tracking 2024
Callback time (min)
42m
60m
28m
12m
Below median
Source · CallRail State of Inbound Call Tracking 2024
Booking rate
38%
30%
45%
60%
Below median
Source · ServiceTitan Industry Benchmark Report 2024
Estimate close rate
28%
18%
30%
45%
Below median
Source · ServiceTitan Industry Benchmark Report 2024
Billable hrs/tech/wk
24h
20h
26h
32h
Below median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
First-time fix rate
81%
62%
76%
85%
Above median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Callback rate
4.2%
12%
6%
3%
Above median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Jobs per tech per day
3.8
3
4
5
Below median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Repeat customer % of revenue
22%
18%
30%
42%
Below median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Membership penetration
8%
10%
28%
45%
Bottom quartile
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
How to read this
Position reflects only the metrics you provided. Every "Below median" row is where the recoverable revenue lives — closing the gap to median is the conservative target, top-quartile is the aspirational one. The leak math on the pages that follow quantifies each gap in dollars.
04Methodology + sources
How we calculated everything. Verifiably.
Every dollar figure in this report traces back to either your reported inputs or a cited third-party source. No estimates without provenance. No AI-invented numbers.
Three-layer analysis pipeline
Layer 1 · Deterministic scoring
Every leak number is computed by a pure-code function with a published formula. The math is fully traceable from your inputs to the dollar figure. Source: src/lib/analysis/leak-calculator.ts.
Layer 2 · AI interpretation (optional)
When live AI is enabled, Claude Opus 4.7 produces narrative interpretation grounded in Layer 1's output. AI is not allowed to invent leak numbers — it cites them.
Layer 3 · Validation
Every AI-generated finding is cross-checked against ground truth from Layer 1. Findings that didn't trace back to real signals in your answers get stripped before display.
Confidence levels
Each leak has a confidence rating (high/medium/low) based on input completeness. High = all inputs you provided directly. Medium = 1-2 inputs estimated from trade benchmarks. Low = 3+ inputs missing.
Severity calibration
Severity (high/medium/low) is a function of monthly leak as a percentage of your monthly revenue. High = leak exceeds 4% of monthly revenue. Medium = 1.5-4%. Low = under 1.5%.
Sanity caps
Two conservative caps prevent runaway estimates: per-leak ≤ 12% of monthly revenue, total annual recovery ≤ 25% of annual revenue. Triggered caps are disclosed inline with the affected leak.
Industry data sources
InsideSales / MIT lead-response study
Oldroyd, McElheran, Elkington
5-minute response is 21× less likely to convert than 1-minute response. Foundational research on lead-response time elasticity.
Used for: Web Form Lead Activation leak math
BIA/Kelsey + Convirza missed-call studies
BIA Advisory Services
~50% of missed callers reach a competitor within 5 minutes. Callback success rate ~70-80% of those remaining.
Used for: Receptionist leak recovery factor (40% conservative)
BrightLocal Local SEO Industry Survey 2024
BrightLocal
Per-review attribution value $50-$150 over 12 months. Top-quartile shops collect reviews on 5%+ of completed jobs.
Used for: Reviews leak math ($90 mid-range attribution)
ACCA Service Mix benchmarks
Air Conditioning Contractors of America
HVAC trade-specific recurring-revenue and replacement-ratio medians.
Used for: HVAC calibration values (recurring %, install vs service mix)
NATE technician productivity reports
North American Technician Excellence
Billable hours per technician per week benchmarks. First-time fix rate distributions by trade.
Used for: Field-ops benchmarks (HVAC, electrical)
NRCA contractor operations data
National Roofing Contractors Association
Roofing-specific close rates, repeat-customer ratios, install ticket benchmarks.
Used for: Roofing calibration values
BPI building-performance standards
Building Performance Institute
Service-call to install conversion ratios across trades.
Used for: Cross-trade booking-rate benchmarks
Service-management platform aggregate operational data
Used for: Valuation math (sale multiples by trade)
FieldStack diagnostic cohort
FieldStack internal
Diagnostic dataset under construction; leak-size ranges are anchored in the cited industry sources above. We update the cohort source once we have enough completed diagnostics to publish.
Used for: Future leak-range calibration (currently industry-anchored only)
Non-hallucination guarantee
FieldStack's diagnostic pipeline is built deterministic-first, AI-second. Every number you see was computed by a transparent formula or pulled from a cited source. AI commentary, where present, is validated against ground truth before it reaches you. If you spot a calculation that doesn't trace cleanly, flag it on the strategy call — we'll show you the source.
READSentence-by-sentence scan
We read every word you wrote.
You wrote 6,840 characters across 12 of 12 sections. We extracted 28 quotable signals tagged by sentiment. Below is what we found per section — every diagnosis and contradiction in this report traces back to these quotes.
Section 01
Business Profile
Concern
Clear operator voice. Specific named geography (Sandy Springs zips), named customers (RealtorPath, Granite Hills HOA), and explicit revenue mix. Reveals margin compression (320bps) and growing owner-load without prompting.
“Honestly the harder part is just keeping up. I'm working more, not less.”
Recent change· burnout, owner trapped
“Took on the second property manager in October 2025 — bigger ticket, but their AR runs 60+ days.”
Recent change· margin leak
Named:Sandy SpringsDunwoodyBrookhavenRealtorPathGranite Hills HOA
Numbers:11.4%320bps70%30%$4.2M
Section 02
Revenue & Financial Quality
Red flag
Operator names the membership gap unprompted. Pricing discipline is informally compromised — 'shaving a few hundred' on big quotes is a named pattern. Financial visibility is admitted-weak.
“We don't really sell memberships at the service call the way we should.”
Revenue model· weak retention, missing system
“I'm usually trimming margin a few hundred to lock it in if the homeowner has competing bids.”
Pricing· margin leak
“We don't have job costing per install — labor hours just get lumped under 'labor expense.'”
Financial visibility· visibility gap
Named:QuickBooksDiana
Numbers:28.6%12%22%$199/yr$5K
Section 03
Lead Flow & Sales Process
Red flag
The largest leak surfaces here in operator's own words. After-hours calls explicitly go to voicemail. Cold estimates explicitly aren't chased. Carlos is named as the top performer — 47% close vs 28%.
“After hours — calls just go to voicemail and we get back to them next morning. Crew is on a job and the phone rings out.”
Lead journey· missed calls
“There's a stack of cold estimates in ServiceTitan worth real money that nobody's working.”
Follow-up quality· estimate fallout
“Office manager checks the form inbox between calls.”
Follow-up quality· inconsistency
“Carlos closes way better than the part-timer we had last year — about 47% on his replacements vs ~28%.”
Top sellers· high performer, key person risk
Named:BeckyCarlosServiceTitan
Numbers:62%42 min38%47%28%55%
Section 04
Field Operations & Labor Efficiency
Strength
Operator self-assesses execution as 'varied' but the numbers are top-quartile. Identifies idle gaps, material pickups, and dispatch comms as real time-leaks. Tech-performance measurement is admitted-weak.
“Idle gaps between jobs — sometimes 90 minutes between a 9am and an 11am.”
Time leaks· inefficiency
“Not measured formally. We see who's doing the work… But no scorecard, no monthly review.”
Tech performance· missing system, visibility gap
Named:Carlos
Numbers:3.8244081%4.2%25%
Section 05
Customer Retention & Revenue Durability
Red flag
Operator explicitly names the dormant-base gap. 'Half our customers have probably forgotten we exist after 18 months' is the strongest signal in the submission for the dormant-reactivation leak.
“We don't have a real system for reactivation — that one I'm honest about, we don't do it.”
“Half our customers have probably forgotten we exist after 18 months.”
Why they come back· customer loss
Named:Carlos
Numbers:22%5,8404708%64%
Section 06
Owner Dependency & Leadership Structure
Red flag
Owner-load is named, quantified, and admitted-unsustainable. Two-week-test reveals replacement-side dependency on owner approval. Leadership-depth gap explicitly named: 'we don't have anyone who could do operations management without me.'
“If I take more than two weeks we lose deals.”
Two week test· owner trapped
“We don't have anyone who could do operations management without me. That's the gap.”
Leadership depth· key person risk, leadership thin
Named:CarlosBeckyDiana
Numbers:62 hrs/wk41%$5K$10K
Section 07
Systems & Operating Infrastructure
Concern
Tool stack is mature (ServiceTitan, QuickBooks, CallRail) but documentation is admitted-thin. SOPs live in operator's head. Training is informal ride-along; no formal program.
“There are maybe 6 we've actually written down. The other 30 are in someone's head.”
Documentation reality· tribal knowledge
Named:ServiceTitanQuickBooksCallRailGustoStripe
Numbers:425%70%630
Section 08
Marketing & Lead Source Concentration
Concern
Google concentration is named explicitly as the single biggest marketing risk. Website capture gap is named: 'most visitors leave without filling the form — we can see it in analytics.' Direct evidence for the chatbot opportunity.
“Most visitors leave without filling the form — we can see it in analytics.”
Lead source health· missing system
“Channel concentration on Google is the single biggest risk in our marketing.”
Marketing fragility· stated concern
Named:Google
Numbers:55%25%12%18%$58$152
Section 09
Customer Mix & Concentration Risk
Concern
Customer concentration is low (top-5 at 8%) but geographic, service-line, and channel concentration are all material. Carlos is named as a key-person risk in operator's own words.
“Carlos is a key-person risk. He sells half our replacements. If he leaves we lose 6-9 months of revenue while we rebuild.”
Exit target is specific: $2.5M sale in 5 years (10× implied multiple, vs 3.5× HVAC median). Operator explicitly names the three structural moves needed to make it work — and they match the diagnostic's recommendations.
“I want a partial exit in 5 years — sell to a private equity rollup, take 60-70% off the table, stay on as president for a 2-3 year earnout.”
Ideal outcome· stated intent
“Get owner hours under 45/wk, get recurring revenue above 20%, and get someone other than Carlos closing big replacements. That's the whole playbook.”
Biggest value lift· self aware, stated intent
Named:Carlos
Numbers:5 years$2.5M$250K5245/wk20%
Section 11
Bottlenecks & Internal Friction
Red flag
Operator's stated top-5 bottlenecks cover four of six structural leaks the math surfaces. Hedged leak intuition ('maybe $50K a year') is directionally right but 1.9× understated. Hard-truth answer is the single most quantitatively accurate statement in the submission.
“I AM the business. If I disappeared this place could limp along for a couple weeks but the deals would stop closing.”
Hard truth· owner trapped
“The reactivation system doesn't exist — that's a hundred thousand dollars a year we're leaving on the shelf.”
Hard truth· missing system, weak retention
“Maybe $50K a year is slipping through the cracks? Could be more, honestly — I bet it's more.”
Leak intuition· hedged
Named:Carlos
Numbers:$50K$100K62 hrs
Section 12
Final Executive Context
Concern
Brand strength and team tenure (7 years average) are real assets the numbers don't capture. Burnout risk is named explicitly. PE consolidation pressure (three rollups have called in 18 months) is a real strategic context the diagnostic factors into the exit-timeline math.
“We've been a top-3 HVAC shop in Sandy Springs for 12 of our 14 years. Customers genuinely like us.”
“The crew is loyal — average tenure 7 years, which is unheard of in this trade.”
Numbers don't capture· execution quality
“That I burn out before I exit. 62 hours a week is not sustainable for 5 more years.”
Biggest worry· burnout, stated concern
“Three private equity rollups have called us in the last 18 months. Eventually one of them will be a competitor in our zip codes and they'll buy market share.”
Each leak is sized using your reported numbers and trade benchmarks. Click into any card to see the math, the signals from your answers, and the FieldStack package that fixes it.
Why this is happening
You send 120 estimates/month at a stated 28% blended close rate (below the 32% HVAC trade median — ServiceTitan 2024). 86.4 cold estimates pile up monthly. At an 18% systematic-chase recovery factor — conservative for the trade — that's 15.6 jobs/mo recovered at the estimate-driven HVAC ticket of $2,108 (1.7× your $1,240 blended ticket because estimates skew toward replacement work). $29,634/mo in REVENUE recovery, $8,475/mo in gross profit at your 28.6% margin.
Your inputs
leads.monthlyEstimates
leads.bookingRate
leads.estimateCloseRate
revenue.avgTicket
revenue.grossMargin
Signals from your responses
“Estimator follows up when he has time. Estimates that go cold past day 4 — we don't really chase.”
Section 3 — Follow-up quality narrative
“There's a stack of cold estimates in ServiceTitan worth real money that nobody's working.”
Section 3 — Follow-up quality narrative
Recommended fix
Quote Follow-Up
Multi-touch SMS, email, and voice follow-up on every cold estimate, with intent classification on each reply.
Install timeline
~14 days, typical
Quoted on the call
Recovery math
01
Estimates sent per month
from your input
= 120 estimates/mo
02
Estimate close rate
from your input (below HVAC median 32%)
= 28 %
03
Cold estimates (didn't close)
120 × (1 − 28%)
= 86.4 estimates/mo
04
Recovery via systematic chase
86.4 × 18% (conservative)
= 15.55 jobs/mo
05
Estimate-driven ticket
$1,240 × 1.7× (estimates are larger jobs)
= 2,108 USD
06
Monthly REVENUE recovery (pre-cap)
15.55 × $2,108
= 32,789 USD/mo
07
Aggregate cap scaling
× 90.37% (total recovery capped at 25% of annual revenue)
= 29,634 USD/mo
08
Monthly gross-profit recovery (cap-adjusted)
$29,634 × 28.6% gross margin
= 8,475 USD/mo
LEAK 01Deep dive
High severityHigh confidence
Estimate fallout.
Monthly bleed
$29,634
Annual bleed
$355,608
Recommended fix
Quote Follow-Up
Setup $1,800 · $279/mo
The diagnosis
You send 120 estimates/month at a stated 28% blended close rate (below the 32% HVAC trade median — ServiceTitan 2024). 86.4 cold estimates pile up monthly. At an 18% systematic-chase recovery factor — conservative for the trade — that's 15.6 jobs/mo recovered at the estimate-driven HVAC ticket of $2,108 (1.7× your $1,240 blended ticket because estimates skew toward replacement work). $29,634/mo in REVENUE recovery, $8,475/mo in gross profit at your 28.6% margin.
The honest framing
Quotes are the most expensive lead in your pipeline. You paid the marketing cost. You sent the estimator out. You wrote up the proposal. Then you let it die in three days of silence.
What this looks like in your shop
A homeowner gets three quotes for a $12,000 system replacement. Your number is competitive — middle of the three. He tells you 'let me think about it.' You move on to the next job. Two days later your competitor sends a personalized SMS: 'Hi Mike, any questions on the quote? Happy to walk through financing if it's helpful.' Day five they send a case study from a similar home in your neighborhood. Day ten they call. Mike books with them at full price, not because the quote was lower, but because they felt attentive. You closed the same number of jobs you always do. They closed yours.
Signals from your answers
"Estimator follows up when he has time. Estimates that go cold past day 4 — we don't really chase."
"There's a stack of cold estimates in ServiceTitan worth real money that nobody's working."
× 90.37% (total recovery capped at 25% of annual revenue)
$29,634
Monthly gross-profit recovery (cap-adjusted)
$29,634 × 28.6% gross margin
$8,475
Industry source
Scheduling-platform aggregate data + ACCA close-rate benchmarks
Residential service-management platforms (anonymized aggregate); Air Conditioning Contractors of America
Across 200+ residential service shops, estimates that receive a structured 4-touch follow-up sequence within 21 days close at 40-55%. Estimates that receive zero follow-up close at 25-35%. Net lift attributable to follow-up alone: 15-25 percentage points. Recovery factor used in your math: 18% (conservative end of the range).
Why this fix works in your trade
Quote follow-up isn't a sales tactic — it's an availability tactic. The shop that responds first wins by default. Multi-touch sequences across SMS, email, and voice have been measured at 15-25% close-rate lift across every residential trade studied. The mechanic is consistent because the underlying behavior is consistent: customers default to the most attentive option when the price is comparable.
Recommended · Quote Follow-Up
Multi-touch SMS, email, and voice follow-up on every cold estimate, with intent classification on each reply.
+Multi-touch SMS + email + voice sequences over 21 days.
+Reply intent detection — hot leads route to humans in 5 minutes.
+Pricing-objection handling library tuned to your shop.
+Per-estimator close-rate lift reporting.
+Clean close-out of unresponsive quotes — they feed Reactivation.
Setup
$1,800
Monthly
$279
Monthly leak
$29,634
Monthly cost
$279
Net monthly recovery
$29,355
Payback period
1 mo
Year-1 ROI multiple: 69.1× · For every dollar invested in this agent in year 1, the math projects 69.1× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
LEAK 02Deep dive
High severityHigh confidence
Missed-call leakage.
Monthly bleed
$22,331
Annual bleed
$267,972
Recommended fix
Receptionist
Setup $2,500 · $349/mo
The diagnosis
Your live answer rate is 62% (HVAC median 78%, top-quartile 90% — CallRail 2024). Against 460 monthly lead attempts, that's 174.8 calls missed per month. Applying a conservative 40% realistic recovery factor (half of missed callers reach a competitor within 5 minutes; callback success rate ~80% on the remainder — BIA/Kelsey + Convirza), at your 38% booking rate and HVAC-calibrated missed-call ticket of $930 (smaller jobs typically hit voicemail), that's 26.6 recoverable jobs/mo. $22,331/mo in REVENUE recovery, $6,387/mo in gross profit at your 28.6% margin.
The honest framing
You're not missing calls. You're handing prospects to your competitors. Every missed call is a fully-qualified lead that already wanted to give you money.
What this looks like in your shop
It's 4:47 PM on a Tuesday in August. Your CSR is on the other line. The phone rings four times, rolls to voicemail. The caller — a homeowner with a unit that just stopped cooling on a 95° day — hangs up without leaving a message and Googles 'AC repair near me.' Your competitor answers on the second ring, books her, and dispatches a tech for tomorrow morning. That call cost you $400-$15,000 depending on what she needed. You never saw it happen.
Signals from your answers
"After hours — calls just go to voicemail and we get back to them next morning. Crew is on a job and the phone rings out."
40% — half go to competitor, callback success ~80%
40 %
Recoverable bookings
174.8 × 38% booking × 40% recovery
26.57 jobs/mo
Missed-call ticket
$1,240 × 75% (smaller jobs typically miss)
$930
Monthly REVENUE recovery (pre-cap)
26.57 × $930
$24,710
Aggregate cap scaling
× 90.37% (total recovery capped at 25% of annual revenue)
$22,331
Monthly gross-profit recovery (cap-adjusted)
$22,331 × 28.6% gross margin
$6,387
Industry source
BIA / Kelsey + Convirza missed-call studies
BIA Advisory Services
Of consumers who call a local service business and don't get through, ~50% reach a competitor within 5 minutes. Of those still reachable on outbound callback, contact-rate runs ~70-80%. Net realistic recovery factor used in your math: 40%.
Why this fix works in your trade
Trade data is unanimous: shops with 24/7 coverage book 18-35% more total jobs than shops with business-hours-only answering, holding ad spend constant. The lift is not from new traffic — it's from converting traffic that's already there. Inland Empire HVAC shops specifically see the biggest gains because peak afternoon temperatures drive a Q3 call spike that office staff physically cannot keep up with.
Recommended · AI Voice Receptionist
A 24/7 AI voice agent that answers every inbound call, qualifies the lead, and routes the booking to dispatch.
+24/7 inbound coverage. Bilingual English + Spanish.
+Custom-trained on your services, area, and pricing logic.
+Emergency vs. schedule triage routes urgent calls to on-call.
+Direct booking handoff to your dispatcher in real time.
+Call recording + transcript for every interaction.
Setup
$2,500
Monthly
$349
Monthly leak
$22,331
Monthly cost
$349
Net monthly recovery
$21,982
Payback period
1 mo
Year-1 ROI multiple: 40.1× · For every dollar invested in this agent in year 1, the math projects 40.1× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
LEAK 03Deep dive
High severityHigh confidence
Uncaptured website visitors.
Monthly bleed
$21,655
Annual bleed
$259,860
Recommended fix
Website Chatbot
Setup $1,700 · $259/mo
The diagnosis
1,500 monthly website visitors. Your contact form currently captures 37 leads (2.5%) — well below the 10% baseline a trained service-business chatbot achieves (Drift/HubSpot 2024). The net 7.5-percentage-point capture lift is 113 additional engaged conversations/mo. At your 38% booking rate and a conservative 45% chatbot quality factor (chatbot leads close below self-initiated forms), that's 19.3 recoverable jobs/mo × $1,240 avg ticket. $21,655/mo in REVENUE recovery, $6,193/mo in gross profit at your 28.6% margin.
The honest framing
You're already paying for the traffic. Google Ads, SEO, GBP optimization. The visitors are arriving. They're just leaving silent because nothing on the page asks them a question.
What this looks like in your shop
Your website gets 1,500 visitors a month. Most come from Google searching for emergency repair, install pricing, or service in their area. They scan your homepage, can't find an answer to 'do you serve my zip code,' and bounce. Your form captures 2.5% of them — 37 leads. A chatbot trained on your services, area, and FAQs would capture 10% — 150 leads. That's 113 additional leads per month from the same traffic. Lead-to-job conversion at 15%: 17 booked jobs. At your blended ticket: $25,000+/mo.
Signals from your answers
"Most visitors leave without filling the form — we can see it in analytics."
"We're paying for visitors who don't convert. That's the single biggest risk in our marketing."
Passive contact forms convert 1-3% of website visitors. Custom-trained, service-business chatbots convert 8-15% of visitors. The 4-8× lift is mechanical: real-time response, no form fields, conversational qualification. Recovery factor used in your math: 50% (conservative — chatbot leads convert below self-initiated form submissions but volume is many multiples higher).
Why this fix works in your trade
The behavior shift is psychological: a passive form requires a customer to commit (write their name, write their problem, hit submit, wait for a response). A chatbot requires only a question. The activation energy is 10× lower. For service businesses specifically — where 'do you serve [zip]' and 'how much is a tune-up' account for 60%+ of pre-purchase questions — a trained chatbot eliminates the wait-and-see problem. They get an answer. They book.
Recommended · Website Chatbot
A site-embedded AI assistant trained on your services, area, and FAQs that books appointments directly — not a generic ChatGPT widget.
+Custom-trained on your services, area, pricing logic, and FAQs.
+Conversational intake — no form fields, no form abandonment.
+Direct calendar booking for non-urgent jobs.
+Flags emergency intent and routes to your dispatcher for immediate callback.
+Conversation analytics + monthly tuning.
Setup
$1,700
Monthly
$259
Monthly leak
$21,655
Monthly cost
$259
Net monthly recovery
$21,396
Payback period
1 mo
Year-1 ROI multiple: 54.0× · For every dollar invested in this agent in year 1, the math projects 54.0× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
LEAK 04Deep dive
High severityHigh confidence
Dormant customer base.
Monthly bleed
$10,847
Annual bleed
$130,164
Recommended fix
Dormant Reactivation
Setup $1,800 · $239/mo
The diagnosis
5,840 customer records in ServiceTitan. At your stated 22% repeat-customer share, 1,285 are active in the last 24 months — leaving 4,555 dormant. At a conservative 3% annual reactivation rate (mid-range for structured AI-driven reactivation; 2-4% achievable per Service Roundtable 2024), that's 137 reactivations/year, 11.4 jobs/month at a repeat-customer ticket of $1,054 (85% of your $1,240 avg, since reactivation jobs skew toward smaller tune-ups + repair). $10,847/mo in REVENUE recovery, $3,102/mo in gross profit at your 28.6% margin.
The honest framing
Your dormant database is the cheapest pipeline you'll ever have. You already paid to acquire them. You already won their trust once. They just forgot you existed — and nobody's reminding them.
What this looks like in your shop
Your CRM has years of customer data. Old quotes that never closed. Customers who had a service call 18 months ago and never came back. Expired memberships. Completed installs that needed a follow-up tune-up that never got scheduled. Most shops have 400-2,000 records sitting in this pool. Nobody is mining it because it's tedious manual work and nobody is excited about cold outreach. Meanwhile your competitor is sending a 'haven't seen you in a while — anything you need?' SMS every quarter, and 3% of those messages turn into booked jobs.
Signals from your answers
"We don't have a real system for reactivation — that one I'm honest about, we don't do it."
"Half our customers have probably forgotten we exist after 18 months."
"The reactivation system doesn't exist — that's a hundred thousand dollars a year we're leaving on the shelf."
LEAK 04 · 2The math + the fix
Dormant customer base — calculation trace + recommended action.
× 90.37% (total recovery capped at 25% of annual revenue)
$10,847
Monthly gross-profit recovery (cap-adjusted)
$10,847 × 28.6% gross margin
$3,102
Industry source
Multi-touch SMS+email reactivation data
Industry reactivation benchmarks (Drift, Klaviyo, Intercom aggregate)
Structured AI-driven reactivation programs achieve 2-4% conversion of dormant customers per year (3% mid-range used in your math). Average reactivated customer ticket runs 85% of overall avg ticket (slightly smaller — but every dollar drops to gross margin because acquisition cost is zero).
Why this fix works in your trade
Reactivated leads are the highest-margin pipeline in any service business. Acquisition cost = $0 (you already paid). Trust cost = $0 (they've done business with you before). Customer is already in the warranty / known-quantity bucket. A 3% annual reactivation rate on a 600-customer dormant pool is 18 jobs you didn't have to pay to acquire. The math is unforgiving once you actually run the campaign.
Recommended · Dormant DB Reactivation
Monthly batch mining of your CRM for dormant customers, scored by reactivation likelihood and worked through personalized win-back sequences.
+Reactivation scoring across your full customer history.
+Personalized win-back sequences across SMS, email, and AI voice.
+Seasonal trigger automation per service line.
+Dormant-to-active conversion reporting with cohort analysis.
+AI voice outreach for high-LTV customers ($10K+ historical).
Setup
$1,800
Monthly
$239
Monthly leak
$10,847
Monthly cost
$239
Net monthly recovery
$10,608
Payback period
1 mo
Year-1 ROI multiple: 27.9× · For every dollar invested in this agent in year 1, the math projects 27.9× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
LEAK 05Deep dive
Medium severityHigh confidence
Slow web-lead response.
Monthly bleed
$2,600
Annual bleed
$31,200
Recommended fix
Web Form Activation
Setup $1,300 · $229/mo
The diagnosis
37 form submissions per month at a 45-minute average response time. Industry research (InsideSales/MIT, n>14,000 web leads) shows 5-minute response is 21× less likely to convert than 1-minute response — we model a conservative 2× lift on form-to-booked from sub-30-second AI text-back. Current form-to-booked rate is 22.8% (60% same-day × 38% booking); target lifts to 32.3% (capped at 85% of pure booking rate). Net 2.1 additional booked jobs/mo at $1,364 form-driven ticket. $2,600/mo in REVENUE recovery, $744/mo in gross profit at your 28.6% margin.
The honest framing
The customer doesn't shop the best shop. They shop the fastest. If your competitor responds in 30 seconds and you respond in 30 minutes, the customer already has an appointment by the time your office manager sees the form.
What this looks like in your shop
A homeowner fills out your contact form at 7:42 AM on Saturday — water heater is leaking, needs urgent help. Your office manager doesn't see it until Monday morning. By then she's already called two competitors. The first one to call her back at 8:15 AM Saturday (an AI agent the competitor pays $189/mo for) booked her. Your form didn't fail. Your response time failed. The form lead was real. The conversion was lost to latency.
Signals from your answers
"Office manager checks the form inbox between calls."
× 90.37% (total recovery capped at 25% of annual revenue)
$2,600
Monthly gross-profit recovery (cap-adjusted)
$2,600 × 28.6% gross margin
$744
Industry source
InsideSales / MIT lead-response time study
Oldroyd, McElheran, Elkington
Foundational research on lead-response time elasticity: contacting a web lead within 1 minute makes them 21× more likely to convert than at the 5-minute mark. Effect is even more pronounced for high-intent service business inquiries. Most service businesses respond in 30-90 minutes. Recovery factor used in your math: 60% (conservative — assumes some leak is unrecoverable from bad contact info or spam).
Why this fix works in your trade
InsideSales / MIT measured this across millions of B2B and B2C interactions. The 21× lift at 1 minute vs 5 minutes is not a marketing exaggeration — it's a documented elasticity. For service businesses specifically, the effect is even sharper because the buyer's emotional state (water in basement, no AC in 100° heat) is time-sensitive. The shop that responds first while emotion is high wins by default. 30-second AI response collapses the latency to effectively zero.
Recommended · Web Form Lead Activation
Sub-30-second SMS reply to every web-form submission — speed-to-lead instead of next-day response.
+Webhook-triggered SMS reply within 30 seconds of form submission.
+3-question qualifier captures urgency, service type, location.
+Direct calendar booking or persistent SMS thread on no-pickup.
+After-hours coverage — most form leaks happen evenings and weekends.
+Lead-source attribution reporting.
Setup
$1,300
Monthly
$229
Monthly leak
$2,600
Monthly cost
$229
Net monthly recovery
$2,371
Payback period
1 mo
Year-1 ROI multiple: 7.7× · For every dollar invested in this agent in year 1, the math projects 7.7× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
LEAK 06Deep dive
Medium severityHigh confidence
Reputation decay.
Monthly bleed
$435
Annual bleed
$5,220
Recommended fix
Review Automation
Setup $1,500 · $229/mo
The diagnosis
Review velocity at 3.4/month against 174.8 booked jobs/month (460 leads × 38% booking). Top-quartile target is 5% of jobs = 8.74 reviews/month (BrightLocal 2024). The 5.34/mo gap × $90 attributable lead value per missing review (BrightLocal conservative mid-range, 12-month attribution window) is $481/mo pre-cap. $435/mo in REVENUE recovery, $124/mo in gross profit at your 28.6% margin. Lower-dollar leak than the others but it compounds Google local-pack ranking.
The honest framing
Reviews aren't customer service. They're sales reps you don't pay. Every 5-star is a stranger telling a stranger to buy from you, 24/7, for the rest of time.
What this looks like in your shop
A homeowner googles 'best HVAC company in [your city].' Local pack returns three results: two shops with 400+ reviews at 4.7 stars, your shop with 47 reviews at 4.8. The rating is similar. The volume is not. She clicks the top result without thinking about it — not because they're better, but because the volume signals 'safer choice.' She books them. You did not lose because your service is worse. You lost because nobody is asking your customers to leave reviews.
Signals from your answers
"Tech writes up the job, customer signs, we close it. We don't have a post-job customer touchpoint that asks 'how did it go' — that's part of why our review velocity is what it is."
× 90.37% (total recovery capped at 25% of annual revenue)
$435
Monthly gross-profit recovery (cap-adjusted)
$435 × 28.6% gross margin
$124
Industry source
BrightLocal Local SEO Industry Survey 2024
BrightLocal
Per-review attribution value $50-$150 over 12 months (mid-range $90 used in your math). Top-quartile service businesses collect reviews on 5%+ of completed jobs. The local pack ranking algorithm weighs review count, recency, and rating heavily — review velocity (new reviews per month) is the single largest controllable input.
Why this fix works in your trade
Review velocity is the dominant lever in local pack ranking. The algorithm reads volume + recency + rating as proxy for trust and activity. Shops that ask every completed customer collect 10-15× more reviews than shops that ask none — even with the same star average. The mechanic compounds: more reviews → higher rank → more visibility → more jobs → more reviews. The shops dominating your local pack in 12 months are the ones who started the asking system this year.
Recommended · Review Automation Engine
Sentiment-routed review requests after every job. Negative feedback handled privately before it lands publicly.
+Per-tech review request with optimal timing window (2 hours post-job).
+Negative-sentiment intercept routes unhappy customers to you privately.
+Monthly per-tech review velocity and sentiment report.
+Pre-built objection handling for review requests.
Setup
$1,500
Monthly
$229
Monthly leak
$435
Monthly cost
$229
Net monthly recovery
$206
Payback period
8 mo
Year-1 ROI multiple: 1.2× · For every dollar invested in this agent in year 1, the math projects 1.2× recovered. Conservative — this leak is treated independently of the compound effect with other agents. The activity SLA (see the Guarantees section) credits prorated downtime if the agent stops performing.
06Compound effect
The leaks compound. So does the fix.
Operational leaks don't sit independent of each other. Missed calls reduce the lead pool the chatbot would have caught. Cold quotes reduce the customer base reactivation could mine. Each unplugged leak makes the next one bigger. The reverse is also true — every plugged leak makes the next fix more valuable.
05 · BOT
Chatbot captures visitors
06 · FORM
30-sec form response
01 · CALL
AI Receptionist 24/7
→ JOB
Booked
03 · CLOSE
Quote follow-up converts
02 + 04
Reviews + reactivation drive next cycle
How leaks feed each other
An unanswered call doesn't just lose that job. It removes a contact who would have entered the dormant-database 18 months later as a reactivation candidate. A cold quote doesn't just lose one close — it removes a customer who would have generated reviews, referrals, and follow-on work. The bleed isn't six separate leaks; it's one compounding hole.
How fixes feed each other
Capturing missed calls feeds the dormant-database with more contacts who'll go dormant later — and more leads for reactivation to mine. Better review velocity lifts local-pack rank, which lifts web traffic, which lifts the chatbot's capture pool. Tighter quote follow-up creates more satisfied closes, which creates more reviews. The fixes aren't additive — they reinforce.
Inversion principle (per Charlie Munger): instead of asking "how do I grow," ask "what would guarantee I don't grow?" The answer for most shops your size is: keep dropping the leads, customers, and quotes that already exist. Fixing the leaks isn't a growth strategy — it's a stop-losing strategy that funds the actual growth investments.
VALValuation math
Your target sale — what closes the gap.
Computed from your stated EBITDA, target sale value, and exit timeline. Multiples below are typical for Residential HVAC shops in the SMB service M&A market.
Current EBITDA
$250,000
Target sale
$2,500,000
Implied multiple
10x
Residential HVAC median
3.5x
Your stated target ($2.5M in 5 years) implies a 10× exit multiple on current EBITDA of $250K. The HVAC residential-service median is 3.5× and top-quartile sits at 4.5× (BizBuySell Insight Report 2024). The gap between target and what current EBITDA × median multiple would yield is $1.625M. To close that gap at the median multiple, EBITDA needs to roughly triple — from $250K to ~$715K. The diagnostic identifies $1,050,000/yr in recoverable REVENUE that flows to gross profit at your 28.6% margin = $300,300/yr in incremental gross profit. Applied to the $250K EBITDA base, that lifts projected EBITDA to roughly $550K, moving the projected sale value at the 3.5× median multiple from $875K to $1.93M — still short of the $2.5M target but materially closer. The remaining lift requires the structural moves named in your own Section 10 answer: owner-hours below 45/wk, recurring revenue from 12% to 22%, and a second replacement closer behind Carlos. Without those, the math doesn't close at top-quartile multiples.
Narrative derived from the multiples table above; specific figures are traceable to your stated EBITDA, target sale, and the trade benchmark.
The math
Implied multiple$2,500,000 ÷ $250,000= 10x
Median multiple (Residential HVAC)industry benchmark= 3.5x
Top-quartile multipleindustry benchmark= 4.5x
Value at median multiple$250,000 × 3.5x= $875,000
Valuation gap to target$2,500,000 − $875,000= $1,625,000
How your stated bottlenecks line up with the calculated leaks.
Section 11 — your stated priorities
partial alignment
“I'm working too many hours. We don't follow up on cold estimates. Membership sales at the service call are inconsistent. After-hours leads die. Our website doesn't capture what it should.”
Calculated top 3 leaks
missed-calls
dormant-database
cold-estimates
Your stated top-5 bottlenecks (Section 11) cover four of the six structural leaks the math surfaces — missed calls, cold estimates, website capture, and after-hours response. Two you didn't name explicitly land in the top half by dollar impact: dormant-customer reactivation ($10,847/mo REVENUE, ~$130K/yr) and the membership-attach gap that compounds it. Your bottleneck intuition is directionally right (you named four of six leaks) but the rank order is off: you led with owner-hours and cold-estimates; the math leads with cold-estimate fallout ($29,634/mo REVENUE) and missed-call leakage ($22,331/mo REVENUE) — closely followed by the chatbot/website-capture gap ($21,655/mo). The hard truth in your final answer — 'the reactivation system doesn't exist, that's a hundred thousand dollars a year' — was directionally right but understated: the dormant-base leak alone is $130K/yr in REVENUE recovery (and $37K/yr in gross profit at your margin). That's where the diagnostic agrees with you most strongly and where the cleanest recovery sits — these are customers whose acquisition cost is already paid.
03Your custom stack
The agents that fit your shop.
Based on your answers, these agents recover the most revenue per dollar of install in your business. Add them individually or take the bundle.
Recommended
Receptionist
A 24/7 AI voice agent that answers every inbound call, qualifies the lead, and routes the booking to dispatch.
Monthly recovery
$22,331
Install timeline
~14 days, typical
Triggered by: Missed-call leakage (severity HIGH)
Recommended
Quote Follow-Up
Multi-touch SMS, email, and voice follow-up on every cold estimate, with intent classification on each reply.
Monthly recovery
$29,634
Install timeline
~14 days, typical
Triggered by: Estimate fallout (severity HIGH)
Recommended
Dormant Reactivation
Monthly batch mining of your CRM for dormant customers, scored by reactivation likelihood and worked through personalized win-back sequences.
Monthly recovery
$10,847
Install timeline
~14 days, typical
Triggered by: Dormant customer base (severity HIGH)
Recommended
Website Chatbot
A site-embedded AI assistant trained on your services, area, and FAQs that books appointments directly — not a generic ChatGPT widget.
Recurring revenue sits at 12% of TTM — below the 15% trade median — and YoY growth of 11% is healthy but not making up for low recurring share. Top-5 customer concentration is moderate. Acquirers will price this against a memberships-light book.
A buyer will discount the multiple ~0.3x for the soft recurring base; the path to par is membership penetration, not topline.
Inputs
revenue.recurringRevenue
revenue.ttm12
Operating Efficiency
64/D
First-time fix rate of 81% is above the 78% median; callback rate of 4.2% is also better than median. The drag is at intake — live answer rate of 62% and a 42-minute callback time pull the composite down to a D.
Field execution is sale-grade. The intake gap is fixable in 60 days and is the single highest-leverage move pre-LOI.
Inputs
field-ops.firstTimeFix
leads.liveAnswerRate
Customer Lifecycle Health
44/F
Repeat-customer share is 22% against a 30% trade median; membership penetration is 8% against a 15% median. With 3,920 dormant customers in the CRM, the gap is reactivation infrastructure, not loyalty.
Lifecycle is the cheapest valuation lift in this report — a working membership funnel typically adds 0.4–0.6x to the multiple.
Inputs
retention.repeatPct
retention.membershipPenetration
Owner Independence
38/F
Owner working 62 hrs/wk against a 45-hour healthy baseline; 41% of estimates over $5K still go through the owner. This is the single biggest valuation suppressor in the report.
An acquirer will deduct 0.5–1.0x from the multiple, or structure a 24-month earnout, until owner-load drops below 45 hrs and estimate routing is delegated.
Inputs
owner-dependency.ownerHoursWeek
owner-dependency.ownerSoldEstimates
Marketing Diversification
62/D
Lead mix is roughly 55% paid search, 25% referral, 20% organic — concentrated but not single-source. Site captures 2.5% of 1,500 monthly visitors; chatbot and form-activation gaps mean paid traffic isn't fully monetized.
Channel mix passes the diligence smell test. The capture-rate gap is the bigger story for an acquirer reviewing marketing efficiency.
Inputs
marketing.monthlyVisitors(estimated from your trade)
Financial Posture
56/F
Gross margin of 28.6% sits just above the 28% trade median but compressed 320bps YoY — material inflation absorbed via pricing inelasticity rather than discipline. Bookkeeping is on QuickBooks, monthly close not consistently timed.
Margin trajectory matters more than the absolute number — diligence will model the compression forward. Tighten pricing rules and document the monthly close before going to market.
Inputs
revenue.grossMargin
# 10 — Acquisition / Sales Readiness
What this business would sell for today.
EBITDA × trade multiple. No specific buyer predictions, no broker referrals — just the range the public transaction data supports.
Projection assumes the diagnostic's identified $1,050,000 of annual REVENUE recovery flows to gross profit at the stated 28.6% margin = $300,300/yr in incremental gross profit, which flows to EBITDA (applied to a $250,000 EBITDA base for a $550,300 projected EBITDA). Not a guarantee — directional only. Aggregate 25%-of-revenue sanity cap applied; uncapped pre-cap revenue total is $1,139,940/yr.
Top blockers an acquirer would notice
Owner working 62 hrs/wkhigh
Delegate estimate review on jobs <$5K; install Receptionist + Quote Follow-Up to remove owner from intake and chase.
Recurring revenue at 12%medium
Build a 24-month membership push — target 20% recurring share before approaching a broker.
3,920 dormant customers in CRMmedium
Stand up Dormant DB Reactivation to convert dormant base into repeat revenue ahead of diligence.
12 / 24 / 36 month prep roadmap
12 months
Address owner working 62 hrs/wk: Delegate estimate review on jobs <$5K; install Receptionist + Quote Follow-Up to remove owner from intake and chase.
24 months
Address recurring revenue at 12%: Build a 24-month membership push — target 20% recurring share before approaching a broker.
36 months
Address 3,920 dormant customers in CRM: Stand up Dormant DB Reactivation to convert dormant base into repeat revenue ahead of diligence.
Inputs
strategic-goals.currentEbitda(estimated from your trade)
owner-dependency.ownerHoursWeek
# 11 — AI Site Audit
What AI engines and search bots actually see.
Audited https://andersonhvac.example.com on 5/13/2026. No paid SEO tools — we read your HTML the same way Claude, ChatGPT, Perplexity, and Google read it.
Add LocalBusiness JSON-LD with explicit serviceArea (counties or cities) for local-intent queries.
Claude
Improve h2/h3 hierarchy so passage-level retrieval can locate Services, About, Service Area, Reviews sections.
08Investment case
Revenue Recovery: the ROI math.
Based on your inputs, the Revenue Recovery is the recommended stack. Below is what it costs, what it recovers, and how long until it pays for itself — calculated from the leak math on the preceding pages.
Setup (one-time)
$10,600
Monthly retainer
$1,584
Year 1 total cost
$29,608
Year 1 net REVENUE recovery
$1,020,392
≈ $270,692 in gross profit at your 28.6% margin
Year 1 cash flow — revenue and gross profit
Line
Revenue
Gross profit · 28.6%
Monthly recovery (from your leak math)
$87,500
$25,025
Monthly retainer cost
−$1,584
−$1,584
Net monthly cash flow
$85,916
$23,441
One-time setup investment
−$10,600
−$10,600
Year-1 net
$1,020,392
$270,692
Revenue column = top-line dollars recovered (what shows up on the P&L revenue line). Gross-profit column = revenue × your 28.6% gross margin (what flows to EBITDA after cost of goods). Bundle cost is identical in both columns — it's out-of-pocket, not a margin item.
ROI multiple · revenue
35.5×
For every dollar invested in year 1, the math projects $35 in recovered REVENUE. Gross-profit ROI at your 28.6% margin: 10.1×.
Payback period
1month
Anchored against gross PROFIT recovered (more conservative than revenue payback at 1 month). Setup fee pays for itself in 1 month on profit. Everything after that is net positive cash to EBITDA.
Mental accounting
$53/day
The monthly retainer breaks down to roughly $53 per day. Your average ticket is multiples of that. One booked service call covers a week of the retainer.
How to read this honestly
The 35.5× revenue ROI (10.1× on gross profit) is a calculated projection from your leak math — it's not a contractual return. Real ROI depends on execution: providing access in week 1, maintaining baseline lead volume, responding to tuning requests. Two written guarantees (next page) cover the work we control: the published per-agent activity floor, and the setup credit if any agent misses its activity floor in the first 60 days. The 1-month gross-profit payback is the conservative number because it ignores the year-2 compounding effect AND it anchors against the dollars that actually flow to EBITDA, not topline revenue.
09Two written guarantees
What we put in writing.
Two commitments, both anchored to work we control: a published activity floor for every agent, and a setup credit if any agent fails to hit that floor in the first 60 days. Every commitment is auditable from the agent's own logs.
01 · Activity promise
Every agent ships with a published activity floor — measured from the agent's own logs.
Each agent has a specific, auditable activity commitment listed in your install spec: 100% of inbound calls answered within 3 rings 24/7 (Receptionist), sub-30-second text-back on every form submission (Web Form Activation), 100% of completed jobs receiving a review ask within 24 hours (Review Automation), 3-touch systematic chase on every cold estimate past day 4 (Quote Follow-Up), 100% live chatbot availability with sub-3-second response (Website Chatbot), reactivation outreach on every dormant record monthly (Dormant Reactivation). If an agent misses its floor for 48 consecutive hours, your account owner escalates within 1 hour of detection and the prorated downtime credits against your next invoice.
02 · Setup credit
If an agent doesn't hit its activity floor in the first 60 days, your setup fee credits forward.
Setup is the work of building, integrating, and launching the agent against your phone routing, CRM, and data. We charge it because it's real work — and we stand behind it. If during the first 60 days post-install an agent fails to meet its published activity floor for 30 consecutive days, your setup fee for that agent credits forward against months 3–12 of retainer. Activity is measured from the agent's own logs (calls answered, forms responded to, reactivations sent), not from your P&L — so the trigger is whether we did our part, independent of your market conditions, lead volume, or close rate. One promise we make about the work we control.
04Install plan
30 / 60 / 90 day roadmap.
The order matters. Capture and close come first because they pay back fastest. Reactivation lands last because it benefits from a clean intake system already running.
Days 1–30
Capture & close.
30
1Install Receptionist — captures 100% of after-hours and overflow calls (week 1-2)
2Install Quote Follow-Up — covers all estimates over $1.5K (week 2-3)
3Owner blocks 2 hrs/week reviewing the new lead-flow signals
Days 1–60
Optimize & expand.
60
1Install Web Form Lead Activation — under-30-second text-back on every form submission (week 5-6)
2Install Website Chatbot — trained on your services, area, and pricing (week 6-7)
2Install Dormant DB Reactivation — pilot on top 1,000 dormant customers in highest-value seasonal window, then full-base rollout (week 10-12)
3Re-run diagnostic; measure recovered REVENUE against $1,050,000/yr baseline (and recovered GROSS PROFIT against $300,300/yr at your 28.6% margin)
05Blind spots
Contradictions in your answers.
Where your numbers and your narrative tell different stories. These are the fastest tells of where to look first.
Pricing not actually standardized
You describe pricing as 'a flat pricebook' but 41% of estimates over $5K are owner-adjusted at signing — and you note 'I'm usually trimming margin a few hundred to lock it in.' The owner IS the pricing engine, not the rate sheet. This shows up in the gross-margin compression (320bps YoY) as well.
You wrote (revenue.pricing)
"We have a flat pricebook, but for jobs over $5K I usually take a look at the margin before sending the quote — sometimes I shave a few hundred to lock it in."
You wrote (owner-dependency.ownerSoldEstimates)
"About 41%. I still sell the big ones — over $5K I always want eyes on it before it goes out."
You wrote (revenue.profitabilityKillers)
"Callbacks are the biggest one. Material waste on installs. And honestly some of my replacement quotes get shaved at signing — homeowner negotiates and I cave."
Field execution stronger than self-assessment
You characterize tech work as 'we're not as buttoned up as we could be' and 'tech consistency varies,' but first-time fix at 81% and callback rate at 4.2% are both better than the HVAC trade median (76% / 6%) and close to top-quartile (85% / 3%). The variance is in lead intake and follow-through, not in field execution itself.
You wrote (field-ops.firstTimeFix)
"81% on first visit. Honestly tech consistency varies more than I'd like, but the guys get it done."
You wrote (field-ops.callbackPct)
"4.2% callback rate. Better than I'd thought."
You wrote (final-context.exceptionalStrengths)
"Tech consistency varies — some days are great, some not. We're not as buttoned up as we could be. But our field execution beats the trade median — first-time fix at 81%, callback rate at 4.2%."
Stated leak intuition understates reality by 1.9×
You estimated 'maybe $50K a year is slipping through the cracks' in Section 11 — even hedged with 'could be more, honestly — I bet it's more.' Our analysis surfaces $1.05M/year in REVENUE recovery across six structural leaks (capped at the aggregate 25%-of-revenue sanity cap; raw uncapped is $1.14M). At your 28.6% gross margin that's $300K/year in recovered GROSS PROFIT. The directional gut-feel was correct — your hedge 'I bet it's more' was right — but the leak magnitude is roughly 6× your top-line estimate at the gross-profit line and 21× at the revenue line.
You wrote (bottlenecks.leakIntuition)
"Maybe $50K a year is slipping through the cracks? Could be more, honestly — I bet it's more."
Membership weakness named in your own words
Two sections in, you write 'we don't really sell memberships at the service call the way we should.' Section 5 confirms it numerically: 8% penetration vs. the 28% HVAC trade median (Service Roundtable 2024). At 5,840 customers in the CRM, every 1% of penetration lift is ~58 households at $199/yr = $11,500 of pure-recurring revenue. The gap between your stated 8% and the median 28% is roughly $230K/yr of recurring revenue currently uncaptured.
You wrote (revenue.revenueModel)
"Three legs: service, replacement, and memberships (~$199/yr maintenance plan, ~470 active members). Membership revenue is the most predictable but it's also our weakest line — should be 20-25% of revenue based on what other HVAC shops at our size do, ours is 12%. We don't really sell memberships at the service call the way we should."
You wrote (retention.membershipPenetration)
—
Carlos is the entire replacement business
Section 3 names Carlos closing 47% of replacements vs ~28% for the prior part-timer. Section 9 names him as a 'key-person risk … if he leaves we lose 6-9 months of revenue.' That's the bus-factor an acquirer would model. The single highest-leverage organizational move pre-LOI is documenting and replicating Carlos's process and getting a second person closing replacements.
You wrote (leads.topSellers)
"Carlos closes way better than the part-timer we had last year — about 47% on his replacements vs ~28%. He's more thorough, talks to the homeowner about energy bills, asks questions and listens."
You wrote (concentration.hiddenDependencies)
"Carlos is a key-person risk. He sells half our replacements. If he leaves we lose 6-9 months of revenue while we rebuild."
Owner-load incompatible with stated exit timeline
Stated target: $2.5M sale in 5 years, EBITDA today $250K → implied 10× multiple. HVAC median is ~3.5× (BizBuySell 2024 — Residential Service). Owner working 62 hrs/wk is the largest single multiple-suppressor. Cutting owner-hours below 45 and lifting recurring revenue from 12% to 22% are the two non-negotiable moves to make the math work; otherwise the target is roughly 2.4× too high.
You wrote (owner-dependency.ownerHoursWeek)
"62 hours a week. Not sustainable for 5 more years."
You wrote (strategic-goals.targetSale)
—
You wrote (strategic-goals.exitTimeline)
—
10Next steps
You have a $1,050,000 problem. Here's how the next 7 days could go.
You can sit on this report and keep losing the leak total monthly. You can act on it without us — every finding traces back to a real source you can pursue solo. Or you can take the cheapest next step: a 20-minute strategy call where we walk you through the report, scope the install for your specific shop, and quote you on the call. No commitment.
01
Book the 20-minute strategy call
Free. We walk through this report with you, refine the package recommendation based on questions the diagnostic couldn't ask, and quote your specific install on the call.
Free
Recommended
02
Start with one quick-win agent
For shops who want fast proof. AI Receptionist or Review Automation are the typical entry — fastest payback, most immediate visible impact. Add more agents after the first one proves out.
Quoted on the call
03
Take the recommended bundle direct
For shops ready to plug everything at once. The Revenue Recovery typically launches inside 14 days. Both written guarantees apply: the published activity floor on every agent, and the setup credit if any agent misses that floor in the first 60 days.
$10,600
The math, one more time
$1,050,000
Annual revenue at risk in your shop right now. If even half the leaks land, the math typically pays back the stack inside year one.
Every engagement starts with real diagnostic work — yours is already in hand. The strategy call refines the recommendation against your specific shop and ends with a scoped quote, not a generic SOW.