Home Service Business KPIs for Crews of One to Five
By Mark Fulton · 2026-09-23 · 13 min read

A home service business run by one to five people needs five KPIs, and all five come from three records you already keep: a calendar, a quote list and a money log. They are quote close rate (quotes accepted ÷ quotes sent), revenue per job hour with drive time counted in the hours, recurring share of the book (revenue from repeat or scheduled customers ÷ total revenue), gross margin by job type (job revenue minus materials and crew cost, divided by job revenue), and days from invoice to paid. Each trade then adds one number of its own: chemical cost per stop for a pool route, disposal cost per load for junk removal, estimate accuracy in hours for painting. Six numbers in total, checked in ten minutes on a Monday.
Most KPI lists for home services are built for a company with technicians, a dispatcher and someone answering phones. They measure booking rate per call, jobs per technician per day, first-time fix rate and cost per booked call. Those are real numbers for a thirty-truck HVAC shop. For an owner who quotes, drives, does the work and sends the invoice, most of them have no data behind them, because there is no call center and no dispatch board to count.
This page is the version for the owner on the tools. It explains the five shared numbers once, then gives each of seven common trades its one extra number and the record it comes from.
Which numbers do all small home service businesses share?
Landscaping, house cleaning, pool service, window cleaning, painting, handyman work and junk removal look different on the ground. On paper they run on the same skeleton: someone asks for a price, you quote, some quotes turn into jobs, the jobs take hours plus driving, some customers come back on a schedule, and money arrives some days after the work.
That skeleton produces five numbers.
| # | Number | Formula | Record it comes from | What a bad move usually means |
|---|---|---|---|---|
| 1 | Quote close rate | Quotes accepted ÷ quotes sent, over a fixed window | Quote list, every quote marked won, lost or open | Price, response speed or lead quality slipped |
| 2 | Revenue per job hour | Job revenue ÷ (on-site hours + drive hours) | Calendar plus money log | Drive time, rework or underpriced jobs are eating the day |
| 3 | Recurring share of the book | Revenue from repeat or scheduled customers ÷ total revenue | Money log tagged by customer | Next month depends on new quotes you haven't won yet |
| 4 | Gross margin by job type | (Job revenue minus materials and crew cost) ÷ job revenue, per job type | Money log with costs tagged to the job | One job type is busy but paying for itself with your time |
| 5 | Days from invoice to paid | Paid date minus invoice date, averaged over paid invoices | Money log with an invoice date and a paid date | Cash is sitting in customers' accounts instead of yours |
None of these needs field service software. The IRS says a business may choose any recordkeeping system suited to it that clearly shows income and expenses, and a calendar plus a money log with a customer name and a job type on each line clears that bar and feeds all five.
If you already check the general small-business set (revenue, expenses, profit, open invoices, tasks, next appointment), the six numbers to look at every Monday still apply. These five sit on top of them and are specific to work that is quoted, driven to and done by hand.
How do you count close rate from a quote list?
Close rate is quotes accepted divided by quotes sent, over a window you pick once and keep.
The formula is simple. The discipline around it is where the number becomes useful:
- Count a quote when you send it. If you only count quotes once they resolve, the slow deciders drop out of the denominator and the rate flatters you.
- Keep the window fixed. Spring quotes and late-autumn quotes behave differently in most outdoor trades. Compare this April to last April, not to this October.
- Give every open quote an end. A quote with no answer after your last follow-up is a loss for counting purposes. Write the reason in three words: "price", "went silent", "too far".
- Split by source if you can. A referral that closes most of the time and a directory lead that rarely does are two different businesses sharing one average.
A worked example. In a four-week window you send 20 quotes. Nine are accepted, seven are lost, four get no reply after the third follow-up and are closed as lost. Close rate is 9 ÷ 20, or 45%.
The number on its own doesn't tell you whether 45% is good. The direction does. If it falls over two windows, read the loss reasons before you touch your prices. If it climbs sharply, check whether you are pricing below the local market. A structured chase often moves this number more than a price change, which is what the three-touch quote follow-up system is for.
Why does revenue per hour have to include drive time?
Because for a crew of one to five, drive time is the single largest block of paid hours that nobody invoices.
Revenue per on-site hour tells you what the customer paid while you were in their yard. Revenue per job hour, with drive in the denominator, tells you what the business earned for the hours it actually spent. The gap between the two is the cost of your route.
A worked example for one day with a two-person crew:
| Item | Figure |
|---|---|
| Jobs completed | 4 |
| Revenue | $720 |
| On-site person-hours | 2 people × 5 hours = 10 |
| Drive person-hours | 2 people × 1.5 hours = 3 |
| Revenue per on-site hour | $720 ÷ 10 = $72 |
| Revenue per job hour (with drive) | $720 ÷ 13 = $55.38 |
Same day, same customers, a 23% smaller number. If you only watch the first figure, you will quote new work across town at the same rate and wonder why a full week feels thin.
Two rules keep it honest:
- Count person-hours. With a helper on the truck, an hour of driving is two paid hours.
- Count the drive to the first job and back from the last. The first and last legs are part of the day's cost even though no customer sees them.
Mileage is a separate cost on top of the hours. For a reference point, the IRS standard mileage rate for business use is 76 cents a mile for July 1 to December 31, 2026. That rate exists for tax purposes and your real vehicle cost may differ, so treat it as a sanity check rather than a figure to deduct on this page's say-so. How you claim vehicle costs is a question for your bookkeeper or accountant.
If you want to set a floor for this number, how to calculate your hourly rate walks through the arithmetic.
How do you measure the recurring share of your book?
Recurring share is the revenue from customers on a schedule, or customers who reliably come back, divided by total revenue over the same window. Measure it monthly and read the trend.
What counts as recurring depends on the trade:
- Scheduled trades (weekly mowing, biweekly cleaning, weekly pool service) have an obvious answer: the customer is on the calendar with a repeat rule.
- Periodic trades (window cleaning twice a year, gutter cleaning each autumn) count a customer as recurring if they booked again within their normal gap. Pick the gap once and write it down.
- Project trades (painting, handyman, junk removal) rarely have a schedule, so recurring means repeat customers plus referrals from past customers, over a longer window such as twelve months.
A worked example for a window cleaner. September revenue is $6,000. Customers who were also served last spring or last autumn account for $3,900. Recurring share is 3,900 ÷ 6,000, or 65%.
A rising share means next month is more predictable and your quote pipeline has less work to do. A share near 100% is its own risk: a few large accounts leaving would take a big piece of your income with them. The mechanics of picking a repeat window and counting returners are in customer retention rate for a small business.
Why does gross margin have to be split by job type?
A blended margin hides the job type that is quietly costing you. A pool route with a strong margin on weekly service and a thin one on green-to-clean recoveries looks fine on the total and wrong on the part that matters.
For each job type, take the job revenue, subtract materials and any paid crew hours (including their drive hours), and divide by the job revenue. Leave your own time out of the cost line if you're a solo owner, and compare the result to the floor you set for your own hourly rate. Job costing for small contractors shows how to tag a cost to a job in ten seconds, and profit margin for a service business explains which margin answers which question.
Why track days from invoice to paid?
Because a profitable month can still leave you short on the day the truck payment clears. Days to paid is the gap between doing the work and being able to spend the money.
Record an invoice date and a paid date on every money entry. Average the gap across invoices paid in the month. Then look at the open ones: any invoice already past your average is the first call on Monday. The chase schedule and wording are in how to track unpaid invoices.
Which extra number does each trade need?
The five shared numbers tell you whether the business is healthy. The sixth tells you why, in the terms of your trade. Each one below comes from a record you already keep.
| Trade | What "recurring" means | Job types to split margin by | Extra number | Formula | Record it comes from |
|---|---|---|---|---|---|
| Landscaping | Weekly or biweekly maintenance accounts, plus returning seasonal customers | Maintenance, cleanups, installs | Season-to-season retention | Last season's customers who booked again ÷ last season's customers | Last season's customer list vs this season's bookings |
| House cleaning | Weekly, biweekly and monthly schedules | Recurring, deep clean, move-out | Cancellation rate | Cancelled or skipped visits ÷ scheduled visits | Calendar |
| Pool service | Weekly route stops | Weekly service, openings and closings, repairs | Chemical cost per stop | Chemical spend in a month ÷ route stops completed that month | Money log (chemical purchases) plus calendar |
| Window cleaning | Customers who rebook within their usual gap | Exterior only, interior and exterior, screens and tracks | Drive minutes between houses | Total drive minutes on job days ÷ jobs completed | Calendar with start and finish times |
| Painting | Repeat customers and referrals over twelve months | Interior rooms, exteriors, cabinets | Estimate accuracy in hours | Actual crew hours ÷ quoted crew hours, per job | Quote list plus calendar |
| Handyman | Repeat customers over twelve months | Small repairs, installs, multi-day projects | Supply-run minutes per job | Minutes spent buying parts ÷ jobs completed | Calendar, with supply runs logged as their own entries |
| Junk removal | Repeat customers and property managers | Single-item pickups, partial loads, full loads | Disposal cost per load | Dump and recycling fees ÷ loads hauled | Money log (disposal receipts) |
Two of these trades have their own full post with worked examples: landscaping business KPIs and cleaning business KPIs.
Why these six, and not the metrics on a big-company dashboard:
- Chemical cost per stop is the pool route's version of gross margin. It moves with the season and with a few problem pools, and it tells you which stops are underpriced before the annual total does.
- Drive minutes between houses is the window cleaner's route density. A tighter cluster of houses raises revenue per job hour without changing a single price.
- Estimate accuracy in hours is the painter's whole margin story. A job quoted at 30 crew hours that took 38 was underpriced by more than a quarter of its labor, whatever the paint cost.
- Supply-run minutes is the handyman's hidden drive time. Twenty minutes at the hardware store on every job is unbilled time the calendar can show you.
- Disposal cost per load is the junk hauler's cost of goods. When a dump raises its fees, this is where you see it first.
What does a ten-minute Monday check look like for a crew of one to five?
Once the records are in place, the weekly review is a short read, not a project. Set a fixed slot, open the week, and go in this order:
- Days to paid (2 minutes). List the open invoices older than your average. They become the first tasks of the week.
- Close rate (2 minutes). Count last week's quotes sent and accepted. Close any quote that has run out of follow-ups and write the loss reason.
- Revenue per job hour (2 minutes). Last week's job revenue ÷ last week's on-site plus drive person-hours. Compare with the prior four weeks.
- Your trade's extra number (2 minutes). One figure, compared with last month.
- Recurring share and margin by job type (2 minutes, monthly). These move slowly. Check them on the first Monday of the month and skip them the rest of the time.
Then decide one thing. A single change for the week, based on whichever number moved most, beats a list of five good intentions.
If you want the check on paper, the printable weekly business report lays out the money, customer and task figures on one page, and the one-page weekly review covers the routine around it.
This is also where a spreadsheet stops being the easy option. The arithmetic is the same; the difference is not having to rebuild the formulas every week. SMBDashboard keeps the money log, customers, tasks and appointments on one screen, free for up to 25 customers and 200 money entries, and your data stays in your browser unless you turn on Pro sync. Open the dashboard free, log one week of jobs with a customer and job type on each entry, and read your five numbers on Monday.
FAQ
What KPIs should a home service business track?
For an owner-operated business with up to five people: quote close rate, revenue per job hour including drive time, recurring share of the book, gross margin by job type, and days from invoice to paid. Add one trade-specific number from the table above. Metrics like booking rate per call, technician utilization or first-time fix rate start to matter once you have a dispatcher, several technicians and enough call volume to measure.
Do I need field service software to track KPIs?
Not at this size. All five numbers come from a calendar, a quote list and a money log, and a spreadsheet or a simple dashboard handles them. Field service software earns its cost when you are scheduling other people's days, routing several trucks or taking payment in the field at volume. Until then, the question is how much of your Monday you want to spend on formulas, not whether you can get the numbers.
How often should a small contractor review the numbers?
Weekly for the fast-moving three (days to paid, close rate, revenue per job hour) and your trade's extra number. Monthly for recurring share and margin by job type, because a single week is too few jobs to read them. Whatever the cadence, keep the same day and the same window so each check compares like with like.
What is the most important number for a service business owner?
For a crew of one to five, revenue per job hour with drive time included. Your hours are the scarcest input you have, and this is the only one of the five that measures what each of them earns. It also moves with the others: a low close rate pushes you into distant jobs, a thin recurring book fills the week with one-off drives, and underpriced job types drag the average down. If you can only watch one number, watch that one, and read the other four when it moves.