When a janitorial company starts to wobble, the owner is usually torn between two moves: go sell more accounts to cover the shortfall, or stop selling and repair the accounts already on the books. Selling feels like the safe answer. It is usually the wrong one.
Adding volume to a book that loses money on labor does not fix anything. It just makes the loss arrive faster, on a bigger payroll, with less of your attention on the buildings you already promised to clean.
Commercial cleaning companies rarely fail from lack of sales. They fail from four measurable causes: accounts priced below loaded labor cost, production rates that drift after the first month, a cash gap between weekly payroll and net-30 invoices, and revenue concentrated in two or three clients. Each has a different fix.
This article gives you the axes that decide which fix is yours, the arithmetic behind each one, and a recommendation for each type of operation. No fence-sitting.
What actually kills commercial cleaning companies?
Business survival in general is not a mystery. Roughly half of new US private-sector establishments are still operating five years after opening, according to the Bureau of Labor Statistics Business Employment Dynamics program. Cleaning is not special in that respect.
What is special is the cost structure. Labor typically dominates the P&L in janitorial work, the barrier to entry is a vacuum and a phone, and buyers compare bids on price per month with no way to see what production rate you assumed. That combination punishes small estimating errors harder than almost any other service trade.
Here are the four failure modes, in the order they usually show up.
- Mispriced work: The bid used an optimistic production rate, an unloaded wage, or both. The account was unprofitable the day it was signed and nobody noticed for a year.
- Labor drift: The bid was fine. Then the crew took 17 hours instead of 14, the specialist left, a floor got added without a change order, and nobody compared budgeted hours to actual hours.
- The cash gap: You pay cleaners weekly or biweekly. Clients pay net 30 and stretch to 45. Growth consumes cash before it produces any, and a profitable company runs out of money.
- Concentration and churn: Two accounts are 40 percent of revenue. One goes out to bid, you lose it, and the overhead you built to serve it stays.
The four numbers that tell you which failure mode you have
Before you decide anything, get these four readings. Each takes under an hour for a book of 20 accounts if your timekeeping is in one place.
| Axis | How to measure it | The reading that means trouble |
|---|---|---|
| Gross margin per account | Monthly revenue minus loaded labor, supplies and equipment allowance, per account | Any recurring account below roughly 25 percent, or a book average below 30 percent |
| Hours variance | Budgeted cleaner-hours in the bid vs. actual clocked hours, per account, per month | Actual hours running more than 10 percent over budget for two months straight |
| Cash gap | Days from the day you pay the labor to the day the client's money clears | Over 45 days, or any client whose average days-to-pay exceeds 60 |
| Concentration | Largest client as a percentage of trailing 12-month revenue | One client above 25 to 30 percent, or top three above 50 percent |
Two secondary readings sharpen the picture: your bid win rate, and your inspection coverage. A win rate above about half of everything you quote usually means you are buying work rather than winning it. Accounts with no documented inspection in the last 60 days are the ones that cancel by email with no warning.
What a 42,000 sq ft account really costs: the math most bids skip
Take a single illustrative building. Call it Meridian Office Park: 42,000 cleanable square feet, general office with restrooms, cleaned five nights a week. All figures below are assumptions for the example, not benchmarks. Substitute your own.
The bid assumptions: production rate of 3,000 sq ft per cleaner-hour, base wage $16.00 per hour, loaded labor multiplier of 1.30 to cover FICA, unemployment insurance, workers compensation and paid time off. Supplies and equipment allowance of $350 per month. Price quoted at $8,400 per month.
- Cleaner-hours per night: 42,000 / 3,000 = 14.0
- Hours per month: 14.0 x 5 nights x 4.33 weeks = 303 hours
- Loaded rate: $16.00 x 1.30 = $20.80
- Monthly labor: 303 x $20.80 = $6,302
- Gross profit: $8,400 minus $6,302 minus $350 = $1,748, or 20.8 percent
That is already thin, and it is the optimistic version. Now assume the walkthrough undercounted restrooms and the real production rate is 2,400 sq ft per cleaner-hour.
- Cleaner-hours per night: 42,000 / 2,400 = 17.5
- Hours per month: 17.5 x 5 x 4.33 = 379 hours
- Monthly labor: 379 x $20.80 = $7,883
- Gross profit: $8,400 minus $7,883 minus $350 = $167, or 2.0 percent
A 20 percent miss on production rate erased 90 percent of the gross profit. Raise the base wage to $17.00 to stop turnover at that site and the account goes negative before a single overhead dollar is allocated.
This is why production rates are not a detail. ISSA publishes standardized cleaning times so operators can defend a rate instead of guessing at one, and the difference between a defended rate and a guessed rate is the entire margin on a building like Meridian.
The cash side of the same account
Meridian starts service September 1. You invoice September 30, terms net 30, the client actually pays around November 5. You have paid roughly nine weeks of payroll on that building, about $13,000 at the bid assumptions, before the first dollar arrives.
Sign three Meridians in the same quarter and you need close to $40,000 of working capital to survive winning. That is the mechanism behind the phrase "grew itself out of business."
Which move should you make first? The decision table
You have four realistic moves this quarter, and honestly only the bandwidth for one. Find your readings in the left column and read across.
| Deciding axis | Sell more accounts | Reprice the book | Rebuild the labor model | Prune and densify |
|---|---|---|---|---|
| Most accounts under 25 percent gross margin | Multiplies the loss | Start here | Do second | Worst 10 percent only |
| Margin fine on paper, actual hours over budget | Wait | Will not fix it | Start here | No |
| Crews average over 20 minutes between sites | Only inside existing zones | Partial help | Re-route before rehiring | Start here |
| Cash gap over 45 days | Dangerous, growth burns cash | Change terms, not just price | No effect | Drop chronic late payers |
| Top client over 30 percent of revenue | Start here, same geography | Later | No effect | No |
| Winning more than half of bids | You are buying work | Start here | No effect | No |
| Cancellations for quality, no inspection record | Fills a leaking bucket | No | Start here, supervision first | Unwinnable sites only |
| Owner still cleaning 10+ hours a week | No capacity to deliver | Fund a supervisor with it | Start here | Possibly |
Notice what the table refuses to do: it never recommends selling your way out of a margin problem, and it never recommends a price increase as the answer to a productivity problem. Those two substitutions are the most common strategic errors in this industry.
Which fix fits your company right now
Owner-operator, under about $200k, three to six accounts
Your failure mode is almost always pricing, because you bid against your own unpaid labor and never charged for it. Recommendation: reprice, and do it before you hire anyone.
Rebuild every quote at a loaded rate that assumes an employee does the work, not you. If an account cannot carry that number, it is not a business, it is a job you gave yourself. Give the worst one a 90-day price correction letter and be willing to lose it.
$200k to $750k, first supervisor hired, 6 to 15 accounts
This is where labor drift eats companies. You are no longer on site, budgeted hours stopped being enforced, and quality complaints started arriving through the client instead of through your own inspections. Recommendation: rebuild the labor model.
Set a budgeted hours figure per site per week, compare it to clocked hours every Monday, and inspect every account on a fixed frequency with photo evidence. Define the target cleanliness level in writing so "clean" is not a matter of opinion. APPA's five-level scale is the common vocabulary for this.
$750k to $3M, multiple crews, more than one city
Your enemy is drive time and supervision span. Margin looks acceptable in aggregate and terrible per route. Recommendation: prune and densify.
Map every account. Any site more than about 20 minutes outside a cluster either gets repriced to cover the windshield time, gets paired with a neighbor within two quarters, or gets released. Then sell only inside the zones you already serve.
Any company where one client is over 30 percent of revenue
Margin is not your problem yet. Survival concentration is. Recommendation: sell, aggressively, but only inside existing geography.
Assume that account goes out to bid the moment its facility manager changes jobs. Your goal is to get it under 20 percent of revenue before that happens, and the fastest safe route is more work in the same buildings and the same block, not a new market.
Fast growth built on subcontracted cleaners
The exposure here is classification, not margin. Worker classification is governed by federal and state tests, and the penalties for getting it wrong land as back taxes and insurance assessments rather than as a bad month. Recommendation: get a written opinion from a CPA and an employment attorney before your next 10 hires, and price in the difference now.
The 30-minute account autopsy, run monthly
- Pull actual clocked hours for the site and compare to budgeted hours from the bid.
- Recalculate loaded labor cost at current wages, not the wage you bid two years ago.
- Subtract labor, supplies, equipment allowance and any callback hours from monthly revenue.
- Divide gross profit by revenue. Write the percentage on the account record.
- Check days-to-pay on the last three invoices.
- Confirm at least one documented inspection in the last 30 to 60 days, with photos.
- Note any scope added since signing that never became a change order.
- Flag every account under target margin for repricing, re-routing or release within 90 days.
Questions operators actually ask
What gross margin should a commercial cleaning account run at?
Most operators plan recurring janitorial work in the 30 to 40 percent gross margin range after loaded labor and supplies, before overhead and profit. Below 25 percent, a single wage increase or one slow month can push the account negative. Specialty work such as floor care and post-construction usually carries a higher margin because equipment and skill are scarcer.
How do I calculate a loaded labor rate?
Start with the base hourly wage, then add employer FICA at 7.65 percent, federal and state unemployment insurance, workers compensation premium at your class code rate, and any paid time off, uniforms or training hours. Many operators land between 1.25 and 1.40 times base wage. Build your own multiplier from your actual insurance declarations page rather than borrowing someone else's.
How many accounts can one supervisor realistically inspect?
It depends on drive time more than count. A supervisor doing formal scored inspections with photos typically needs 45 to 90 minutes per mid-size site including travel. In a tight urban cluster, one supervisor can cover a large book monthly. Spread across a metro area, the same person covers a fraction of it. Measure inspections completed, not sites assigned.
Should I fire a client that always pays late?
Not automatically, but price the delay. If a client averages 60 days on net-30 terms, you are financing them at your own cost of capital while paying cleaners weekly. Ask for a shorter term or ACH autopay at renewal, and if they refuse, add the carrying cost to the price. Release them if the account is also below target margin.
How long should a commercial cleaning contract term be?
Twelve months with automatic renewal and a 30-day cancellation clause is the common structure in the US market. Longer terms rarely hold, because most janitorial agreements are cancellable anyway. What protects you is not term length but a written scope, a defined cleanliness standard, a change-order clause for added square footage, and an annual price escalator tied to wage increases.
Where CleanTrack360 fits
Every diagnosis above depends on data you either have in one place or you do not: budgeted hours next to actual hours, an inspection record per site, and a quote built on real square footage and loaded labor. CleanTrack360 puts those in one system. Geofenced GPS clock-in and clock-out runs in the crew's phone browser with a default 150 m radius you can set per location, so actual hours are captured at the site. Quality inspections use your own checklists with photo evidence and automatic scoring, and clients can see schedules, inspection reports and service requests in a browser-based dashboard. The quoting calculator prices from square footage, frequency, labor and supplies, and turns into a branded PDF proposal with open tracking.
Plans are Starter at $99 per month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50. Pricing is per plan, not per user. There is a 14-day free trial with no credit card, which is roughly the time it takes to run the account autopsy above on your full book and find out which of the four failure modes is actually yours.