Define a callback as a return visit for the same fault inside a set window, such as 30 days. Tag it when booked, link it to the original job, and record one cause code when it closes. Review the codes weekly by cause, technician, equipment and job type. A pivot table does the counting; AI helps read the notes.
The aim is to find what keeps coming back, not to rank technicians. Raw callback rates mostly reflect job mix, because the person who takes the summer no-cooling calls collects more repeats than the person who does tune-ups. Rates only compare fairly inside one job type, and a handful of callbacks proves nothing until the same pattern shows up again.
What counts as a callback, and what does not
Pick one window per job type and write it down. A reasonable starting point is 30 days for repairs and tune-ups and 90 days for installations, because drainage and leak problems on a new system can take weeks to show. These are my suggestions, not an industry standard, so adjust them to what your own return visits look like.
The test is simple. A return visit is a callback if it is the same equipment, the same symptom or the same area of the system, inside the window, and the first visit worked on that area. A different fault is a new job. Planned second visits and declined work get logged but not counted, because they measure something else. These six cases show where the line falls.
| What happened (illustrative) | Callback? | Why |
|---|---|---|
| Air conditioner repaired on Tuesday, no cooling again on Friday, same unit, same symptom. | Yes | Same fault, four days, first visit worked on the cooling circuit. |
| Furnace fixed, then a different component fails six weeks later. | No: new fault | Outside the window and a different part. |
| Technician swaps a capacitor and says the fan motor looks weak. Customer declines the motor. It fails three weeks later. | Logged, not counted: declined work | The company diagnosed it correctly. Keep it in the log to see how often advice is declined. |
| First visit finds a failed control board, part ordered, second visit fits it. | No: planned return | Booked as a two-visit job from the start. |
| New heat pump shows water at the indoor unit on day five. | Yes | Installation, inside the 90-day window. |
| Tune-up done, customer calls two weeks later about a blank thermostat after a power cut. | Judgement call | Counts only if the tune-up touched the thermostat wiring. Record your reasoning in the note. |
The last row gives you the general rule: if the first visit worked on that component, it counts. Technicians then have little reason to argue about definitions, and the office does not have to guess.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowThe log: fourteen columns that make patterns visible
Everything you will want to slice later has to be captured when the job closes. These fourteen columns are enough to cut the data by cause, technician, equipment and job type without making the closing step a chore.
- Callback job ID.
- Original job ID (the link that makes this a log instead of a list).
- Original visit date.
- Callback date.
- Days between (a formula, never typed).
- Original technician.
- Job type: cooling repair, heating repair, tune-up or installation.
- Equipment type and brand.
- Equipment age band: 0 to 7 years, 8 to 12, 13 or more.
- Symptom as the customer reported it.
- Primary cause code (one only).
- Root cause note: one sentence, what was actually wrong.
- Preventable at the first visit? Yes, No or Unsure.
- Return cost: hours on site, hours driving, parts.
Here are four filled rows from an imagined log, trimmed to the columns that carry the story.
| Callback / original | Days | Job type and equipment | Code | Root cause note |
|---|---|---|---|---|
| CB-0412 / J-3187 | 9 | Cooling repair, split system, 11 years | DX | Capacitor replaced Tuesday. Fan motor drawing high amps on revisit, motor replaced. |
| CB-0419 / J-3240 | 4 | Installation, heat pump, 0 years | WK | Condensate line not sloped enough at the indoor unit. Re-run. |
| CB-0421 / J-3255 | 14 | Cooling repair, split system, 12 years | CU | Filter blocked and coil iced. Customer had not changed the filter in two years. |
| CB-0428 / J-3281 | 27 | Cooling repair, split system, 16 years | DX | Refrigerant topped up without a leak search. Low again, leak found at the indoor coil. |
The last row is a classic. Topping up refrigerant without looking for the leak fixes the symptom for a few weeks, and a pattern of those shows up in the log very quickly. The record-keeping side of refrigerant work is covered in the tutorial on refrigerant logs for leak checks and top-ups, and the two logs reinforce each other.
Where the log lives in Housecall Pro
Housecall Pro's job fields include a Callback checkbox by default, alongside Job type and Business unit. Its help page says job fields can be used as filters in job reports and as an added column in the job drill-down report, and its Jobs List can be filtered, set to the columns you choose and exported. Callback is not available on estimates, and the page does not mention linking a callback to its original job, so put the original job number in the job notes. For the cause code, use a job tag. Housecall Pro's tags overview says job tags can be used to filter and search within reports and are not shown to customers, and in the mobile app you add a new tag with the + icon. Create your ten code tags once and tell the team not to invent new ones, because free-text tags drift into near-duplicates within a month.
Where the log lives in Jobber
Jobber's custom fields can be added to jobs, as well as clients, properties, quotes, invoices and team members. The five value types are True/False, Numeric, Area, Drop Down and Text, and the help page says custom fields are available on select plans, so check yours under Account and Billing before you plan around them. Use True/False for "callback", a Drop Down for the cause code and Text for the original job number. The help page also says that once a field is created its type cannot be changed, so decide before you build. Custom field data can be shown in Reports by ticking the field in the Columns drop-down. In the mobile app, job custom fields appear on a visit's Details tab but have to be edited from the job itself, which is worth knowing before you tell technicians to fill them in on site.
Where the log lives in a spreadsheet
One row per callback, a dropdown (data validation) on the code and job-type columns, and a formula for days between. The office fills it from each closed job, and ninety seconds a callback is a realistic budget once the codes are settled. If your jobs are exported from accounting or field-service software, the original job ID lets you pull the original visit's date, technician and equipment with a lookup instead of retyping them. Technician notes feed the root-cause sentence, and the tutorial on turning technician notes into HVAC service reports shows how to keep those notes consistent enough to read later.
Cause codes technicians will actually use
Ten codes is the most a technician will pick from without sighing. Seven count as callbacks and three are logged but excluded. Each code needs a definition short enough to read in ten seconds, and a sample phrase so the office codes the same way the technician would.
| Code | Name | Use it when | Counted? |
|---|---|---|---|
| DX | Diagnosis | The first visit fixed a symptom, not the cause (capacitor swapped, motor was failing). | Yes |
| PT | Part failed early | The replacement part was faulty, the wrong specification or the wrong part. | Yes |
| WK | Workmanship | An installation or repair set-up error: connection, charge, drainage, sealing. | Yes |
| IV | Incomplete visit | Left before the final checks, or cleared part of a fault without a full test cycle. | Yes |
| CU | Customer-side | Settings, blocked filter, access, misuse. | Yes, but audit it |
| EQ | Equipment condition | A worn or known weak system with no single part to blame. | Yes |
| OT | Other | Nothing else fits. Needs a one-sentence note, reviewed weekly. | Yes |
| PR | Planned return | A second visit booked at the first, usually for a part. | No, logged |
| DW | Declined work | The customer declined the recommended repair and the fault returned. | No, logged |
| NF | New fault | A different fault in an area the first visit did not touch. | No, logged |
Two rules keep the codes honest. First, one primary code per callback, with the separate "preventable at the first visit?" column carrying the finer judgement. Second, treat any code that grows past about a fifth of your callbacks as a flag to audit. Customer-side is the usual culprit, because it is the easiest thing to pick and the hardest to dispute.
A worked quarter: 412 jobs, 37 callbacks and one pattern
The figures below come from an imagined six-technician residential company over one quarter. It completed 412 repairs, tune-ups and installations. Thirty-seven return visits met the callback definition. A further 19 were logged and excluded: 11 planned second visits, 5 declined-work returns and 3 new faults. Overall that is 37 of 412, or 9.0%.
| Primary cause | Callbacks | Share |
|---|---|---|
| DX Diagnosis | 13 | 35% |
| PT Part failed early | 8 | 22% |
| WK Workmanship | 5 | 14% |
| CU Customer-side | 4 | 11% |
| EQ Equipment condition | 4 | 11% |
| IV Incomplete visit | 2 | 5% |
| OT Other | 1 | 3% |
| Total | 37 | 100% (rounded) |
Diagnosis is the largest slice, so the next cut is by job type.
| Job type | Jobs | Callbacks | Rate |
|---|---|---|---|
| Cooling repair | 168 | 22 | 13.1% |
| Heating repair | 74 | 7 | 9.5% |
| Tune-up | 132 | 3 | 2.3% |
| Installation | 38 | 5 | 13.2% |
| All jobs | 412 | 37 | 9.0% |
Installations show 13.2%, but five callbacks on 38 jobs is too small a sample to act on, so the owner parks it and watches the next quarter. Cooling repairs are the bigger prize: 22 callbacks on 168 jobs. Splitting them by what was replaced gives the first real signal.
| Cooling repairs | Jobs | Callbacks | Rate |
|---|---|---|---|
| Capacitor or contactor replaced | 61 | 11 | 18.0% |
| Everything else | 107 | 11 | 10.3% |
Capacitor and contactor jobs come back at about 1.75 times the rate of other cooling repairs. Now compare technicians, with the usual warning that raw rates mislead.
| Technician | All jobs | Callbacks | Rate | Capacitor jobs | Their callbacks |
|---|---|---|---|---|---|
| T1 | 88 | 5 | 5.7% | 9 | 1 |
| T2 | 81 | 6 | 7.4% | 8 | 1 |
| T3 | 74 | 5 | 6.8% | 8 | 1 |
| T4 | 72 | 9 | 12.5% | 24 | 4 |
| T5 | 55 | 7 | 12.7% | 7 | 2 |
| T6 | 42 | 5 | 11.9% | 5 | 2 |
T4's raw rate of 12.5% looks bad against the company's 9.0%. But T4 is the go-to technician for summer no-cooling calls and did 24 of the 61 capacitor jobs. Applying the company's own rate for each job type to T4's mix (48 cooling repairs, 6 heating repairs, 14 tune-ups and 4 installations) predicts about 7.7 callbacks, against 9 logged. The gap shrinks from a worrying 2.5 above average to about 1.3, which is within the noise for 72 jobs. T5 and T6 show two callbacks each on 7 and 5 capacitor jobs, which is 29% and 40%, but one fewer callback would make those 14% and 20%. Samples that small say nothing about the person.
The age of the equipment is where the pattern sharpens.
| Capacitor jobs by age | Jobs | Callbacks | Rate |
|---|---|---|---|
| 0 to 7 years | 22 | 1 | 4.5% |
| 8 to 12 years | 27 | 8 | 29.6% |
| 13 years or more | 12 | 2 | 16.7% |
Eight of the eleven capacitor callbacks were on condensers aged 8 to 12 years, and all eight were coded Diagnosis. Reading their notes, six ended with a condenser fan motor replaced on the revisit and two with a contactor. The working hypothesis is that on mid-life condensers a failing fan motor was killing capacitors, and the first visit treated the symptom. Nothing here is proven, but it is specific enough to act on.
The owner's response is a change to the closing checklist for any capacitor or contactor swap: record the fan motor's measured amp draw against its nameplate rating, and the capacitor's measured microfarads against its label, on the job. If the draw is high, the technician offers the motor. If the customer declines, the job is coded DW with a note, so the return visit does not count against the diagnosis. The check comes six weeks later: compare the capacitor-job callback rate with 18.0% and read the new notes. That is the whole loop, and it did not need a data scientist.
Let AI read the notes, and let a pivot table count
AI chat tools can read hundreds of free-text notes faster than anyone, but they miscount. Long lists are where the slips appear, so give AI the reading and the formulas the counting. In a sheet, the rate for each job type is two COUNTIFS divided by each other.
Callbacks for a job type: =COUNTIFS(Log!$G:$G, A2, Log!$K:$K, "<>PR", Log!$K:$K, "<>DW", Log!$K:$K, "<>NF")
Jobs for a job type: =COUNTIFS(Jobs!$D:$D, A2)
Callback rate: =B2/C2
Days between visits: =D2-C2
Before any note goes near an AI tool, strip customer names, addresses and phone numbers and keep only the job IDs. If you are on a free consumer account, check its training setting first, because business plans from the main vendors do not train on your content by default and consumer plans work differently. Then paste in your code definitions with the notes. Without the definitions the tool invents its own categories.
You are helping an HVAC company classify callback notes. Use ONLY these cause codes:
DX Diagnosis: first visit fixed the symptom, not the cause
PT Part failed early: faulty, wrong-spec or wrong part
WK Workmanship: install or repair set-up error (connection, charge, drainage, sealing)
IV Incomplete visit: left before final checks or a full test cycle, or cleared only part of a fault
CU Customer-side: settings, blocked filter, access, misuse
EQ Equipment condition: worn or known weak system, no single part to blame
OT Other: nothing above fits
PR Planned return, DW Declined work, NF New fault: excluded, but still label them.
For each row give: row ID, code, confidence (high, medium or low), and the exact phrase in the note that led to the code. If the note does not support a code, answer OT and say what is missing. Do not assume equipment details that are not in the note.
[paste rows as: ID | job type | note]
This is an illustrative reply for three rows, with what a careful reader changes.
| Row | Note (shortened) | AI code | Confidence | My decision |
|---|---|---|---|---|
| 14 | Capacitor replaced Tuesday, quit Friday. Motor hot, amps over nameplate. New motor fitted. | DX | High | Agree. |
| 15 | Thermostat blank again. New batteries Monday. Fine until a power cut. Re-seated a wire at the R terminal. | WK | Low | Change to DX: the first visit treated the symptom with batteries. |
| 16 | Water by the air handler, trap blocked. Previous visit cleared the top of the line only. | WK | Medium | Change to IV: the first visit stopped before a full drain test. |
Row 15 is the useful kind of low-confidence answer: it tells you where a human decision is needed. Row 16 shows a definition gap. The tool chose workmanship because nothing in the IV definition said "cleared only part of a fault", so that phrase went into the prompt above. Always re-code a sample of about twenty rows by hand before trusting the tool on the rest, and keep a note of the changes you make.
The second prompt looks for patterns across the notes, and it works best when you forbid conclusions.
Here are callback rows with: row ID, job type, equipment age, cause code, note.
1. List repeated parts, symptoms or phrases in the notes.
2. For each, list the row IDs where it appears. Do NOT give counts; I will count in the sheet.
3. Give one hypothesis for each pattern, labelled as a hypothesis.
4. Tell me one record I could pull to test each hypothesis.
Do not say any cause is confirmed.
[paste rows]
An illustrative reply might say that "fan motor" appears in rows 4, 9, 11, 17, 22 and 30, all cooling repairs where a capacitor was replaced first, and suggest pulling the first-visit amp readings to test whether capacitor failures were secondary. Check it. Searching the sheet for "fan motor" finds five rows with that exact phrase and one that says "condenser fan", so the tool counted generously. Neither number changes the finding, but the habit matters: every count that goes into the weekly review comes from COUNTIFS, never from the chat window. The same read-then-verify approach is described for other kinds of complaint data in the tutorial on spotting patterns in complaints, returns and defects with AI, and the spreadsheet side is helped by the prompts in Google Sheets AI prompts.
A twenty-minute weekly review sheet
Do the review on the same day each week with the person who can change the checklist, usually the service manager. Five steps, twenty minutes.
- New callbacks (6 minutes). Read each one: code, note, preventable or not. Fix any code that looks wrong.
- Other and Unsure (3 minutes). Re-code anything sitting in OT, and decide the "unsure" entries so they stop accumulating.
- Rolling table (4 minutes). Look at the last 90 days by cause, job type and equipment age. Ignore any cell with fewer than about five jobs.
- One action (5 minutes). Choose at most one change a week, with an owner and a date.
- Last action's result (2 minutes). Look at whether the thing you changed has moved.
A filled-in entry from the imagined quarter looks like this: week 7, four new callbacks (two DX, one PT, one CU), "fan motor" appears for the third time. Action: add fan motor amp draw and capacitor microfarads to the cooling repair closing checklist. Owner: service manager. Start: Monday. Check: six weeks, comparing capacitor-job callbacks with the 18.0% baseline. Result: left blank until the check date. For a pattern worth fixing, ask why up to three times: why did the capacitor fail (the fan motor drew too much), why was that not seen (nobody measured it), and why not (the checklist did not ask). Stop when you reach something you can change. A fuller set of prompts for that questioning is in the root cause analysis prompts tutorial.
What a callback costs, so the fix gets a budget
A callback has a direct cost and a hidden one. Say a technician spends 1.4 hours on site and 0.8 hours driving, loaded labour (wage plus benefits and payroll costs) is $52 an hour, parts average $22, the van costs $16 for the trip and the office spends $9 of time rebooking. That is 2.2 hours times $52, which is $114.40, plus $22, $16 and $9: $161.40 a callback. The hidden cost is the slot. If that visit could have been a paid repair worth $210, the true cost is about $371.
Across 37 callbacks, the direct cost is $5,971.80 and the cost including lost slots is $13,741.80 a quarter. The capacitor pattern alone accounts for 11 of them, which is $1,775.40 direct. You do not need to be exact. The point is that "we have some callbacks" becomes a figure that justifies ten minutes of extra measurement on each capacitor job. If the parts involved were still under manufacturer cover, the tutorial on warranty claims with failed-part evidence shows how to recover the part cost.
The trial month where Other swallowed the log
In an imagined trial month before the quarter above, 11 of 29 callbacks (38%) were coded Other. Technicians picked it when they were unsure or in a hurry, so the log said almost nothing. Two things fixed it. The code list gained IV and EQ, which had been missing and were where half those entries belonged. And OT now required a one-sentence note, which the weekly review read and re-coded. By the end of the quarter, Other held 1 of 37.
The same lesson applies to the people side. If technicians are rewarded for low callback numbers, they stop logging them. Use callback data to improve the checklist and as a coaching conversation starter on a rolling quarter, never as a bonus metric by itself. Bring the pattern, not the person: ask what would have made the problem obvious at the first visit, and what they would need on the van or on the checklist to catch it. In the worked example, that question produced the fan motor check, and it came from the technicians.
Callback tracking questions from HVAC owners
How many callbacks is normal for an HVAC company?
I don't know of a verified industry figure, and published numbers use different definitions of a callback, so compare your own quarter with your last one. The 9.0% in the worked example is invented for illustration, not a benchmark. What matters is the trend, and which job types sit above your own average.
Should customers pay for callbacks?
That is a pricing policy, separate from tracking. Many firms do not charge when the cause is on their side (diagnosis, part, workmanship, incomplete visit) and do charge for customer-side faults or declined work. Decide in advance, put it in your terms, and ask an adviser if rules where you work limit charges for repeat visits.
Can I track callbacks without field-service software?
Yes. A spreadsheet with a dropdown for the cause code, filled in from each closed job, works fine. Budget about ninety seconds per callback once the codes are settled. Software mainly saves the step of linking the callback to the original job and makes the weekly numbers quicker to pull.
Do I need AI to find patterns in callbacks?
No. A pivot table and a weekly review will find most patterns. AI earns its place once you have a few dozen callbacks with free-text notes, because it can read the notes for repeated parts, symptoms or phrases faster than you can. Let it suggest hypotheses, and check every count it gives against your sheet.
Further reads
- HVAC Call Script: Train Your CSRs and AI on the Same Script — Give angry repeat callers a written path to the service manager.
- HVAC Companies AI: What Warranty Paperwork Automation Costs — See what parts-failure paperwork costs to automate.
- AI for HVAC Contractors: Getting Answers From Manuals and Spec Sheets — Check nameplate ratings and specs faster during diagnosis.
- Apprentice Training Plan for Trades Firms: Sign-Offs and Reviews With AI — Turn a callback pattern into training for newer technicians.
- Van Stock Management for HVAC and Electrical Vans: Reorder Levels With AI — Cut planned second visits caused by missing parts.
- Using AI in an HVAC Business: A Week-by-Week Setup Plan — Fit the weekly review into a wider setup plan.
- Six AI Automations for HVAC Companies, Ranked by Effort — Six HVAC automations ranked from an hour of set-up to weeks of habit-building, with real vendor prices, sample messages and a break-even sheet.
- 10 ChatGPT Prompts for Plumbers: Call-Backs, Quotes, Complaints — Ten prompts for call-back texts, quotes and complaint replies, each with a filled example, a pass mark and a note on what never to paste in.
- Best AI for HVAC Business Owners: Find Ageing Systems to Replace — Find customers whose heating or cooling systems are old enough for a replacement conversation, with age bands, letter and text templates, and reply tracking.
- ChatGPT for HVAC: 10 Prompts for Plans, Replacements, Reviews — Ten prompts with filled examples for maintenance plans, replacement options and review replies, plus the customer-data rules and send-check.
- HVAC Markup and Margin: A Worked Check on Past Jobs With AI — A worked audit of 50 HVAC jobs: markup versus margin formulas, a sheet you can check by hand, AI help with formulas, and a flag for jobs below target.
- How Much to Charge for a Service Call: Build the Fee From Your Costs — Build a service call fee from loaded labour, van and overhead costs, with a worked example, a sheet AI can build and no borrowed benchmarks.
- How to Price HVAC Jobs: Test Flat Rate Against Hourly With AI — A 120-job replay compares flat rate with hourly by job type, sets flat prices from your own costs and a minimum call charge, and warns against copied prices.
- Workmanship Warranty: Exclusions to Draft With AI, Then a Solicitor Check — A bathroom fitter's warranty built from its own callback log: exclusions in plain words, claim steps, sample decisions and a solicitor-check pack.
- Can AI Do an HVAC Load Calculation? Why Manual J Software Still Matters — Why a chat assistant is a poor sizing tool for a replacement quote, where it does help, and a worked house comparing a rule of thumb with a proper load.
- Commercial Refrigeration Service Software: What AI Adds — What AI adds to service software for a commercial refrigeration firm, where it helps with call-outs and fault notes, and what stays manual.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Housecall Pro help pages on job fields, tags and job list reporting, and Jobber help pages on custom fields and jobs in the mobile app (all read November 2026). The quarter of jobs, callbacks and costs is invented for illustration.