All posts
Operations · 5 min read

KPIs for service contractors worth tracking

The five KPIs a 10-tech service contractor should check every Monday, why they matter, and how to actually pull each number without a data team.

A

Andres Ponce

July 15, 2026

Most KPIs for service contractors are numbers somebody put on a dashboard because they could, not because anybody acts on them. A 10-tech shop doesn’t need a dashboard with forty tiles. It needs five numbers you look at every Monday morning with a coffee, and each one has to tell you something you’d actually change your week over. If a number doesn’t change a decision, stop tracking it.

I check the same five every Monday. They cover whether the work’s profitable, whether it’s getting done right, and whether the money’s actually coming in. Here they are, why each one matters, and how to pull it without hiring an analyst.

Revenue per tech

This is the first number because it’s the one that tells you if the whole thing is working.

Take your billed revenue for the week or the month and divide it by the number of field techs who could bill. That’s it. It rolls up your pricing, your scheduling, and your utilization into one figure. When revenue per tech drops and your headcount didn’t change, something’s wrong upstream, techs are sitting idle, jobs are underpriced, or work’s finishing but not getting billed.

The trap is watching total revenue instead. Total revenue can climb while revenue per tech falls, which means you added people and got less out of each one. That’s how shops grow themselves broke. Watch the per-tech number and you catch it early. Pull it from your billed invoices over the period divided by your active field headcount, and track the trend line, not the single week.

First-time fix rate

First-time fix rate is the share of jobs your tech closes on the first visit, no return trip for a part or a second look. It’s the quiet profitability killer nobody measures.

Every job that needs a second trip costs you a truck roll you can’t bill. Drive time, fuel, and an hour of a tech’s day, gone, on a job you already quoted as one visit. A shop running a 70% first-time fix rate is eating return trips on nearly one job in three, and that’s pure margin walking out the door.

To pull it, count the jobs that closed in one visit against the ones that needed a return for the same issue. You don’t need software to start, a hash mark on a notepad for a month tells you roughly where you stand. What moves the number is usually parts on the truck and better diagnosis up front. If it’s low, that’s where you look, and it’s often a bigger lever than raising prices.

Days from complete to invoice

This is the one almost nobody tracks and almost everybody’s bleeding on.

Measure the days between a job being marked done and the invoice actually going out. In a lot of shops that number is four, five, seven days, because invoicing is a separate chore somebody does on Fridays. Every one of those days is a day added to the front of your net-30. Finish Monday, bill the following Monday, and you just turned net-30 into net-37 for free, on every single job.

The fix isn’t working harder, it’s closing the gap between “done” and “billed.” When a completed work order already carries its photos and line items, the invoice should go out same-day instead of waiting for a batch. Pull this number by comparing completion dates to invoice-sent dates over a month. If the average is more than a day or two, you’ve found free cash flow. A tighter QuickBooks handoff is often what collapses it, because the invoice stops getting retyped by hand.

AR aging

AR aging is how your unpaid invoices stack up by how late they are: current, 30 days, 60, 90-plus. It’s the money you’ve earned and haven’t collected, sorted by how nervous each bucket should make you.

The single most important thing on this report is the 60-and-90-plus columns, because an invoice that’s aged past 60 days is an invoice at real risk of never getting paid. If money’s piling up in those late buckets, it doesn’t matter how good your revenue per tech looks. You did the work and you’re financing your client’s business for free.

Check the aging every Monday and work it oldest-first. The old ones are the ones that go bad. Most shops chase invoices when cash gets tight, which is exactly the wrong time. Chase them on a schedule instead, and let the reminders on your overdue invoices fire on their own so the quiet accounts don’t slide. The number you want to see is the late buckets shrinking week over week, not your total AR, which can look fine while the old stuff rots underneath it.

Callback rate

Callback rate is the share of completed jobs where the client calls you back because the fix didn’t hold or the problem came back. First-time fix is about efficiency. Callback rate is about quality, and it’s the one that quietly costs you accounts.

A callback isn’t just an unbilled trip, though it is that too. It’s a client wondering if they hired the wrong shop. On property management and facilities work, a couple of callbacks on the same site is how you lose the whole portfolio, because the PM starts hearing about you from tenants instead of from you.

Track it by counting completed jobs against the ones that generated a return call for the same problem within a week or two. If one tech’s callback rate is double everyone else’s, that’s a training conversation, not a mystery. A rising callback rate across the board usually means you’re rushing jobs to hit volume, which is a false economy, because you’re just doing each job twice.

Five numbers, once a week. Revenue per tech tells you if the model works, first-time fix and callback rate tell you if the work’s good, and days-to-invoice plus AR aging tell you if the money’s actually landing. You can pull every one of them from data you already have. Seeing them in one place instead of three spreadsheets is mostly a matter of your job and billing flow living together, so the numbers fall out of the work instead of you assembling them by hand every Monday.

If you want these five to update themselves as jobs close instead of you rebuilding them each week, see how the reporting side is built and pick the two you’re weakest on to start.

TradelyHQ

Run dispatch, quotes, and invoices from one place

Work order software built for commercial maintenance shops. First call to paid invoice, without the group texts and spreadsheets.

A

Written by Andres Ponce, who runs operations at a commercial maintenance contractor and built TradelyHQ.

Read more from the blog