Skip to main content
Open service van with a rugged tablet, labeled parts bins, copper tubing, and a gloved hand on a clipboard

15 Service Business KPIs to Track Weekly (2026 Benchmarks)

By Lasse PettersenUpdated Originally published 11 min read

Last updated: 2026-10-15 · Two benchmarks below have a public source I could check (The Service Council and BrightLocal). For the rest, I tell you to compare against your own numbers.

If you run a service business and the only number you check on Monday is last week's revenue, you are flying blind. Revenue tells you what happened. The 15 KPIs below tell you why, and what to fix before next week's revenue gets worse.

The short answer: every service business should track these 15 weekly: average ticket size, gross margin per job, revenue per technician per day, customer lifetime value, first-time fix rate, average turnaround time, job completion rate, work-in-progress count, no-show rate, repeat customer rate, NPS, review request response rate, cost per acquired customer, quote-to-close rate, and missed-call rate. Formulas, the two public benchmarks I could verify, and what to do when each one slips are below.

This is the list I wish someone had handed me when I started talking to service operators. Pick the five you are weakest on, put them on a one-page weekly review, and you'll know more about your shop than most of your competitors know about theirs.

Quick reference: the 15 KPIs at a glance

KPI Formula Compare against Source
Average ticket sizeRevenue / job countYour own invoices, by job typeNo public benchmark I could verify
Gross margin per job(Revenue - COGS) / RevenueYour own job costing, month over monthNo public benchmark I could verify
Revenue per tech per dayDaily revenue / techs workingYour own number, per tech, week over weekNo public benchmark I could verify
Customer lifetime valueAvg ticket x repeat rate x years3-5x first ticketHarvard Business Review
First-time fix rateJobs fixed on visit 1 / total jobs75-78% averageThe Service Council (2013)
Average turnaround timeSum(pickup - dropoff) / job countYour own turnaround, by job typeNo public benchmark I could verify
Job completion rateJobs closed on time / jobs startedYour own on-time rate, week over weekNo public benchmark I could verify
WIP countOpen jobs not yet closedYour daily throughput (open jobs should not keep growing)Lean practice, no fixed ratio
No-show rateNo-shows / scheduled apptsYour own rate, by job typeNo public benchmark I could verify
Repeat customer rateRepeat customers / total customersYour own rate, by tradeNo public benchmark I could verify
Net Promoter Score% promoters - % detractors40-60 (good), 70+ (excellent)Bain & Company
Review request response rateReviews left / requests sent76% of consumers who were asked say they left oneBrightLocal Local Consumer Review Survey (2019)
Cost per acquired customerMarketing spend / new customersLower than your first-job gross profitYour ad spend and job list
Quote-to-close rateQuotes accepted / quotes sentYour own close rate, by job typeNo public benchmark I could verify
Missed-call rateUnanswered calls / total inboundYour own trend, week over weekYour phone carrier's call log

Revenue and profitability KPIs

How do I calculate average ticket size?

Formula: Total revenue / number of completed jobs in the period.

What to compare against: I couldn't find a public ticket-size benchmark I'd put my name to (the ServiceTitan figure this post used to quote has no page I can link). Compare against your own invoices instead, split by job type, because a phone screen and a furnace call should never share one average.

Why it matters: Lifts to ticket size flow straight to the bottom line because your truck, tech, and fuel are already paid for.

If you are below: Audit your last 50 invoices for missed add-ons (filters, parts, a second-issue diagnosis you skipped). Train techs on a two-sentence "while I'm here" script. See our repair shop pricing guide for menu pricing that lifts averages without scaring customers.

What is a healthy gross margin per job?

Formula: (Job revenue - parts cost - direct labor) / job revenue.

What to compare against: Your own job costing, trended month over month. I removed the BizMiner range this post used to carry because the page it linked doesn't state it. If margin drops while ticket size holds, look at parts markup first, then labour.

Why it matters: Revenue without margin is just a bigger treadmill.

If you are below: Re-price your top 20 parts against what they cost you today, not what they cost when you set the price. Our guide to service business pricing with a calculator walks through it.

What is revenue per technician per day?

Formula: Daily revenue / number of techs working that day.

What to compare against: Your own number, per tech, week over week. I removed the Jobber figures this post used to quote because I couldn't find the report that states them. A tech whose number falls while the others hold is a routing or ticket-size question, not a hiring one.

Why it matters: This is the cleanest single number for whether you should hire, fire, or fix the schedule.

If you are below: Look at travel time as a share of paid hours first. If the van spends more time on the highway than in driveways, route smarter or hire local. See what a plumber hourly rate in Ontario has to cover for the math on billable vs idle hours.

How do I estimate customer lifetime value?

Formula: Average ticket x average repeat visits per year x average retention years.

2026 benchmark: Healthy CLV runs 3-5x your first-job ticket for trades with recurring needs (HVAC, plumbing, lawn care, cleaning). Per Harvard Business Review, a 5% lift in retention can lift profits 25-95%.

Why it matters: CLV justifies how much you can spend to acquire a customer. Without it, you are guessing.

If you are below: The fastest CLV lift is a 6-month and 12-month service reminder. See how to get repeat customers for a service business for the playbook.

Operations KPIs

What is a good first-time fix rate in 2026?

Formula: Jobs completed on visit one / total jobs requiring service.

Benchmark: 75-78% is the average range in The Service Council's field service research (written up by Sumair Dutta in 2013, so it's old, but it's the one I can check). The same research says below 50% can be catastrophic for customer satisfaction, and it sets 90% and above as the target.

Why it matters: Every second visit roughly doubles the cost of that job, kills your margin, and frustrates the customer.

If you are below: Stock the top 25 parts on the truck. Add a five-minute pre-call diagnostic question script for dispatch. Both are cheap to try, and your own numbers will tell you within a few weeks whether they worked.

How do I measure average turnaround time?

Formula: Sum of (completion time - intake time) / number of jobs.

What to compare against: Your own turnaround, split by job type (a cracked iPhone screen, a dryer belt and a furnace install don't belong in one average). I removed the IBISWorld range this post used to quote because I couldn't find it on their site.

Why it matters: A slow job is a job the customer calls about. Customers forgive a queue. They don't forgive silence.

If you are below benchmark: Look at your handoff between stages. Most slowness is dead time in queue, not actual work. How to reduce repair shop turnaround time walks through the audit.

What is a good job completion rate?

Formula: Jobs closed within target window / jobs started in the period.

What to compare against: Your own on-time rate, week over week. I couldn't find the ServiceTitan page behind the range this post used to quote, so it's gone. If the rate keeps sliding, you have a scheduling realism problem, not a tech problem.

Why it matters: Late jobs cascade into the next day's schedule and force overtime or no-shows for the next customer.

If you are below: Compare quoted hours with actual hours on your recent jobs and pad your estimates by the gap you find. Stop quoting the time you hope for when your own tickets say otherwise.

Why should I track work-in-progress count?

Formula: Count of open jobs not yet closed at end of day.

What to compare against: Your daily throughput. I don't have a source for a fixed ratio, so I won't give you one. What Lean practice does say is that a growing pile of open jobs means work is waiting, not moving. If open jobs climb week after week while closed jobs stay flat, you're taking in more than you can finish.

Why it matters: High WIP hides quality problems, slows turnaround, and ties up cash in unbilled work.

If you are above: Slow intake until the pile is back to what you close in a normal day. Close out the backlog. Customers waiting on you are unhappy customers.

Customer KPIs

What is the no-show rate for service businesses?

Formula: Customers who did not show / total scheduled appointments.

What to compare against: Your own rate, by job type. I removed the ServiceTitan and Jobber ranges this post used to quote because I couldn't find the pages that state them. Is the rate climbing? Then the reminder is missing or it arrives at the wrong time.

Why it matters: A no-show is not just lost revenue, it is a tech, truck, fuel, and dispatch slot you cannot refill.

If it's climbing: Add a reminder text the day before and an "on the way" text when the tech leaves. See how a customer status update SMS cuts no-shows and what a normal HVAC no show rate looks like. FixyFlow sends the status texts and the tracking link. It doesn't do your scheduling, so the no-show count lives in your own calendar or sheet.

What is a good repeat customer rate?

Formula: Customers with 2+ jobs in the last year / total active customers.

What to compare against: Your own rate, by trade. I removed the Jobber range this post used to quote because I couldn't find it. Cleaning and lawn care should run higher than a repair shop, because the work comes back on its own.

Why it matters: A repeat customer doesn't cost you an ad click, and they already trust your price.

If you are below: Set a 30-day post-job follow-up SMS. Set a 6-month "due for a check" SMS. Full playbook here.

How do I calculate Net Promoter Score?

Formula: (% promoters scoring 9-10) minus (% detractors scoring 0-6). Ask the one question: "On a scale of 0-10, how likely are you to recommend us?"

2026 benchmark: 40-60 is good, 70+ is excellent for service businesses, per Bain & Company NPS standards.

Why it matters: NPS predicts referral velocity better than satisfaction surveys, and referrals are the cheapest customers you will ever get.

If you are below: Call every detractor the same week. Their feedback is your roadmap.

What is a good review request response rate?

Formula: Reviews left / review requests sent.

Benchmark: In BrightLocal's 2019 Local Consumer Review Survey, 76% of consumers who were asked to leave a review said they went on to do so. That's what people say in a survey, not what your own link log shows, so treat it as an upper limit and track your own rate per ask.

Why it matters: Reviews are one of the signals behind the Map Pack, and they're what a new customer reads on your Google Business Profile before they call.

If you are below: Switch to SMS, send it the same day the job closes (not days later), and use the customer's first name. See when to ask for a Google review for the timing data.

Marketing and growth KPIs

What is cost per acquired customer for service businesses?

Formula: Total marketing spend in period / new customers acquired in period.

What to compare against: Your first-job gross profit. I removed the agency ranges this post used to quote because I couldn't find the reports behind them. HVAC and plumbing usually pay more per customer than cleaning (Google Ads clicks in those trades are expensive), which is why the comparison has to be your own margin.

Why it matters: If your CAC is higher than your first-job gross profit, every new customer puts you deeper in the hole until they come back.

If you are above: Shift spend toward referrals and Google Business Profile, the two cheapest channels. Pause anything paid you cannot directly attribute.

What is a good quote-to-close rate?

Formula: Quotes accepted / quotes sent.

What to compare against: Your own close rate, by job type. I removed the Jobber range this post used to quote because I couldn't find the page. Operators with strong reviews and fast follow-up tend to close more, and you control both.

Why it matters: Every point of close rate is free revenue, you already paid the CAC to generate the quote.

If you are below: Send quotes the same day, follow up the next day, then again later that week. Most lost deals are lost to silence, not price.

What is the missed-call rate for service businesses?

Formula: Unanswered inbound calls / total inbound calls.

What to compare against: Your own carrier's call log. I removed the Invoca and Hibu figure this post used to quote because I couldn't find it on their sites. Count the calls nobody picked up and the voicemails nobody returned that day.

Why it matters: A missed call is a customer who is already in a buying mindset, often with an urgent problem, who will call the next result on Google in 30 seconds.

If you are above: Call back every missed number the same hour, or set up a missed-call auto-text through your phone carrier or a tool built for it. See the dollar math in what missed calls cost a service business and the cost of customer calls to a repair shop. FixyFlow has no missed-call text-back. It cuts the "is it ready?" calls, which keeps the line free for the new customer.

How to use these 15 KPIs in practice

Do not try to fix all 15 at once. Pick the three with the biggest gap to benchmark, and the one that hurts the most when it slips. Put them on a one-page weekly review every Monday. If you look at the same numbers every Monday, you'll catch drift the week it starts.

The hardest part is the discipline of looking at the same sheet every Monday for a year. FixyFlow won't build that sheet for you (it isn't a reporting tool). It sends the status texts and the tracking link that cut no-shows and "is it ready?" calls, and the field service software pricing starts with a free plan.

Frequently asked questions

What is the single most important KPI for a service business?

For most operators, revenue per technician per day. It rolls up scheduling, ticket size, and how busy your techs are into one number. If it is flat or falling, something is broken upstream.

How often should I review service business KPIs?

Weekly for operational KPIs (no-show rate, first-time fix, turnaround, WIP, missed calls). Monthly for financial KPIs (gross margin, CAC, CLV). Quarterly for strategic shifts.

What is a realistic no-show rate target?

Lower than last month. I don't have a source for one number I'd trust across trades. If yours is climbing, a reminder text the day before and an "on the way" text are the cheapest fixes to try first.

How do I track these without a fancy SaaS?

A Google Sheet with one tab per KPI and a Monday-morning 15-minute review will get you most of the value. Upgrade to a tool when the spreadsheet becomes the bottleneck.

What if my benchmarks are different from these?

Only two of them (first-time fix and the review ask) are published averages. For the rest, this post tells you to compare against your own numbers. Your trade, region, and customer mix will shift any average, so track your own trend month-over-month. Your trend matters more than the absolute number.

Which KPI improvement gives the fastest payback?

Missed-call rate, in my view. Every call you return is a job you might have lost, and a callback costs you a few minutes and nothing else.

What is the difference between CLV and average ticket size?

Average ticket is one job. CLV is the total value of that customer across every job they will ever book with you. For example, a $250 first ticket with a 4-year, 3-jobs-per-year relationship is a $3,000 CLV ($250 x 3 x 4), which changes what you can afford to spend to win them.

FixyFlow won't replace that Monday sheet. If no-shows and status calls are the numbers you want to move, start the free 2-month trial, and if something feels off, email lasse@fixyflow.com and a person answers.

L

Lasse Pettersen

Built FixyFlow in Collingwood, Ontario. Previously ran an SEO consultancy serving Canadian service businesses (Mactrans, Dalli Digital). Writes about the boring operational layer that lets small shops out-execute everyone larger.

Stop answering “is it ready yet?”

FixyFlow texts your customer every time a job moves a stage. The free plan covers 5 jobs and 20 texts a month, forever, with no credit card. Paid plans start at $19 a month.

What are status calls actually costing your shop?

Slide in your jobs per week, average ticket, and calls per job. See your monthly loss in 10 seconds. No signup.