For commercial cleaning companies

Which contracts make money, and which ones the others are carrying.

Twelve months of your work, split by contract type and costed against what an hour of labor actually costs you once the wage schedule, the payroll loads and the unbilled hours are in it. Delivered in five working days, reviewed by a person, $650 / £500. Refunded in full if it finds nothing you'd act on.

What it shows

Your year, split the way you actually work.

Every job from the last twelve months, sorted into the types below — whatever your records happen to call them — then costed against the hours each type consumed. The output is a profit figure per type, an hourly return per type, and a defensible price range for each.

01

Recurring janitorial contracts

The bulk of most books. Priced once, often years ago, and rarely re-costed against the wage schedule that has moved since.

02

Day porter and staffed hours

Effectively labor resale. The margin is the spread between the bill rate and the loaded cost, and it is the easiest one to check.

03

Floor care and specialty work

Equipment, chemicals and skilled hours. Usually priced as an add-on when it deserves its own rate.

04

Post-construction and turnovers

Unpredictable scope, heavy overrun risk. The type most likely to look profitable on the ticket and not on the hours.

05

One-off deep cleans

Quoted job by job, so the spread inside the type is wide. Worth seeing what your own quoting has actually been returning.

06

Supplies and consumables

Passed through at cost or marked up, and either way worth separating from the labor so neither is hiding the other.

The list is not fixed. If your records carry a type that isn't here, it gets its own row — the classification follows your work, not a template.

What drives your costs

Your labor cost is set by a wage schedule, not by you.

Commercial cleaning is the trade where the floor under your wage is most often somebody else's decision. State and city minimums move on their own schedule and rarely in step with each other; a company operating across a state line can be paying two different rates for identical work, on two different review dates, and pricing both contracts off one number.

Contracted work adds a second schedule on top. Federal service contracts carry prevailing wage and fringe determinations that are revised periodically and are not yours to negotiate; some state and municipal contracts carry their own. When a determination is revised mid-term, the labor cost of that contract changes on a date you did not choose, and a contract priced against last year's schedule quietly stops covering itself.

The report costs each contract type against the wage you actually pay it, not a company-wide average — so a contract sitting on a higher schedule shows up as a higher cost per hour rather than being smoothed away. If your rates differ by site or by determination, tell us and they are carried separately.

The arithmetic

What does an hour of your capacity cost?

The report's central number is your floor rate: the lowest hourly rate at which an average hour covers its own cost. Here it is at figures typical of a firm with 8 field staff and 3 vans. Yours will differ — the method won't.

Step 1
The wage you pay a cleaner$17.00/hr
Step 2
Plus what employing them costs on top$19.49/hr

$17.00 × (1 + 14.65%) = $19.49

FICA 7.65%, unemployment (FUTA + SUTA) 1.50%, workers' comp 2.50%, paid time off 3.00%. Rates vary by state and by carrier; use your own.

Step 3
Divided by the share of paid hours that get invoiced$24.36/hr

$19.49 ÷ 80.0% = $24.36

You pay for 40 hours and invoice 32. The other 8 drive time, estimates, the supply house, the no-show — still get paid for, so every invoiced hour carries them. Skipping this step is the most common way a rate ends up too low.

Step 4
Plus vans$0.82/hr

$70 × 3 × 52 = $10,920/yr ÷ 13,312 hrs = $0.82

Step 5
Plus overhead$3.61/hr

$4,000 × 12 = $48,000/yr ÷ 13,312 hrs = $3.61

Floor, per invoiced hour$28.79/hr

Illustrative figures, not a benchmark. Cleaning runs a higher share of invoiced hours than the trades that drive between short jobs, which is why the floor lands where it does — but a company on a prevailing-wage determination, or one paying two state minimums, will not recognize these numbers and should not try to. The method is written out in full on the floor rate page.

And what it does when you get busier

Invoiced hours a week, eachUtilizationFloor becomes
26 65.0%$35.43/hr
29 72.5%$31.77/hr
32 — this example80.0%$28.79/hr
35 87.5%$26.32/hr
38 95.0%$24.24/hr
Nothing changes but the invoiced hours. The full explanation, and the method written out step by step, is on the floor rate page.

What we need

What you send us.

A year of workBy contract or job: date, site or contract name, what it billed, and the hours logged against it. A schedule export or a spreadsheet both work.
Your wage scheduleWhat you pay per site or per contract where it differs, plus the loads on top. If some contracts sit on a prevailing-wage determination, say which.
Nothing elseNo payroll files, no ledger, no tax returns. Supply invoices are useful for splitting consumables from labor, but they aren't required.

A spreadsheet export is fine. So is a messy one — reconciling records that disagree with each other is most of the work, and it is work you are paying us to do rather than work you have to do first.

Before you buy

When this is the wrong purchase.

If you run fewer than about three cleaners, there are not enough comparable jobs for the analysis to be sound. If a franchisor sets your prices, you cannot act on the half of the report that matters. If you need it tomorrow, five working days is five working days. The full list, with the reasoning, is on who it's not for — and the comparison page sets out when a spreadsheet or your existing software answers this better.

Your cleaning year, costed and checked.

$650 / £500 · 12 months of your jobs · 5 working days · refunded in full if nothing material is found

$650 / £500 · refunded in full if it finds nothing material.