Field service KPIs and formulas for small service teams

Your crew is capable of more jobs a day than they are finishing, and the gap is almost never effort. It is the return visit for a part nobody loaded, the hour of driving that should have been fifteen minutes, and the invoice written up at the kitchen table at nine at night. Measuring the right handful of things turns all three into decisions you can actually make on Monday.

Twelve field service KPIs below, each with its formula, the data it needs, a cadence and the decision it should change — then exactly what Opsler puts on screen for you. Start with three of them, not twelve.

Efficiency scored against a realistic per-hour benchmark, so it actually tells you which technician is ahead.

Field service KPI definitions at a glance

If you track three, track average ticket, jobs completed and gross margin. Those three answer the questions a small service business actually has this month: is our pricing right, do we need to hire, and are we keeping any of it. The other nine earn their place as you grow.

These are the field service metrics that come up in every serious conversation about a small team’s numbers, and the field service management metrics most reporting tools show you. The last column is the one that matters: name the decision a metric would change, or stop collecting it.

MetricFormulaData you needCadenceDecision it changes
First-time fix rateJobs resolved on the first visit ÷ total jobsA rule for what counts as a return visit for the same issueMonthlyTraining, van stock, or how much detail you take at booking
Callback rateReturn visits for the same issue ÷ completed jobsThe same matching rule, plus a window — 30 days is commonMonthlyWhich job types or which technician needs support
Technician utilizationHours on jobs ÷ hours paidRecorded job time and payroll hoursWeekly or monthlyWhether to hire, or whether the schedule has gaps
Billable utilizationBillable hours ÷ hours paidWhich recorded time you actually charge forMonthlyPricing, and whether warranty work is eating the week
Response timeTime from request to first arrivalWhen the request was logged and when the technician arrivedWeeklyDispatch priority and how you set customer expectations
Time to completeTime on site from start to completionJob start and completion timestampsMonthly by job typeHow long to schedule that job type for next time
Travel timeTime between leaving one job and arriving at the nextEn route and arrived timestamps for consecutive jobsMonthlyTerritory boundaries and job sequencing
Jobs completedCount of jobs reaching completion in the periodJob status and completion dateWeeklyCapacity, and whether the backlog is growing
Completion rateJobs completed ÷ jobs scheduledScheduled and completed counts for the same periodWeeklyWhether you are over-scheduling the day
Average ticketTotal revenue ÷ number of jobsInvoiced revenue and job countMonthlyPricing, and whether tiered options are being offered
Estimate close rateEstimates approved ÷ estimates sentEstimate status countsMonthlyHow estimates are presented, and whether they are followed up
Revenue per hourRevenue ÷ hours workedInvoiced revenue and recorded job timeMonthlyWhich job types are worth prioritising

Most of the money questions on that list resolve into one number per job. See job costing and time tracking for what a single job actually earned once parts and hours came off it.

First-Time Fix Rate and Callback Rate

First-time fix rate is jobs resolved on the first visit divided by total jobs. Callback rate is return visits for the same issue divided by completed jobs. They are the two most quoted field service metrics and the two most often measured badly, because both stand on a definition nobody writes down — and every point of first-time fix you win is a truck roll you never pay for.

What counts as the same issue? A technician replaces a capacitor; three weeks later the system fails again for a different reason. If you count that, you penalise a technician for something outside their control. If you do not, somebody has to make the judgement on every return visit. Pick one rule, write it down, and the number starts meaning something the following month.

How long does the window stay open? Thirty days is common. Ninety catches slow-emerging faults and a lot of unrelated ones. Whatever you choose, keep it fixed — changing the window moves the trend without anything about the work changing.

What Opsler gives you here. A warranty claim job links back to the job that granted the warranty, and warranty claim cost is a card on the revenue dashboard — so the return work that costs you real money is already priced and already attached to its original job. Every visit to an address sits on one customer record, so a repeat lands in front of the technician before they knock. Add your own same-issue tag for a quarter and you have a first-time fix rate you can trust, built on your rule rather than somebody else’s.

Technician Utilization and Billable Utilization

Utilization is hours on jobs divided by hours paid. Billable utilization is the hours you actually charged for divided by hours paid. The gap between the two is the interesting number, and it is usually warranty work, rework and jobs that were quoted too low — which is to say it is the number that tells you where next year’s margin is hiding.

Be explicit about the denominator. Paid hours include training, van maintenance, stock runs and waiting for a customer who is not home. A utilization figure that quietly excludes those flatters everyone and changes nothing; one that includes them will read lower than the numbers people quote at trade shows, and it is the one worth acting on.

Opsler records the numerator for you: work and pause intervals per job per technician on Pro, with total hours and average hours per job already totalled per person. Export the range, put payroll hours beside it, and you have both utilization figures in a minute a month. See time tracking for exactly how the hours are captured, and billable hours analytics for the per-technician view.

Response Time, Travel Time and Time to Complete

All three are differences between timestamps, which makes them exactly as good as your team’s status discipline. If technicians tap En Route from the customer’s driveway, travel time reads zero and response time is wrong. This is the biggest data-quality trap in field service reporting, and fixing it is a five-minute conversation rather than a software project.

Opsler stamps the moments that matter — en route, arrived, in progress, completed — and a technician can set an estimated completion time, with ETA accuracy tracked against whether arrival landed within 15 minutes. That is the raw material for all three metrics, captured as the day happens rather than reconstructed from memory on Friday.

Export the period and you can read response, travel and time-to-complete by job type — which is how you find out that the two-hour slot you have been booking for a service call has been a ninety-minute job all year. Reclaim that half hour across a five-van week and you have bought yourself another job a day.

Jobs Completed, Completion Rate and Backlog

Jobs completed is a count. Completion rate is jobs completed divided by jobs scheduled. Read them together every week and they tell you the one thing a growing service business needs to know: whether you are booking more than you can do.

Completions rising while completion rate falls is the classic pattern, and the backlog it creates is where your worst customer experiences get manufactured — the rescheduled Tuesday, the callback that waits nine days. Catching it in week two costs a conversation. Catching it in month three costs a customer.

Chase throughput on its own and quality pays for it, so pair the count with margin and with return visits before you conclude anything about a person. Opsler counts completed jobs on the revenue dashboard, and on Pro breaks jobs completed down per technician alongside the hours they took.

Average Ticket, Estimate Close Rate and Revenue per Job

Average ticket is total revenue divided by job count, and it is the fastest lever a small service team has — ten dollars on the average ticket across a thousand jobs a year is ten thousand dollars that costs you no extra driving. It moves for three different reasons, though: your prices, your job mix, and whether options are actually being offered on site.

Those three need different responses, so look at the mix before you conclude anything about pricing. Opsler’s tier popularity chart settles the third one outright: it shows the share, the revenue and the count for each Good, Better and Best tier, so you can see whether the middle option is being presented or quietly skipped.

Estimate close rate is approvals divided by estimates sent, and a low rate is usually follow-up rather than price — an estimate nobody chased is not a rejection. Revenue per hour is revenue divided by hours worked, and it is the number that tells you which job types deserve the diary.

Opsler carries average ticket, gross field profit and margin, pending amount and the labour-versus-material split as cards, plus revenue by month and by line-item type — and revenue per hour per technician on Pro. Read them beside per-job profitability and you can price the next quote from what the last one actually earned.

Customer, Quality and Repeat-Work Indicators

The cheapest job you will ever win is the second one at the same address, which makes repeat work the customer metric worth counting first. Define it once and it stays comparable: repeat-customer rate is customers with more than one job in the period divided by customers served; cancellation rate is jobs cancelled or no-showed divided by jobs scheduled; warranty claim rate is warranty jobs divided by completed jobs.

Satisfaction scores and review counts belong in the same review, with the same rule about comparability — a score gathered from a different question, at a different moment in the job, is a different metric wearing the same name. Ask at the same point every time and the trend becomes readable within a quarter.

Opsler gives you the two hardest of these without extra work. Every job at an address sits on one customer record, so repeat work is countable straight from job history rather than reconstructed from invoices. And warranty claim cost is a card on the revenue dashboard, which turns the quality question into a dollar figure — the number that gets a training decision approved when a percentage would not.

Which KPIs Opsler Actually Calculates

These field service management metrics are live the moment you have jobs and invoices in the account — no report builder, no spreadsheet, no analyst. Every figure is computed from work your team actually did, so you have the operating picture weeks before the books close, and you can act on it while the month is still fixable.

MetricIn OpslerWhere it lives
Total revenue for a period YesRevenue dashboard card, with paid amount and job count
Gross field profit and margin % YesRevenue dashboard card with a trend indicator
Pending amount outstanding YesRevenue dashboard card, with total tax collected
Average ticket size YesRevenue dashboard card, with labour and material cost
Labour vs material vs profit split YesProfit analysis gauge, with per-component rings
Good/Better/Best tier split YesTier popularity chart — share, revenue and count per tier
Revenue by month, and by line-item type YesMonthly revenue table (parts, labour, service, custom)
Warranty claim cost YesRevenue dashboard card (Pro)
Jobs completed per technician YesTechnician efficiency table (Pro)
Total and average hours per job, per technician YesTechnician efficiency table (Pro)
Revenue and revenue per hour, per technician YesTechnician efficiency table (Pro)
Export of any of the above YesCSV or XLSX, over 3, 6 or 12 months or a custom range

Date ranges run over the last 3, 6 or 12 months or a custom range, and any of it exports to CSV or XLSX. The per-technician table and the work and pause intervals behind its hours come with Pro — $25 a seat a month, no seat minimum, 14 days free without a card.

How to Build a Small-Team KPI Review Cadence

The failure mode is never choosing the wrong metrics. It is building a dashboard in week one and never opening it again. Fifteen minutes every Friday beats a thorough quarterly review that gets postponed twice, because the small habit is the one that changes what you do next week.

Weekly, fifteen minutes

Jobs completed against jobs scheduled. Outstanding invoices. Anything sitting in the queue for a second week. This is an operations check, not analysis — you are looking for the one thing to unblock before Monday.

Monthly, an hour

Revenue, gross margin, average ticket and the labour-versus-material split, each against the previous two months. Then one question, and only one: what will we do differently in the next four weeks.

Three minutes of data checking first. Were all the jobs in the period closed, or is last week’s work still open? Did anyone forget to start a job in the app? Is one large job distorting the average? That check prevents most of the wrong conclusions people draw from a real dashboard.

Getting the most out of the technician table. It ranks the top three with badges, which makes it tempting to circulate. Use it in a one-to-one instead: the numbers reflect the jobs people were handed as much as how they worked them, so read revenue per hour beside the job mix and you get a conversation about dispatch, van stock and training. That is where the extra job a day comes from — a published league table just teaches people to dodge the hard work.

Field service KPI questions

The money and throughput set, and the per-technician view on Pro. Total revenue with paid amount and job count, gross field profit with a margin percentage, pending amount outstanding, average ticket size, warranty claim cost, the labour/material/profit split, the Good-Better-Best tier split, and revenue by month and by line-item type. On Pro you also get jobs completed, total and average hours per job, revenue and revenue per hour for every technician, ranked. All of it exports to CSV or XLSX over 3, 6 or 12 months or a custom range, so the field service metrics you want to work on in a spreadsheet are two clicks away rather than a rebuild.

First-time fix rate is jobs resolved on the first visit divided by total jobs, and the whole difficulty is the definition: write down what counts as the same issue and how long afterwards a return visit still counts — 30 days is the common window. Utilization is hours on jobs divided by hours paid, and its difficulty is the denominator, because paid hours include training, van maintenance, stock runs and waiting on a customer who is not home. Opsler holds the numerator for you: recorded work and pause intervals per job per technician on Pro, with total hours and average hours per job already totalled in the technician table. Export the range, drop your payroll hours in beside it, and utilization is a one-cell calculation you do once a month.

Three, to begin with, and all three are on the Opsler revenue dashboard from your first invoice. Average ticket, because it tells you whether your pricing and your estimating are working. Jobs completed, because it tells you whether it is time to hire. Gross margin, because revenue without it is just turnover. Add first-time fix rate once you are past about three technicians, which is the point where callbacks stop being visible without measuring them. Beyond five metrics, a small team builds a dashboard nobody opens.

Open it together and use it to find the question, not the verdict. The table gives you jobs completed, total hours, average hours per job, revenue and revenue per hour per technician, plus an efficiency score that reads revenue per hour on a $100-an-hour scale and caps at 100%, banded green from 85% and amber from 70%. Read it next to the job mix: someone sent the awkward callbacks all month will show a different number from someone on installs, and that difference is dispatch as much as it is performance. Used that way it is the most useful ten minutes in the month — a specific, evidenced conversation instead of a general impression.

Your own last quarter. Benchmark figures for field service circulate everywhere and almost none carry a dated, methodologically sound source, so a number lifted from a different trade, region and company size can point you confidently in the wrong direction. Set your baseline from your first full month in Opsler, then move one metric at a time and watch what happens to the others. If you do want an external benchmark, check who collected it, when, from how many companies and in which trade before you set a target against it.

The per-technician view and the timers behind it. Jobs completed, total and average hours per job, revenue and revenue per hour for each technician all live on Pro, along with the work and pause intervals that produce those hours, warranty claim cost, and QuickBooks- and Xero-formatted exports for your bookkeeper. Pro is $25 per seat per month with no seat minimum and a 14-day trial that never asks for a card. The free Budding plan runs 2 seats and 50 jobs a month forever, so you can have the revenue dashboard reporting on real work before you spend anything.

Ready to Run Your Business Without the Chaos?

Scheduling, dispatch, estimates, invoicing, customer portal, and a free branded website — start completely free, upgrade to Pro when you scale.

Free forever on the Budding plan. No credit card required.

Explore all 42 features·See full pricing