The numbers that keep a cleaning business profitable

A cleaning business sells one thing over and over: labor. A plumber bills for a part and the skill to install it; you bill for the hours your cleaners spend in a home or an office, and almost nothing else. That makes cleaning the most labor-heavy trade there is, and your whole margin lives or dies on one question, how much of the time you pay for actually turns into time you can bill. So the dashboard a cleaning owner needs isn’t built around jobs; it’s built around hours, contracts, and people. Here are the numbers that decide whether you’re profitable, and where each one lives.

Revenue per labor hour is the headline number

If you watch only one number, watch this one. Revenue per labor hour is exactly what it sounds like: total revenue divided by the total hours you paid your cleaners, not the hours you billed, the hours you paid. The gap between those two is where the money leaks. A two-person crew paid for an eight-hour day that loses two of those hours to driving between homes, restocking, and waiting on a lockout billed twelve labor hours but cost you sixteen. That drive time and slack is pure cost, nobody reimburses you for the minutes between jobs, so a crew that looks busy all day can still bill a thin fraction of its paid time.

The companion number is labor cost as a percent of revenue: what you spend on wages for every dollar that comes in. In a labor-only business that ratio is the closest thing you have to a margin gauge, and when it creeps up week over week something changed: longer jobs, more overtime, or pricing that hasn’t kept pace with wages. Catch it while it’s a few points.

Where it lives: jobs, visit durations, and staff assignments in Jobber or Housecall Pro, the field-service software that tracks the work and the crews; revenue and payroll-adjacent cash in QuickBooks, your accounting software. The hours sit on one side, the dollars on the other.

Recurring revenue is the floor, and client churn pulls it down

Recurring revenue is the predictable money from clients on a standing schedule, the weekly, biweekly, or monthly cleans that repeat without you reselling them. It’s the floor under the business: you can bank on it before the month even starts, and it’s far cheaper to keep than to win. One-off work fills gaps; the recurring book is what makes the schedule plannable.

Its enemy is churn: the share of recurring clients who cancel over a given stretch. Cleaning churns notoriously hard; a client drops you over one missed corner, a move, or a tighter month, and rarely announces it. The visit just stops getting rebooked. Losing one biweekly home isn’t one lost clean, it’s two cleans a month, every month, plus the cost of replacing them. And what’s specific to cleaning is why clients leave: it’s usually a labor story, which points to the next number.

Where it lives: recurring visits and client schedules in Jobber or Housecall Pro; the billing that confirms those clients are actually paying in QuickBooks. A contract can read “active” on the calendar while the payment quietly lapses, so watch both.

Staff turnover is the number that quietly drives all the others

This is the one that makes cleaning cleaning, and it’s the number most owners don’t put on a dashboard. Staff turnover is the rate at which cleaners leave and have to be replaced. In this trade it runs high, and it’s expensive in ways that don’t show up as a single line item.

Every cleaner who walks out costs you twice. First the direct hit: recruiting, onboarding, and the lower productivity of someone still learning the routes and the homes. Then the hidden hit: a new cleaner does slower, less consistent work for weeks, and inconsistent quality is exactly what makes clients leave. So high turnover quietly feeds client churn, which drags down revenue per labor hour as crews break in replacements. The three numbers are linked, and turnover is usually the first domino, so track it on its own, not buried in a vague sense that you’re “always hiring.” A rate climbing quarter over quarter is an early warning.

Where it lives: staff records and assignments in Jobber or Housecall Pro show who’s active and who’s stopped picking up visits; the wage and hiring-cost side shows in QuickBooks.

A few more that repay a glance

Schedule density: homes or accounts a cleaner completes per day, and the drive time between them. Tightly clustered stops mean more cleans per wage dollar; a route scattered across town burns the hours you’re paying for.

Job mix: recurring cleans versus one-offs like move-outs, deep cleans, and post-construction work. One-offs can pay well, but they’re lumpy and they don’t come back, so a book that leans on them is harder to plan and quicker to churn.

Re-clean and complaint rate: the share of visits that trigger a redo. A re-clean is unbilled rework: you send a crew back, pay them again, and collect nothing more. It’s also an early churn signal, often with a turnover problem underneath. We dug into this across the trades in callbacks eating margin; in cleaning, every redo hits the margin twice.

Where these live: visit records, durations, and callback flags in Jobber or Housecall Pro, reconciled against what was actually billed and collected in QuickBooks.

One number to treat carefully

Watch, too, what you spend on Google and Meta ads to win a new client, set against how many clients you keep. Here I have to be careful with you. That cost-per-client number tells you something is worth checking; it does not tell you what to do next. If your cost to win a client climbs, go look: at which campaigns, which neighborhoods, which time of year. Cutting spend on the strength of one rough month is a bet on how the next batch of leads behaves, and nobody can see that yet. So the number earns a second look, not a reflex.

Keeping up with all of it is the actual job

None of this is exotic. The catch is that the numbers sit in three separate places: revenue per labor hour and churn inside Jobber or Housecall Pro, the cash and payroll side inside QuickBooks, acquisition cost inside your ad platforms. Watching them every week, while you’re covering a last-minute call-out, is the part that never actually happens.

That is the reason I built Guidepost. I got tired of watching good cleaning owners fly blind between three logins, so I made something that reads them for you: revenue per labor hour, churn, and staff turnover, held side by side, with a short plain note each week on the few that moved and the record behind every figure. When a recurring client goes quiet, it says so and tells you to call. When your cost to win a client climbs, it points there and then stops, because the next move is yours to make.

If you’d like that read landing in your inbox every Monday, get early access.

Written by Guidepost

Guidepost reads the numbers a home-service shop already has across its tools, then sends the few that need attention, each traced back to its source. The whole job is telling a real signal from noise: the line between a number worth acting on and one that’s only worth a closer look. More about Guidepost →

See it watch your numbers

Guidepost reads your Jobber, Housecall Pro, and QuickBooks numbers and tells you what needs attention, in plain English. Want to see the output first? Look at a sample digest.