Multi-Location Cleaning Analytics: The Profit Lever Owners Miss
How commercial cleaning operators use location-level data to find margin leaks, standardize labor, and stop guessing which accounts actually make money.
Most cleaning companies with more than a handful of accounts know their total revenue and roughly what they pay in wages. What they usually can't tell you is which of those accounts is quietly losing money every single month.
The problem isn't a lack of effort. It's that everything gets averaged. When you look at one bank balance and one payroll number, a profitable downtown medical office and a bleeding suburban warehouse blend into a single figure that looks "fine."
Once you break performance down by location, the picture changes fast. You find the accounts eating your margin, the crews running over budgeted hours, and the buildings you should have re-priced two years ago. That granularity is where real profit lives.
Why Averages Hide Your Worst Accounts
Say you run 12 janitorial accounts and your company nets a healthy 18% margin overall. On paper, you're doing well.
But blended margins are dangerous. That 18% could easily be four strong accounts at 30%+ subsidizing three accounts running at a loss. You'd never know, because the winners cover for the losers on the P&L.
Labor is the reason this matters so much. According to the U.S. Bureau of Labor Statistics, building cleaning is a labor-intensive industry where wages make up the dominant share of operating cost. When labor is 50% or more of your cost of service, a small overrun in hours at a few locations wipes out the margin you earned everywhere else.
The Core Metrics to Track Per Location
You don't need a data science team. You need a consistent set of numbers, tracked the same way for every building, reviewed on a regular cadence.
Here are the metrics that actually move profitability, along with how to calculate them.
| Metric | Formula | Why It Matters |
|---|---|---|
| Labor Cost % | (Wages + burden for that site ÷ site revenue) × 100 | The single biggest driver of margin. Watch it per account, not company-wide. |
| Gross Margin per Location | (Site revenue − site direct costs) ÷ site revenue | Reveals which accounts subsidize which. Rank all locations by this. |
| Budgeted vs. Actual Hours | Actual clocked hours − scheduled/quoted hours | Hour creep is the quietest form of margin loss. A few extra hours nightly adds up fast. |
| Revenue per Cleaning Hour | Site revenue ÷ total labor hours at site | Normalizes accounts of different sizes so you can compare a small clinic to a large office. |
| Cost per Square Foot | Monthly direct cost ÷ cleanable square footage | Lets you benchmark similar building types against each other. |
| Inspection Score Trend | Average QA score over trailing 90 days | Quality drops often precede complaints and cancellations. Trend beats a single snapshot. |
| Supply Cost per Location | Consumables + chemicals per site per month | Catches over-ordering, theft, and inefficient product use at specific buildings. |
Grounding Your Labor Numbers in Real Standards
Analytics only help if your baseline is realistic. If you quoted an account with no basis for how long the work should take, your budgeted-vs-actual comparison is meaningless.
This is where industry production rates matter. ISSA publishes cleaning time standards (through resources like the ISSA Cleaning Times and the 612 Cleaning Times) that estimate how long specific tasks take — vacuuming, restroom servicing, hard-floor mopping, trash removal, and so on. These give you a defensible starting point for how many labor hours a building should require.
For facility-side benchmarking, APPA's cleanliness levels (Levels 1 through 5) describe expected appearance outcomes. Knowing which level a client expects helps you defend both your staffing and your price when an account starts demanding Level 1 results on a Level 3 budget.
When you combine a production-rate baseline with your actual clocked hours per location, hour creep stops being a hunch. You can point to the exact building where actual hours drifted 15% above the standard you quoted.
How to Build Multi-Location Analytics From Scratch
You can start this with a spreadsheet before you ever buy software. The discipline matters more than the tool.
- List every active account as its own row or tab. Never combine locations, even for the same client.
- Assign each location its true monthly revenue based on the contract.
- Capture actual labor hours per location — ideally from time-clock data, not estimates.
- Apply your fully loaded labor rate (wage + payroll taxes + workers' comp + benefits) to those hours.
- Add direct supply and equipment costs allocated to that site.
- Calculate gross margin and revenue per cleaning hour for each location.
- Compare actual hours against the hours you quoted or the ISSA-based standard.
- Rank all locations by margin and flag anything below your target threshold.
Before You Trust Your Numbers, Confirm:
- Every location has accurate cleanable square footage on file.
- Clock-in data reflects actual on-site time, not scheduled shifts.
- Labor rate includes full burden, not just hourly wage.
- Supplies are allocated to the site that used them, not a general bucket.
- Revenue matches the current contract, including any recent price increases.
- One-time or project work is separated from recurring service.
Turning Data Into Decisions
Numbers you don't act on are just expensive trivia. Here's how operators actually use location analytics.
Re-pricing underwater accounts
When an account shows a negative or razor-thin margin, you have three moves: raise the price, reduce the scope, or resign the account. Data gives you the evidence to have that conversation. "Our costs on this building have risen and current pricing no longer covers the labor required" lands far better with hard numbers behind it.
Attacking hour creep
If a 50,000 sq ft office you quoted at 18 labor hours per night is consistently clocking 22, that four-hour gap is 20 hours a week and roughly 1,000 hours a year of unbudgeted labor. That's a route-level problem worth solving before it compounds.
Replicating your winners
Your highest-margin accounts hold lessons. Maybe they share a building type, a crew lead, or a specific staffing ratio. When you can see what your best locations have in common, you can bid future work to match that profile instead of guessing.
Common Mistakes to Avoid
- Averaging everything: The number one error. A company-level margin hides your problem accounts by design.
- Ignoring labor burden: Measuring margin on base wage alone makes weak accounts look healthy.
- Trusting scheduled hours over actual: The schedule says 18 hours; the clock says 22. Only the clock tells the truth.
- Tracking too many metrics: Seven meaningful numbers reviewed consistently beat 30 metrics no one ever opens.
- Reviewing once a year at renewal: By the time an annual review reveals a bleeding account, you've lost twelve months of margin.
- Treating supplies as one bucket: If you can't tie consumables to a location, you can't catch over-ordering or shrinkage.
- Confusing busy with profitable: Your biggest account by revenue is often not your most profitable. Size is not margin.
How Often to Review
Analytics only work when they're a habit. Different metrics need different rhythms.
| Review | Frequency | What You're Watching For |
|---|---|---|
| Budgeted vs. actual hours | Weekly | Early hour creep at specific sites before it becomes a pattern. |
| Inspection score trends | Weekly to biweekly | Quality slippage that predicts complaints or cancellations. |
| Location margin ranking | Monthly | Accounts drifting toward or below your margin threshold. |
| Supply cost per location | Monthly | Over-ordering, waste, or shrinkage at a given building. |
| Full portfolio review | Quarterly | Re-pricing decisions, resignations, and bidding lessons from top accounts. |
| Fully loaded labor rate | Quarterly or on wage change | Rate accuracy after raises, insurance changes, or new hires. |
The weekly items are your early warning system. The monthly and quarterly reviews are where the strategic decisions get made.
A common operational pattern is that companies who review labor variance weekly catch overruns while they're still fixable — a route adjustment, a conversation with a crew lead, a task reallocation. Companies who wait for the monthly close react to problems that are already a month old.
How CleanTrack360 Supports This
Building this in a spreadsheet works until you have too many accounts to maintain by hand. The manual data entry — pulling clock times, allocating supplies, reconciling schedules against actuals — is where most operators quietly give up. CleanTrack360 connects GPS clock-in, scheduling, inspections, and client data so that budgeted-vs-actual hours, location margin, and inspection trends populate on their own, per site, without a monthly spreadsheet marathon.
Because the time data comes straight from on-site clock-in and the inspection scores come straight from your QA process, the numbers reflect what actually happened rather than what was planned. That's what turns multi-location analytics from a quarterly chore into a decision you can make with confidence — and it's available starting at $99/mo.