HVACToolsAI
operations · 12 min read

HVAC KPIs: The Weekly Scorecard That Tells You What to Fix

Most HVAC dashboards show plenty of numbers and change nothing. Which 12 numbers belong on a weekly scorecard, how to calculate each one, what each is worth in dollars, how far to trust published benchmarks, and how to run a 15-minute meeting that acts on them.

EM
Reviewed by Edward Magruder
Independent HVAC software researcher · Verified November 2, 2026
Disclosure

Some links to software vendors may be affiliate links. If you click through and sign up for a tool, we may earn a commission at no cost to you. Affiliate relationships do not influence our rankings. How we review.

Every field service platform will show you a dashboard with 40 numbers on it. Most owners look at it for a week, feel vaguely worried, and go back to checking the bank balance and asking how busy the board is. Neither of those tells you what to fix. By the time the bank balance moves, whatever caused it happened 60 days ago.

A scorecard is a different thing from a dashboard. It is a short list of numbers, each with a written definition, one person who owns it, and an agreed action when it goes the wrong way. If a number can move without anyone doing anything differently, it does not belong on the list.

This guide covers the 12 numbers to review weekly, the monthly financial numbers that sit behind them, what each lever is worth on an example shop, how much to trust the benchmarks you see online, and how to keep the numbers honest. The example figures are illustrations; run your own.

Key takeaways

  • →Keep the weekly list to about 12 numbers: answer rate, booking rate, jobs run, average ticket, billable share of paid hours, callback rate, replacement close rate, average replacement sale, net agreement change, completed jobs not invoiced, receivables over 30 days, and weeks of cash.
  • →Every number needs a written formula, one owner and a trigger. A number nobody owns is decoration, and a number with two definitions starts arguments instead of ending them.
  • →Service revenue is a chain: bookable calls × answer rate × booking rate × run rate × average ticket. On the example shop, five points of booking rate is worth about $10,900 a month and $25 of average ticket about $8,700, so work the weakest link instead of the loudest one.
  • →Never manage from blended gross margin. In the example, more replacement sales pull the blended margin from 50.9 to 49.7 percent while gross profit rises by more than $32,000 and no department gets worse.
  • →Pay yourself a market wage in the books before reading net profit. An 11.3 percent margin can really be 7.5 percent once a $120,000 owner salary is counted.
  • →Treat published benchmarks as rough. Most come from software vendors, definitions differ, and few disclose their methods. Your own trend against the same week last year is the better comparison.
  • →Pair every number with one that catches gaming: booking rate with jobs run, average ticket with callbacks, close rate with cancellations, days to collect with write-offs.

Why most HVAC dashboards change nothing

Three things usually go wrong. There are too many numbers, so nobody can say which one matters this week. The numbers are lagging ones, like last month's profit, so by the time they move the cause is long past. And nobody owns them, so a bad number produces a conversation rather than a decision.

A useful scorecard fixes all three. It is short enough to read in a minute, it leans on numbers that move before the money does, and each line has a name next to it. Booking rate falling this week tells you something you can still act on. Net profit falling last quarter tells you that you had a bad quarter.

Write down three things for every line: the formula, who owns it, and what happens when it crosses a set level. "If booking rate is under 65 percent for two weeks, the CSR manager listens to 20 unbooked calls and reports back" is a scorecard line. "Keep an eye on booking rate" is not.

The example shop used in this guide

To keep the math in one place, every example below uses the same made-up shop in a normal month: 7 service technicians, 349 completed service jobs at a $450 average ticket for about $157,000, plus 12 replacements at $9,000 for $108,000. That is $265,000 of revenue for the month.

Service runs at a 55 percent gross margin, or about $86,350 of gross profit. Replacement runs at 45 percent, or $48,600. Total gross profit is $134,950, a blended 50.9 percent. Overhead is $105,000, which leaves $29,950 of net profit, or 11.3 percent.

A real shop has a maintenance department, and often a commercial one, with their own margins. Two departments are enough to show how the math works. Replace these with your own figures before you draw any conclusions.

The 12 numbers for the weekly scorecard

Phones. 1. Answer rate: answered inbound calls divided by all inbound calls, split into business hours and after hours. 2. Booking rate: booked jobs divided by bookable calls, leaving out existing appointments, vendors, spam and callers outside your area. 3. Jobs run: completed jobs, and what share of booked jobs actually ran. Together these say whether the demand you paid for turned into work. Owner: CSR manager or office manager.

Field. 4. Average ticket: service revenue divided by completed service jobs, with replacements kept out and tune-ups reported separately so a busy maintenance month does not look like a selling problem. 5. Billable share: hours on a job divided by paid hours, by technician. 6. Callback rate: return visits within your set window divided by completed jobs. The callbacks guide on this site suggests 30 days for service and 90 days for installs. Owner: service manager.

Replacement sales. 7. Close rate: replacements sold divided by in-home estimates run, by advisor and by lead source. 8. Average replacement sale, with gross margin per job if you can get it. A rising average sale paid for with discounts or a higher financing fee is not an improvement. Owner: sales manager.

Recurring. 9. Net agreement change: agreements sold minus agreements lost this week, plus the running active count. Owner: service manager or whoever runs the maintenance program.

Cash. 10. Completed jobs not invoiced: a count, and it should be close to zero every morning. 11. Receivables over 30 days, in dollars. 12. Weeks of cash: bank balance divided by weekly fixed cash out, including base payroll. $160,000 in the bank against $40,000 a week is four weeks. Owner: office manager or bookkeeper.

That is the whole list. A different shop might swap one line, such as first-time fix rate for callback rate. But when someone wants to add a 13th number, ask which one comes off.

Service revenue is a chain, so find the weakest link

The first six numbers multiply. In the example shop, 600 bookable calls × 85 percent answered = 510 answered. 510 × 72 percent booked = about 367 booked. 367 × 95 percent run = about 349 jobs. 349 jobs × $450 = about $157,000.

Because the links multiply, you can price each one. Moving answer rate from 85 to 90 percent adds about $9,200 a month. Moving booking rate from 72 to 77 percent adds about $10,900. Moving run rate from 95 to 98 percent adds about $5,000. Moving average ticket from $450 to $475 adds about $8,700.

Those four results are close enough that the right answer depends on which one is easiest for you to move. A shop already answering 97 percent of calls has little left there. A shop booking 50 percent has a lot. Run this with your own numbers before you decide what to work on next, and be skeptical of anyone selling a single fix before seeing them.

Then check capacity, because extra calls do not help if nobody can run them. The example shop has 7 technicians paid about 176 hours a month, or 1,232 paid hours. At a 62.5 percent billable share that is 770 billable hours, about 2.2 hours per job and $204 of revenue per billable hour. Five more points of billable share creates about 62 hours. That is worth about $12,600 a month only if there is demand to fill it, and the 24 extra jobs from the booking rate example would use about 53 of those hours.

So phone numbers and field numbers work as a pair. If the board is full and billable share is high, the next dollar comes from ticket, price or another technician. If the board has holes, it comes from the phone. In peak season the answer can flip within a few weeks, which is one reason to look weekly. The CSR booking rate guide and the missed calls guide on this site go deeper on the phone side.

The monthly numbers behind the weekly ones

Some numbers move too slowly, or are too noisy, to review every week. Look at these once a month, after the books close: gross margin by department, net profit, revenue per technician, days to collect, cost per job run by marketing channel, agreement renewal rate, maintenance visits delivered against visits owed, and technician turnover on a trailing 12-month basis.

Revenue per technician is the growth check. The example shop is at about $22,400 per service tech for the month, which would be about $269,000 a year if every month looked like this one - and in most markets they do not, so use trailing 12 months. If revenue per tech falls as you add trucks, you are buying capacity faster than you can coordinate it. Keep install crews out of this calculation, or it stops meaning much.

Days to collect is receivables divided by daily revenue. $212,000 of receivables on $265,000 of monthly revenue, or about $8,833 a day, is 24 days. Getting to 14 days frees about $88,000 of cash without selling anything. The cash flow guide on this site covers how.

Cost per job run replaces cost per lead. Say two channels each cost $4,000 this month. Channel A produced 80 calls and 30 jobs that averaged $450: $50 per call, $133 per job and $13,500 of revenue. Channel B produced 40 calls and 25 jobs that averaged $700: $100 per call, $160 per job and $17,500 of revenue. Channel A wins on cost per call and cost per job. Channel B returns about $4.38 of revenue per marketing dollar against about $3.38. Judge channels on revenue and gross profit per dollar, and do it over several months.

Renewal rate is what decides whether a maintenance program grows. With 1,200 active agreements, 80 percent renewal loses 240 a year, so you have to sell 20 a month just to stay flat. At 85 percent you lose 180, which means 60 fewer sales a year to stand still. The maintenance plans guide on this site treats under 70 percent as a leaking bucket and 70 to 85 percent as a working program.

Stop reading blended gross margin

Blended margin mostly tells you your job mix. In the example shop, say replacements jump from 12 to 20 in a month while service stays flat and neither department changes at all. Revenue rises to $337,000 and gross profit to $167,350, up more than $32,000. Blended margin falls from 50.9 to 49.7 percent. An owner reading only the blended number would see a problem in the best month of the year.

It hides real problems too. A slide in service margin can disappear for months behind a strong replacement stretch. So keep separate gross margin lines for service, replacement, maintenance and commercial, with labor charged to the department where it was worked. Unassigned labor is where department margins go to look better than they are.

Decide what counts before you compare months. Technician wages, payroll burden and commission, parts and equipment, permits, warranty labor and financing dealer fees all belong in cost of the job. If some months they land in overhead and some months in job cost, the margin trend will not mean anything. Have your bookkeeper or CPA write the rules down and hold to them.

Watch the timing too. A deposit on a job that has not been installed is not revenue yet. Book it as revenue when collected, and a strong deposit month looks profitable while the following month looks terrible. Agreement fees paid up front raise the same question. Ask your CPA how to handle both.

Net profit, owner pay and your break-even

Net profit only means something if the owner's work is in the books. If the example shop's owner takes $120,000 a year as distributions instead of a salary, the true overhead is $10,000 a month higher. Net profit drops from $29,950 to $19,950, and the margin from 11.3 to 7.5 percent. Put in a market wage for the job the owner actually does, whether or not you pay it that way.

Know your break-even revenue. It is overhead divided by gross margin: $105,000 divided by 50.9 percent is about $206,000 a month. That one figure answers a lot of questions. How bad is a slow month? What does a new hire or a new truck do to the line you have to clear? How much cash do you need to get through the trough? The seasonality guide on this site covers sizing that reserve.

Reconcile your field platform to your accounting system every month. The two will disagree because of timing, unapplied payments and jobs closed late. Find out why and write it down. If you cannot explain the difference, nobody should fully trust either number.

How much to trust HVAC benchmarks

Be careful with these. Most KPI benchmarks published online come from software vendors and marketing firms. They rarely disclose a sample or method, they use different definitions, and they often disagree with each other. Use them to check whether you are in a sensible range, not as targets.

Net profit shows the problem well. Published averages for HVAC and plumbing contractors tend to land in the mid-single digits, while vendor material often calls 10 to 20 percent healthy. Those two claims can both be true, since one describes what shops earn and the other what they should aim for. Definitions also differ on whether owner pay has been taken out, which can move the result by several points on its own.

Gross margin of 50 to 55 percent is a commonly cited target across all services, though it is a target and not a measured average, and your job mix moves it. Department ranges used elsewhere on this site are rough starting points: service 55 to 65 percent, replacement 40 to 50, maintenance 30 to 45.

For revenue per service technician, this site's other guides use $180,000 to $250,000 as a rough typical range, and published figures vary widely on both sides of it. For callbacks, 2 to 3 percent is a good result on a strict count, and many shops find 4 to 8 percent the first time they count every return visit. Booking rate has no one honest benchmark, because it depends so heavily on call type, lead source and how the denominator is counted.

The comparison that holds up is your own: this week against the same week last year, and the trailing 13 weeks against the 13 before. If you want a true peer comparison, the better sources are trade associations and peer groups that collect financials on shared definitions.

Keep the numbers honest

Any number that affects someone's pay or reputation will get managed. Assume it, and pair each number with one that catches the obvious shortcut.

Booking rate with jobs run, so nobody books calls that will cancel or tags hard calls as not bookable. Average ticket with callbacks and complaints, so nobody sells work a customer did not need. Close rate with cancellations and gross margin per job, so nobody closes by discounting. Billable share with callback rate, so nobody rushes. Days to collect with write-offs, so nobody clears receivables by writing them off. Answer rate with abandoned calls and hold time.

Audit a sample. Listen to 20 unbooked calls, check 10 jobs for return visits logged under a new job number, and spot-check job clock times against GPS. You are not trying to catch anyone out. You want to find out whether the definition is working.

Compare technicians like with like. A tech who gets the maintenance route will have a lower ticket than the tech who gets every no-cool call. Before you rank anyone, control for call type, or you will end up coaching dispatch decisions. Small numbers are noisy too: two callbacks can look like a crisis for one tech in one week, so review tech-level callback rates on a trailing 13 weeks.

Run it as a 15-minute weekly meeting

Hold it the same time every week, standing up if that helps. Get the scorecard out a day ahead, with last week, the trailing four weeks and the same week last year for each line. Each owner reports their number in one sentence, and only numbers past their trigger get discussed.

Each off-track number ends with one action, one name and a date. "Sarah pulls 20 unbooked calls from the after-4 p.m. window and brings the pattern back Tuesday." Longer problems move to a separate meeting with the people who can fix them, so the weekly meeting stays at 15 minutes.

Set triggers from your own history. Take the last 12 months for each number, and set the trigger at the level where you would actually do something different. Make them seasonal where they need to be: the same answer rate means something different in the first heat wave and in April. Review the triggers once a quarter.

Share the numbers with the people who move them. Technicians can see their own ticket, callback rate and billable share. CSRs can see booking rate. Most people want to know how they are doing, and a number they see only in a performance review will not change what they do on Tuesday. Company financials are a separate decision; you can share operating numbers without opening the whole P&L.

Scale the scorecard to your size

Solo: five numbers. Calls missed, jobs run, average ticket, invoices unpaid, and cash in the bank. You own all of them, and the bank-balance habit becomes useful once it sits next to the other four. Fifteen minutes every Friday is enough.

Two to five technicians: about eight. Add booking rate, callback rate and close rate. Often the owner still owns most of these, so the point is to hand off one or two as soon as someone can take them. The small residential guide on this site covers why the owner's attention is the constraint at this size.

Six to fifteen technicians: the full 12, with real owners and monthly department margins. This is the size where no one can keep the business in their head anymore and the scorecard starts doing that job. The mid-size guide on this site covers the common failure points.

Sixteen or more, or multiple locations: the same 12 per location and per department, with overhead allocated before comparing branches, plus a company roll-up. For a mixed HVAC and plumbing shop or a commercial division, split the scorecard by trade or division, because blended numbers hide the same things blended margin hides.

Software: where the numbers come from

Your field service platform holds jobs, tickets, technicians and agreements. Your phone system or call tracking holds the call data. Your accounting system, QuickBooks Online for many shops, holds the margin, receivable and cash figures. No single system holds all 12 well unless you have set it up carefully, so expect at least some of the scorecard to pull from more than one place.

Larger platforms such as ServiceTitan and FieldEdge offer more built-in reporting, including per-technician and per-department views. Housecall Pro, Jobber and Service Fusion cover the core job and revenue numbers, but check exactly what the reports on your tier can do, especially department margin and technician-level callbacks, before you assume.

Start with a spreadsheet. Twelve lines, one column per week, filled in by hand on Monday morning from the reports you already have. It takes the bookkeeper 30 minutes, and doing it by hand shows you which definitions are unclear and which fields nobody fills in. Buy a dashboard tool or an upgrade after the meeting has been running for a quarter, once you know what you actually use.

Most bad numbers come from bad inputs: jobs not closed on time, time not clocked, calls not tagged, callbacks booked as new jobs. Software will not fix those. Require the fields and check them, and the reports get useful on their own.

A 30-day plan to start

Week 1: define. Write the formula, the owner and the source system for every line. Pull 12 months of history for whatever you can get, and mark the lines you cannot produce yet.

Week 2: clean up inputs. Add required fields for call type, unbooked reason, callback flag and job close. Separate labor and materials by department in your books with your bookkeeper. Move owner pay to a market wage in your management numbers.

Week 3: run it. Fill in the scorecard by hand and hold the first 15-minute meeting. Do not set targets yet. Expect a few numbers to look worse than you thought, because you are finally counting them properly.

Week 4: act on one thing. Run the chain math from this guide on your own numbers, choose the single link with the largest available gain, assign it, and set a trigger for every line. After 90 days, compare that number against its starting point and pick the next one.

Tools mentioned in this guide

Tool rankings for this topic

Frequently asked questions

Q.What KPIs should an HVAC company track?

Review about 12 weekly: answer rate, booking rate, jobs run, average ticket, billable share of paid hours, callback rate, replacement close rate, average replacement sale, net agreement change, completed jobs not invoiced, receivables over 30 days, and weeks of cash. Monthly, add gross margin by department, net profit, revenue per technician, days to collect, cost per job run by channel, renewal rate and technician turnover.

Q.What is a good net profit margin for an HVAC company?

Published averages for HVAC and plumbing contractors tend to land in the mid-single digits, while vendor material often calls 10 to 20 percent healthy. Most of these figures come from software vendors and definitions vary, especially on owner pay. Charge a market wage for the owner before comparing, because leaving it out can overstate margin by several points.

Q.What is a good gross margin for HVAC?

A blended 50 to 55 percent is a commonly cited target, not a measured average, and your job mix moves it. Track margin by department instead. Rough starting points are service 55 to 65 percent, replacement 40 to 50 and maintenance 30 to 45. Blended margin can fall in a great month simply because you sold more replacements.

Q.How much revenue should an HVAC technician generate?

This site uses $180,000 to $250,000 a year per service technician as a rough typical range, though published figures vary widely. Calculate it on trailing 12 months with install crews excluded. The trend matters more than the benchmark: if revenue per tech falls as you add trucks, you are adding capacity faster than you can coordinate it.

Q.How do you calculate HVAC callback rate?

Divide return visits within a set window by completed jobs. A common rule is any return within 30 days of service or 90 days of an install. Count them all rather than only the ones judged to be your fault. On a strict count, 2 to 3 percent is good, and many shops find 4 to 8 percent the first time they measure it properly.

Q.How often should an HVAC owner review KPIs?

Review operating numbers weekly in a 15-minute meeting where each owner reports their number and anything past its trigger gets one action, one name and one date. Review financial numbers monthly after the books close. Compare against the same week last year and the trailing 13 weeks, since HVAC is too seasonal for week-over-week comparisons to mean much.

Updated: November 2026