Most cleaning owners run the company on feel: the crew seems stretched, the bank balance seems low, the phone seems quiet. Feel is often right, but it arrives late, after the margin has gone or the big client has sent notice. Cleaning business KPIs fix the timing. A key performance indicator is a number you measure the same way every period so a problem shows while it is still small.
This page is the dashboard: 15 numbers in four groups, each with a formula, a review rhythm, a data source and a response when it slips. Where a number has its own full guide, we link to it instead of repeating it.
What are the most important KPIs for a cleaning business?
The most important KPIs for a cleaning business are the ones that warn you early about sales, labor, staff and cash, and these 15 cover it:
- Sales (4): leads by source, speed to first contact, funnel conversion (walkthroughs booked, proposals sent, close rate), and cost per signed contract read next to average monthly contract value.
- Operations (4): labor efficiency (production rate against bid, labor hours against budget), inspection scores, complaints per account, supply cost per square foot.
- People (3): cleaner turnover, absenteeism and call-outs, time to fill.
- Finance and retention (4): gross margin per account, retention and churn, revenue concentration, days sales outstanding.
Some entries are pairs that only make sense together. Keep every definition fixed: a number that changes meaning from month to month is worse than no number.
Which sales KPIs should a cleaning company track?
Track the numbers that show whether enough of the right buildings enter your pipeline and how many become signed recurring work. This data lives in your CRM, or early on a spreadsheet with one row per lead. If you are still choosing a system, see our shortlist of the best CRM for cleaning companies.
1. Leads by source
New, genuine inquiries each month, split by origin: referrals, website, bought leads, cold outreach, bid boards.
- Formula: new leads in the month, grouped by source.
- Review and data: weekly glance, monthly total; CRM with a required "source" field.
- If it drops: find which source fell. One channel drying up is fixable. If every source fell, check seasonality and your own follow-through before blaming the market.
2. Speed to first contact
How long a new lead waits before someone tries to reach them by phone.
- Formula: median minutes from lead arrival to first call attempt.
- Review and data: weekly; CRM timestamps or call logs.
- If it rises: route leads to a phone, not a shared inbox, and name one person responsible each day. The authors of a Harvard Business Review study on lead response concluded that most companies are not responding nearly fast enough.
3. Funnel conversion: walkthroughs, proposals and close rate
Funnel conversion is the share of leads that reach each next stage. Close rate is the share of opportunities at a named stage that become signed recurring contracts.
- Formula: walkthroughs booked ÷ leads; proposals sent ÷ walkthroughs; contracts signed ÷ a named stage (always say which).
- Review and data: monthly, with close rate judged on a rolling quarter; CRM stages, calendar and proposal folder.
- If it falls: find the stage that broke. Few walkthroughs from good leads points to weak first calls or slow follow-up on cleaning bids. Few proposals means estimating is stalling, and a quote that goes out a week late often lands after the buyer has chosen. For benchmarks and a worksheet, see our commercial cleaning close rate guide.
4. Cost per signed contract, with average monthly contract value
Cost per signed contract is everything spent on sales and leads divided by the contracts it produced. Read it next to average monthly contract value, because a cheap win on a tiny account can be worth less than a costly win on a large one.
- Formula: (lead spend + ad spend + sales wages and commissions + bid prep time) ÷ contracts signed. Average value: new monthly billing ÷ contracts signed.
- Review and data: quarterly, by source where possible; accounting for spend, CRM and first invoices for wins.
- If it moves the wrong way: compare cost with what an account earns over its life. The cost per lead calculator turns lead price and close rate into cost per contract, and the lifetime value of a janitorial client guide shows how to set the ceiling. A shrinking average value usually means your targeting has drifted toward small buildings that cost as much to sell and run as big ones.
Which operations KPIs show whether accounts are healthy?
Operations KPIs tell you whether each building is cleaned to standard in the hours you priced. The data comes from timekeeping, inspection forms and purchase records.
5. Labor efficiency: production rate and hours against budget
Labor efficiency is whether the crew cleans each building in the hours the price assumed. Labor is the biggest cost in contract cleaning, so this pair gets the closest watch.
- Formula: actual square feet per labor hour ÷ bid square feet per labor hour; actual paid hours ÷ budgeted hours, per account.
- Review and data: weekly for a new account's first several weeks, then monthly; time clock with one job code per building, plus the bid sheet.
- If it runs over: an account at 115% of budgeted hours loses money even when the client is happy. Check whether scope grew, the building is harder than it looked, or the crew needs training or equipment, then cut the waste or price the extra work. Setting and timing rates is covered in janitorial production rates.
6. Inspection scores
The average result of supervisor quality inspections on a fixed checklist.
- Formula: average score in the month, plus the share of accounts inspected at all.
- Review and data: monthly; inspection forms or app.
- If it slips: look for a pattern by crew, area or task. Clients want proof: in CMM's 2024 contractor survey, 24% of respondents named validating cleaning results as a business challenge, and 58% picked cleaning validation programs or technology as the top technology to add within 12 months.
7. Complaints per account
How often clients raise a problem, adjusted for account count.
- Formula: complaints in the month ÷ active accounts.
- Review and data: monthly; a complaint log with date, account, issue and fix date, filled in the day each one arrives.
- If it climbs: sort by account. Two complaints from one building in a month means patience is running out. Our piece on why buildings fire their cleaning company lists the warning patterns.
8. Supply cost per square foot
Spend on chemicals, liners, paper and consumables for the area you service.
- Formula: monthly supply spend ÷ cleanable square feet serviced, often shown per 1,000 square feet.
- Review and data: monthly; purchase invoices and your account list.
- If it rises: check for chemical overuse, paper you supply that the contract puts on the client, and vendor increases you have not passed on.
Which people KPIs should you watch in a cleaning company?
People KPIs show if you can keep enough trained cleaners in the right buildings, and they move faster than almost anything else in this trade. The data comes from payroll and scheduling.
9. Cleaner turnover
The share of cleaning staff who leave in a period.
- Formula: separations in the month ÷ average headcount; multiply by 12 for an annual rate.
- Review and data: monthly; payroll.
- If it climbs: ask leavers why, and check hours, pay and supervisors. A Contracting Profits article reported research from the 2019 BSCAI Contracting Success Conference showing that employees leave contract cleaning companies at a rate 3.6 times higher than the national average. The same article cited a 2019 Gallup poll putting the cost of replacing one employee at one-half to two times their annual salary.
10. Absenteeism and call-outs
How often a scheduled shift goes uncovered or gets covered at short notice.
- Formula: unplanned absences ÷ scheduled shifts.
- Review and data: weekly; scheduling app or supervisor log.
- If it rises: call-outs often come before resignations. Talk to the people involved, check for schedule changes, and keep trained floaters so one missing cleaner never means a missed building.
11. Time to fill
How long a cleaning position stays open.
- Formula: days from the opening to the new hire's first paid shift.
- Review and data: monthly; hiring log.
- If it stretches: supervisors end up covering shifts, which pushes hours over budget elsewhere. Compare your pay with local postings and speed up replies to applicants. In the same CMM survey, half of respondents called recruiting and retaining staff a challenge to a large extent, and 76% named recruiting and hiring qualified workers as their top labor concern.
Which finance and retention KPIs matter most?
These four show whether the work you win makes money, stays, and gets paid for on time. The data comes from accounting and your account list.
12. Gross margin per account
What each building leaves you after the direct cost of cleaning it.
- Formula: (billing minus direct labor, payroll taxes, workers' compensation, supplies and direct supervision) ÷ billing.
- Review and data: monthly, sorted lowest first; invoices, timekeeping and purchase records.
- If it falls: re-time, re-scope or re-price. Our guide on how to raise prices on cleaning clients covers that conversation, and commercial cleaning profit margins covers what healthy looks like. Clean records pay off at sale time too: OffDeal lists unverifiable or inconsistent profit margins among deal breakers for janitorial buyers.
13. Retention and churn
Churn is the share of accounts you lose in a period. Retention is the share you keep.
- Formula: accounts lost ÷ accounts active at the start. Track lost monthly billing too, since one large building hurts more than three small ones.
- Review and data: monthly and trailing 12 months; account list and cancellation notices.
- If it rises: call every lost client and ask why, then check their complaint and inspection history. In CMM's 2024 survey, 31% of contractors named retaining customers as a challenge.
14. Revenue concentration
How much of your billing rests on your single largest client.
- Formula: largest client's monthly billing ÷ total monthly billing.
- Review and data: quarterly; revenue by customer report.
- If it climbs: there is no official limit, but OffDeal advises that no single client contribute more than 15 to 20 percent of total annual revenue. Above that, growth elsewhere is urgent. If the worst has happened, read what to do after losing a big cleaning account.
15. Days sales outstanding (DSO)
The average number of days clients take to pay you.
- Formula: accounts receivable at month end ÷ revenue for the month × days in the month.
- Review and data: monthly; accounts receivable aging report.
- If it rises: chase named late payers, invoice on the same day every month, and offer card or bank payment. Payroll goes out every week or two regardless, so DSO often decides whether a growing company runs short of cash.
What does a one-page cleaning company dashboard look like?
A one-page cleaning company dashboard is a single table listing each KPI with its formula, review rhythm and a trigger for action. Add two columns of your own for this month's figure and the three-month average, since the trend matters more than any single month.
| # | KPI | Formula | Review | Act when |
|---|---|---|---|---|
| 1 | Leads by source | New leads per source | Weekly | Any source falls two months running |
| 2 | Speed to first contact | Median time, arrival to first call | Weekly | Slower than your same-day rule |
| 3 | Funnel conversion | Walkthroughs ÷ leads, proposals ÷ walkthroughs, contracts ÷ named stage | Monthly (close rate on a rolling quarter) | Any stage below your baseline for a quarter |
| 4 | Cost per signed contract (with avg monthly contract value) | Sales and lead spend ÷ contracts; new billing ÷ new contracts | Quarterly | Cost above your lifetime value ceiling, or value trending down |
| 5 | Labor efficiency | Actual sq ft/hr ÷ bid sq ft/hr; actual hours ÷ budgeted hours | Weekly to monthly | Hours above budget two periods running |
| 6 | Inspection score | Average score, share of accounts inspected | Monthly | Any account below your standard |
| 7 | Complaints per account | Complaints ÷ active accounts | Monthly | Two from one account in a month |
| 8 | Supply cost per sq ft | Supply spend ÷ sq ft serviced | Monthly | Above baseline |
| 9 | Turnover | Separations ÷ average headcount | Monthly | Rising against your own trend |
| 10 | Absenteeism and call-outs | Unplanned absences ÷ scheduled shifts | Weekly | Rising against your own trend |
| 11 | Time to fill | Days from opening to first shift | Monthly | Supervisors covering open shifts |
| 12 | Gross margin per account | (Billing minus direct cost) ÷ billing | Monthly | Below your target margin |
| 13 | Retention and churn | Accounts lost ÷ accounts at start | Monthly | Any loss you could not explain |
| 14 | Revenue concentration | Largest client ÷ total billing | Quarterly | Above 15 to 20% |
| 15 | Days sales outstanding | AR ÷ monthly revenue × days in month | Monthly | Rising two months running |
Only the concentration trigger comes from a published rule of thumb. For the rest, set your own baseline: track three months, then treat a move against that baseline as the signal. Beyond the turnover research, the concentration guideline and the survey figures above, we found no published industry figures we would stand behind for metrics like speed to contact, complaints, supply cost or DSO.
How do you run a monthly KPI review?
Run it on the same day each month, after invoicing and payroll close, and hold it to about an hour.
- Fill the sheet. Pull each number from its usual report. Never change a formula mid-year without noting the date.
- Mark the reds. Anything past its trigger, plus anything that moved the wrong way two months running.
- Margin first. Sort accounts by gross margin and hours against budget. The bottom three each get a named action: re-time, re-scope, re-price or a site visit.
- Then retention. Read complaints and inspection scores for those same accounts. Low margin plus rising complaints is the account most likely to leave.
- Then people. Turnover, call-outs, open positions. Is any building short-staffed going into next month?
- Then sales. Leads by source, funnel ratios, cost per contract. Decide where next month's sales time and money go.
- Then cash. DSO and the aging report. Give every overdue invoice to someone to chase.
- Write three actions. One owner and one date each. Next month starts by checking them.
Between reviews, a five-minute weekly look at new leads, speed to first contact, call-outs and hours on new accounts catches what cannot wait 30 days.
Where does LeadWharf fit on the dashboard?
LeadWharf shows up in the sales rows: leads by source, close rate and cost per signed contract. It sends exclusive leads, each going to one company only, inside the service area you set. Every lead must pass three checks before you pay: the building is in your area, the contact has said they want regular cleaning at your frequency and job size, and you get the person who signs, with a direct line. A lead that misses a check is credited. If your dashboard says operations can carry more accounts and sales is the bottleneck, book a call and test the numbers against your own cost per contract ceiling.
- Contracting Profits, Tackle Turnover By Attracting And Retaining The Right Workers, CleanLink (March 2020)
- OffDeal, Avoiding common deal breakers when selling a janitorial services business (February 2025)
- Kathleen Misovic, 2024 Building Service Contractor Survey Report, CMM (September 2024)
- Oldroyd, McElheran and Elkington, The Short Life of Online Sales Leads, Harvard Business Review (2011)
