What is a good booking rate for an HVAC company?
There is no single good HVAC booking rate, because the published numbers divide by different things. ServiceTitan's own data shows shops with more than 50 technicians booking 58% of calls and shops with 10 or fewer booking 30%. An AI call-coaching vendor tells HVAC shops to aim for 85% or more of "viable leads." Both can be true at once, because one divides by calls and the other by a much smaller, cleaner pool. Before you compare your number to anyone's, find out what's under the line.
This guide puts the published figures in one table with the denominator each one uses, all checked on October 23, 2026. It gives you the three formulas, a worked example that shows how one shop can report 33% or 60% from the same month, and what actually moves the number. We build Botcadence, an AI HVAC answering service, so we care about this metric too; we've said where an AI receptionist helps the number and where it doesn't.
| Source | Figure | Denominator | Sample and period | Benchmark or target? |
|---|
| ServiceTitan, Call Trends in the Trades | More than 50 technicians: 58% of calls booked. 10 or fewer technicians: 30% | Not stated on the page; reported as the median of the sampled accounts | Aggregated, de-identified ServiceTitan accounts, May 1, 2025 to July 31, 2026 | Measured |
| ServiceTitan, same report | Booking rates rose 2.4 to 3.4 percentage points year over year for five quarters in a row | As above | As above | Measured trend |
| ServiceTitan blog, October 2022 | HVAC: 38% in June 2022; 42% across the trades | Not formally defined; described as turning "4 of 10 calls" into jobs | More than 3,000 trade businesses on ServiceTitan | Measured, older |
| ServiceTitan CSR dashboard (definitions) | "Percent Booked" is the percent of lead calls booked into jobs | Lead calls: inbound calls of at least 60 seconds whose call type isn't excused | Definition only | Definition |
| Avoca blog, June 2025 | "Aim for 85%+" | "The percentage of viable leads you actually book" | None given | Target |
| Invoca, via PPC Land, October 2026 | 34% of HVAC inbound calls answered by a person | All inbound calls; this is an answer rate, not a booking rate | Invoca platform averages; HVAC sample size not disclosed | Measured |
Three things stand out:
- Size matters. The 58% versus 30% gap in ServiceTitan's data is between large and small shops. Bigger shops usually have dedicated CSRs and someone answering at lunch.
- The definitions don't match. ServiceTitan's dashboard metric divides by lead calls, but its trends report doesn't say which denominator it used. Avoca's 85% is a goal for "viable leads," not a measured average.
- Missed calls are the hidden denominator. If only about a third of HVAC calls reach a person, as Invoca's data suggests, a shop can book most of the calls it answers and still book a small share of the calls it gets.
We left out figures we couldn't trace to a page that states them, including several "industry average" numbers that circulate on agency blogs without a named source.
Write down which one you're using. They answer different questions.
- Booking rate on all calls = jobs booked from inbound calls ÷ all inbound calls. This answers "how much of the demand we paid for became work?" It's the hardest number and includes every missed call.
- Booking rate on answered calls = jobs booked ÷ calls a person or agent actually answered. This measures what happens once someone picks up, and ignores calls that rang out.
- Booking rate on lead calls = jobs booked ÷ lead calls. ServiceTitan's dashboard defines a lead call as an inbound call of at least 60 seconds that isn't excused, such as a call about an existing job or a vendor. This is the cleanest measure of how well your CSRs convert real opportunities.
One shop, three booking rates: a worked example
These are example numbers, not benchmarks. A residential HVAC shop gets 400 inbound calls in a month:
| Step | Calls |
|---|
| Inbound calls | 400 |
| Missed or abandoned (nobody picked up) | 100 |
| Answered by a person | 300 |
| Excused or under 60 seconds (existing jobs, vendors, wrong numbers, quick questions) | 80 |
| Lead calls | 220 |
| Jobs booked | 132 |
The same 132 bookings produce three very different numbers:
| Formula | Calculation | Booking rate |
|---|
| On all calls | 132 ÷ 400 | 33% |
| On answered calls | 132 ÷ 300 | 44% |
| On lead calls | 132 ÷ 220 | 60% |
This shop can truthfully say it books 60% of leads, and just as truthfully say it turns a third of its calls into jobs. That's why a vendor's "our customers book 80%" and an industry report's "30%" aren't contradictions. They're usually different fractions.
Which to watch: use the lead-call rate to coach CSRs, and the all-calls rate to judge the whole phone operation, because only the all-calls rate shows the 100 missed calls.
What moves an HVAC booking rate
Most of the gap between shops comes from a handful of habits on the phone, and the first one isn't about selling at all.
- Answer the call. A missed call can't be booked. Lunch hours, the 4 pm rush and the first heat wave are when calls go unanswered. Forwarding unanswered calls to someone who answers moves the all-calls rate more than any script change. Our call forwarding guide has the carrier codes.
- Take the name, number and address first. A dropped call with a callback number is still a lead you can book.
- State the fee. Callers who ask "how much for a service call?" and get a vague answer call the next company. Give the diagnostic or visit fee and what it covers.
- Offer two specific times. "Tuesday morning or Wednesday afternoon?" books more than "When works for you?"
- Book during the call. "Someone will call you back to schedule" is a lead you might lose.
- Triage safely. Gas smells and carbon monoxide alarms aren't bookings; they're "get outside and call 911 or the gas company." No-heat and no-cooling calls with vulnerable people at home go to the on-call tech.
Our free HVAC CSR booking call script puts the booking habits in order, and the HVAC emergency triage call script covers the calls that shouldn't be booked for tomorrow.
How to measure your own booking rate
You can do this with a phone bill and a calendar, or with your field-service software's reports.
- Pull a full month of inbound calls from your phone system, including missed and abandoned calls. If you use call tracking, use that report.
- Mark the calls that weren't opportunities: existing jobs, vendors, spam, wrong numbers. Decide once whether very short calls count, and stick to it. ServiceTitan's dashboard uses 60 seconds.
- Count jobs booked from those calls, not jobs booked from web forms or outbound calls. ServiceTitan's dashboard separates "Manual" bookings made without an incoming call for this reason.
- Calculate all three rates and write the denominator next to each.
- Repeat monthly, and compare June with June, not June with October. Call mix changes with the season.
If your software reports a booking rate, open the help article for that report and check its definition before comparing it with anyone else's.
What an AI receptionist does to the numbers
An AI receptionist mostly changes the denominator, so be careful how you read the result.
Take the example shop again. Suppose the 100 missed calls are now answered by an AI receptionist. Of those, 30 turn out to be lead calls, it books 12 into the calendar, and 10 more end as messages for a callback.
| Formula | Before | After | What happened |
|---|
| On all calls | 132 ÷ 400 = 33% | 144 ÷ 400 = 36% | More of the paid-for demand became jobs |
| On answered calls | 132 ÷ 300 = 44% | 144 ÷ 400 = 36% | Fell, because the newly answered calls include spam and quick questions |
| On lead calls | 132 ÷ 220 = 60% | 144 ÷ 250 = 58% | Roughly flat |
Two honest points follow from that:
- The answered-call rate can drop even as bookings rise. Calls that used to ring out are now in the denominator. Judge the change by booked jobs and the all-calls rate.
- A message isn't a booking. The 10 calls that ended as messages only count if someone calls back and books them. Track them separately, and check how many convert by the next afternoon.
How Botcadence fits
Botcadence's AI receptionist for HVAC is built to raise the all-calls rate:
- It answers the calls nobody picks up, on no-answer, after hours or 24/7, up to your account's concurrent-call limit.
- It books while the caller is on the line. Routine calls go into Google Calendar, and it can text the caller a confirmation.
- It escalates urgent calls. No-heat and no-cooling calls with people at risk start your on-call escalation, which texts and calls your techs until someone replies.
- It sends the caller to safety first on gas and carbon monoxide calls.
- It has no native ServiceTitan, Housecall Pro or Jobber integration. Records reach those systems through Zapier or webhooks, so check what your software's Zapier app can create before you rely on it.
It runs on the Voice AI plan, $299 a month with 1,500 minutes. Our HVAC answering service cost guide compares that with live services and the AI built into field-service software. For texting and web chat on the same plan, see AI for HVAC companies.