How to Set KPIs for a Cleaning Business That Actually Matter
Reporting ยท Operations
Listen to this article
Narrated from this CleanLog article.
Which number, if it moved five points overnight, would tell you your cleaning business was in trouble? Most owners can't answer that quickly, and the reason is telling. They track revenue, client count, and headcount, all of which describe what already happened. None of them warn you about what's about to.
That's the core problem with most cleaning company KPIs. They measure what's easy to count instead of what predicts the next problem. Revenue is a lagging indicator: by the time it falls, the account you lost made its decision months ago. The KPIs worth setting are the ones that move first, the ones that twitch weeks before a complaint lands or a contract walks. A good KPI isn't a report card. It's an early warning system.
Leading and lagging: the only distinction that matters
A lagging indicator confirms history. A leading indicator predicts it. Net margin on a recurring contract sits somewhere between 10% and 28% in this industry, and it's the definition of lagging. By the time margin erodes on an account, the overtime crept in, the rework piled up, and the client's patience thinned out long before the number reflected any of it.
Leading indicators catch those same forces while you can still act. The signal you want is the operational metric that starts drifting first, while the financial result still looks fine. Labor runs 50% to 70% of total cost according to ISSA, so nearly every leading indicator in this business traces back to whether the right people are reliably doing the right work at each site. Track that layer well and the financial KPIs mostly take care of themselves.
Five KPIs that predict instead of report
You don't need a dashboard with forty tiles. You need a short list of numbers that change before your bank balance does. These five cover most of what actually drives a multi-site cleaning operation.
| KPI | What it predicts | Healthy benchmark | Review cadence |
|---|---|---|---|
| Coverage reliability | Service failures and burnout | Above 95% of shifts covered without same-day scrambling | Weekly |
| Checklist completion by site | Quality slipping before a complaint | Above 85%, stable over time | Weekly |
| 90-day cleaner retention | Hiring and onboarding health | Above 70% of new hires still active at 90 days | Monthly |
| Complaint resolution time | Account churn risk | Acknowledged same day, resolved within 48 hours | Per incident, reviewed monthly |
| Gross margin per contract | Pricing and labor drift | Holding or improving versus the bid | Monthly |
Coverage reliability is the one most owners underweight. It's the percentage of scheduled shifts that get covered without a same-day scramble, and it responds within a week to any change in your staffing model. When it slips under 90%, your buffer is too thin or your roster has a structural hole, and unplanned overtime is usually the first place that shows up on the bill. It's worth pairing this metric with the habits in our piece on reducing overtime.
90-day retention deserves a second look because the first ninety days are where the money leaks. With turnover near 200% across commercial cleaning per BSCAI, and replacement running $1,000 to $5,000 per cleaner, early churn is the most expensive kind. You've paid the full cost of recruiting and onboarding and gotten almost no productive work back. A retention rate under 70% at the 90-day mark is rarely a people problem. It's an onboarding problem wearing a people costume.
Complaint resolution time is the KPI that maps most directly to churn. Clients rarely leave over a single miss. They leave over the sense that nobody responded when they raised it. Track two things: how long until a complaint is acknowledged, and how long until it's actually resolved. Acknowledged the same day and closed within forty-eight hours keeps almost any reasonable client. Let resolution stretch past a week and you'll watch renewal conversations get harder, even on accounts where the underlying work is fine.
Gross margin per contract is the one lagging number worth keeping on the list, because it's where every operational drift eventually lands. Reviewed monthly against the original bid, it tells you which accounts are quietly bleeding. A site holding at its bid margin is healthy. A site that's slid four or five points usually has a story behind it: overtime to cover a chronic call-out, rework from a quality gap, or a scope that grew while the price didn't. The margin doesn't fix anything by itself, but it points you at the account that needs a renegotiation or a staffing change before it turns into a loss.
How many KPIs is too many
If everything is a KPI, nothing is. The fastest way to make a metrics program useless is to track thirty numbers nobody acts on. A KPI you don't change behavior over is just trivia with a chart.
The working test is simple. For each metric, ask: if this number went red this week, do I know exactly what I would do on Monday? If the answer is yes, keep it. If the answer is "I'd look into it," it isn't a KPI yet, it's a curiosity. Most cleaning operations run better on five sharp numbers than fifty fuzzy ones. Each KPI needs an owner, a benchmark, and a defined action when it breaches. Without those three, you have a report, not a control.
When KPIs are the wrong tool
KPIs reward what they measure, which is exactly why they can hurt you when the measure is crude. Push checklist completion as your only quality number and cleaners will tick boxes on tasks they rushed. Chase cost per square foot in isolation and you'll quietly underservice the accounts that need the most attention. A metric without judgment around it becomes a target to game rather than a truth to learn from.
KPIs are also the wrong starting point for a very small or very new operation. If you run a handful of sites and walk each one yourself, you already see more than any dashboard would surface, and formal KPIs add overhead without adding insight. Reach for them once you've crossed the point where you can no longer hold the whole operation in your head, which for most owners lands somewhere north of fifteen to twenty cleaners. Below that, your own eyes are the better instrument.
Putting it to work
Start with three moves. First, pick three to five leading indicators from the table above and ignore the rest for now. Second, write down the benchmark and the exact action for each, so a red number triggers a decision instead of a discussion. Third, set a recurring review, weekly for the operational metrics and monthly for the financial ones, and hold it even on the weeks nothing looks wrong. The point isn't a prettier monthly report. It's catching the drift while it's still cheap to fix.
CleanLog turns the operational layer, coverage, checklist completion, and issue tracking, into live numbers you can watch by site without building a spreadsheet for it. If you want the metrics that predict problems instead of the ones that just confirm them, start by pairing this with tracking cleaner performance the right way, then see how the whole system fits together in our complete guide to multi-site cleaning operations.
Get the next post
Practical writing on scheduling, payroll, and daily ops. About once a month.