Back to Blog
feature-deep-dive

Cleaning KPIs That Show Which Sites Lose Money

Fieldproxy Team - Product Team
8 min read
appliance repair KPIsappliance-repair service managementappliance-repair softwareAI field service software

Cleaning contracts are won on price and lost on hours. A contract priced at a certain number of hours per site per week makes money for precisely as long as that assumption holds, and the most common way to lose money in this industry is for it to stop holding somewhere nobody is looking.

Running this manually today?

See how Fieldproxy handles it — a walkthrough on your own workflow, not a canned demo.

Book demo

The numbers that actually matter

  • Hours delivered against hours budgeted, per site rather than per contract
  • Cover cost, and which sites consume the most of it
  • Audit scores against the contract specification over time
  • Attendance exceptions — late starts, short shifts, missed visits
  • Periodic and additional works as a share of contract value
  • Staff turnover by site, which usually precedes a quality problem
  • Per-site profitability, which is the number a contract review turns on

Why per-contract reporting hides the problem

A contract with eleven sites can be comfortably profitable in total while two of those sites lose money every week. Reported at contract level, that is invisible, and it stays invisible until the contract comes up for renewal and somebody works out that the price cannot be held.

Reporting per site is not a nicety. It is the only level at which the operational decision — retrain, re-spec, renegotiate or resign — can actually be made.

Reporting on your structure

Because the model holds contracts, sites, shifts and audits as real objects, these are things that can be reported on directly rather than approximated from job records.

Two approaches to the same problem

Contract-level reportingSite-level reporting
Loss-making sitesHidden in the averageVisible weekly
Hours varianceDiscovered at month endVisible as it drifts
Cover costAggregatedAttributed to the site that caused it
Renewal conversationsReactiveBased on evidence

What you can report on

  • Hours against budget, per site and per contract
  • Cover cost attribution
  • Audit scores and trends against the specification
  • Attendance exceptions
  • Per-site and per-contract profitability
  • Client-facing packs built to each client's requirements

Common questions

What cleaning KPIs actually matter?

Hours delivered against hours budgeted per site is the one that decides profitability. Audit scores, cover cost and attendance exceptions are the leading indicators that explain why it is drifting.

Why report per site rather than per contract?

Because a healthy contract can contain loss-making sites, and site is the level at which anything can actually be done about it.

Can clients get their own reporting?

Yes, built to what each client asked for. In commercial cleaning the reporting pack is frequently what gets scrutinised at retender.

How is cover cost tracked?

Attributed to the site that required it, so the sites quietly consuming overtime are visible rather than absorbed into an overall figure.

See which of your sites lose money

Bring one contract with its site list and budgeted hours. The answer usually arrives quickly.

Book a walkthrough

Also works from ChatGPT, Claude and Copilot in Teams

Fieldproxy's MCP server lets your team run the day and change the software itself from the AI assistant they already use, with a confirm step before anything changes.