← Learn

June 18, 2026 · 7 min read

NPS for HVAC contractors: what to measure (and what to ignore)

Most NPS playbooks come from B2C SaaS. They don't translate to HVAC, where job volume triples every summer and a bad heat-out call becomes a 1-star review in 48 hours.

Almost every NPS playbook you'll find online was written for B2C SaaS. Quarterly cohorts, account-manager outreach, exec readouts. None of it survives contact with an HVAC business in July, where a heat-out call comes in every four minutes and the last thing your dispatcher has time to do is read a 14-page customer-experience whitepaper.

Here's what NPS actually looks like when it's built for HVAC — what to measure, what to ignore, and how to use the score to actually run the business.

Why HVAC NPS is structurally different

Three things break the standard NPS model when you apply it to HVAC:

  1. Demand spikes are 3-4× seasonal.Your June and July call volume might triple. Industry-average survey response rates collapse from ~30% to under 1% during a heat wave because your dispatcher can't keep up with the manual send-the-survey step. By the time you catch up, the customer has forgotten.
  2. The job type drives the emotion. A no-heat call in January has a customer at their most vulnerable. A summer AC tune-up is routine. Treating both with the same survey copy and the same dispatch timing buries real signal.
  3. Tech-by-tech variance is huge.Customers don't rate your company; they rate the tech who showed up. A company-wide NPS of 42 might be 65 for your best tech and 8 for your worst — but you'll never see that if you aggregate.

What to actually measure

Track three things separately. They are NOT the same number.

1. Per-tech NPS

For every survey response, capture which tech ran the job. Your field-service system already knows; the survey just needs to carry that ID through. Then your monthly NPS gets a per-tech breakdown — who's lifting the rating, who's tanking it, and who needs retraining vs. who needs a raise.

This is the single most actionable metric in HVAC NPS. The company-wide number is a vanity stat; the per-tech number tells you exactly what to do.

2. NPS by job type

Tag every job: emergency vs. scheduled, install vs. service, residential vs. commercial. Emergency calls should have a substantially higher NPS than scheduled — you're saving someone's weekend. If they don't, your emergency workflow is broken (probably response time or comms).

Conversely, scheduled maintenance NPS that's lower than emergency NPS usually means you're upselling too aggressively. The customer feels nickel-and-dimed.

3. Seasonal-cohort NPS

Track NPS for customers who first interacted with you during peak season vs. off-season, then watch how it evolves across their first year. Peak-season cohorts usually start lower (they met you when you were rushed) and either climb (you fixed it) or flatline (you didn't) by month 6. The climb-or-flatline signal is one of the most predictive things you can track for retention.

What to ignore

  • Quarterly NPS reports. The signal is too delayed for an HVAC operational cadence. You need at least weekly aggregates, ideally daily during peak.
  • Industry benchmarks."Home services benchmark NPS is 36" is a stat that combines you with window cleaners and mold remediation. Compare to your own last-month number, not to a fake industry average.
  • Anonymous surveys. For B2C SaaS, anonymous is fine. For HVAC, you need to know which customer + which job + which tech. Anonymous surveys gut the per-tech analysis above.
  • Net Promoter alone, without verbatims. The score is the trigger; the open-text response is the actionable signal. A score with no comment is half-data.

The detractor workflow for HVAC

HVAC detractors are unusually time-sensitive. A customer whose AC isn't cooling at 6pm on a Friday is going to write a 1-star review by Saturday morning if no one calls them back. The detractor workflow has to be:

  • Within 1 hour — the survey response triggers an SMS to the on-call manager, not just an email. Email gets read Monday. SMS gets read in 90 seconds.
  • Within 4 hours — a real person calls the customer. Not the dispatcher reading a script. The manager or owner, with authority to commit to a fix.
  • Within 24 hours— a tech is back on-site if the original work didn't resolve the issue. For no-heat / no-cool, this is a re-dispatch, not a return-trip fee.

We wrote a longer companion piece on detractor recovery — the exact script, when to comp vs. when to charge, and the templates we've seen work — in how to recover unhappy customers before they leave a bad review.

Where Canopy fits

We built Canopy around the workflow above. The survey fires on the actual ServiceTitan / HousecallPro job-close event (not a manual export). SMS-first, email fallback. Detractor responses page the on-call manager via SMS or Slack within seconds. Per-tech and per-job-type aggregates land in the dashboard without a spreadsheet. AI summarizes the week's verbatims so you don't read 200 responses on Saturday morning.

If you want the full Canopy-for-HVAC overview, that lives on the HVAC trade page. If you'd rather just try it on your own workflow, the 30-day trial is one click.

Related reading

Want this running on autopilot?

Canopy fires the survey, watches for detractors, and pings your team before the customer goes to Google. 30-day trial, cancel anytime.

Start your 30-day trial →