The Real Cost of Underbidding a Cleaning Contract
Winning a contract at the wrong price is worse than losing it. Learn how underbidding compounds into real dollar losses through labor overruns, scope creep, turnover costs, and opportunity cost.
The Real Cost of Underbidding a Cleaning Contract
Every cleaning company owner has done it. You walk a building, run some quick math in your head, and quote a number that feels right. You win the contract. Three months later you realize you're working harder than ever and making less than before.
You didn't just underbid — you committed to losing money for the next 12 months.
Underbidding is the most common and most expensive mistake in the commercial cleaning business. Not because you lose a few dollars per month, but because the losses compound in ways you don't see until it's too late.
What "Underbidding" Actually Means
Let's put a number on it. A healthy recurring cleaning contract should have a gross margin of 25-35% depending on facility type:
| Facility Type | Healthy Gross Margin | |---|---| | General office | 28-35% | | Medical/healthcare | 25-30% | | School | 25-30% | | Industrial | 30-40% | | Retail | 28-35% |
Underbidding means your actual gross margin is below 20%. Below that threshold, any single unexpected cost — a callback, an employee injury, a piece of broken equipment — wipes out your profit for the month.
At below 15% margin, you're actively losing money once you account for overhead (your time, vehicle, insurance, admin).
The Five Costs of Underbidding
1. Direct Labor Loss ($200-$800/month)
The most obvious cost. You estimated 8 hours per visit but it actually takes 10. That's 2 extra hours per visit × $20/hr burdened rate × 22 visits = $880/month in labor you didn't price for.
This happens because:
- You estimated hours based on the wage ($15/hr) instead of the burdened rate ($19-22/hr)
- You used "gut feel" instead of ISSA production rates
- You forgot transition time (walking between areas, getting supplies) — typically 10-15% of cleaning time
- The building condition was worse than it looked during the walkthrough
Real example: A 15,000 sq ft office bid at $3,200/month. Owner estimated 5 hours per visit. Actual time: 6.5 hours. That 1.5 hours × $20/hr × 22 visits = $660/month in unrecoverable labor cost. The contract that was supposed to make $640/month in profit now makes negative $20.
2. Scope Creep Acceleration ($150-$500/month)
Here's the thing about underpriced contracts: clients push harder on them. When a client is paying premium rates, they tend to respect the scope. When they know (or suspect) they got a deal, every request becomes "well, can't you also just..."
On an underbid contract, you're already feeling the squeeze, so you're less likely to push back. You absorb the extra work because you can't afford to lose the contract. The scope grows. The margin shrinks further.
Common scope creep on underbid contracts:
| Extra Request | Time Added per Visit | Monthly Cost (at $20/hr) | |---|---|---| | "Wipe down gym equipment" | 8 min | $59 | | "The kitchen needs more attention" | 15 min | $110 | | "Can you vacuum the server room too?" | 10 min | $73 | | "Water the lobby plants" | 5 min | $37 | | Total | 38 min | $279/month |
That's $3,348/year of free labor you're providing. And it compounds — each accommodation makes the next one harder to refuse.
3. Turnover Cost ($500-$1,500 per replacement)
Underbid contracts create a vicious cycle with staffing:
- Margins are thin, so you can't pay competitive wages
- Lower wages attract less reliable workers
- Less reliable workers miss shifts, requiring callbacks
- Callbacks burn more margin
- When workers quit (and they will), you spend $500-$1,500 replacing and training each one
Training a new cleaner costs real money even if you don't see it as a line item:
| Cost Component | Estimate | |---|---| | Recruiting time (posting, screening, interviewing) | 3-5 hours of your time | | Background check | $25-$50 | | First-week training (shadowing experienced cleaner) | 8-16 hours of doubled labor | | Reduced productivity (first 2-4 weeks) | 20-30% less efficient | | Supervisor oversight (first month) | 2-4 extra hours |
At the typical cleaning industry turnover rate of 200-400% per year, a 5-person crew replaces 10-20 people annually. If each replacement costs $750, that's $7,500-$15,000/year in hidden staffing costs.
On an underbid contract where you're paying below-market wages, turnover runs even higher.
4. Equipment and Supply Shortchanging ($100-$300/month)
When margins are thin, you cut corners. Maybe you skip the auto-scrubber and hand-mop instead (saving on equipment but adding labor hours). Maybe you dilute chemicals beyond the recommended ratio. Maybe you don't replace worn vacuum belts as often.
These shortcuts don't save money — they cost it:
- Over-diluted disinfectant doesn't disinfect, leading to client complaints and callbacks
- Worn vacuum belts reduce suction, requiring more passes (more labor time)
- Deferred equipment maintenance leads to breakdowns at the worst possible time
More importantly, cutting corners affects cleaning quality, which leads to...
5. Opportunity Cost (The Biggest Hidden Loss)
This is the cost nobody calculates but it's the most expensive.
Every hour your crew spends on an underbid contract is an hour they're not spending on a properly priced one. If you have 3 cleaners working 6 hours per night on a contract with 18% margin, those same 18 hours could be allocated to a contract with 32% margin.
The math:
Underbid contract:
18 labor hours/night × $20/hr burdened = $360/night cost
Revenue: $3,200/month ÷ 22 visits = $145.45/visit
Loss per visit: $360 - $145.45 = -$214.55
(This contract loses money every single night)
What those hours could generate:
18 labor hours/night at 32% margin
Cost: $360/night
Revenue needed: $360 / (1 - 0.32) = $529.41/visit
Monthly revenue: $529.41 × 22 = $11,647
Gross profit: $3,727/month
The opportunity cost isn't just the money you're losing on the bad contract — it's the $3,727/month you could be making if those labor hours were allocated to a properly priced contract.
Know your true cost before you commit
BidLoom calculates burdened labor cost, ISSA-based labor hours, supply costs, and margin — so you see the real numbers before submitting a bid. No more discovering you underbid 3 months in.
How to Know You've Underbid
These are the warning signs:
Financial signals:
- Your crew is working more hours than you quoted
- You're dipping into other contract profits to cover this one
- Your supply costs are higher than you estimated
- The contract doesn't cover its share of overhead
Operational signals:
- You dread sending staff to this account
- The client constantly asks for extras and you're afraid to say no
- Quality complaints are increasing despite your crew's effort
- You're sending your best people to hold the account together
The gut check: If you could walk away from the contract tomorrow with no penalty, would you? If the answer is yes, you underbid it.
What to Do If You've Already Underbid
Option 1: Renegotiate at renewal
Most cleaning contracts are 12 months. At renewal, present the actual cost data:
"Based on our first year of service, the actual labor hours required to maintain the scope are [X] hours per month, which is [Y%] more than our original estimate. To continue the current service level, the monthly rate would need to adjust to [$amount]."
Come with data, not complaints. Show them the hours, the scope, the tasks. Most reasonable clients understand that an underpriced contract leads to a provider that cuts corners or walks away.
Option 2: Reduce scope to match price
If the client won't accept a price increase, adjust the scope downward:
"At the current rate, we can continue providing [core tasks]. The [additional tasks] would need to be quoted separately or removed from the weekly schedule."
This is uncomfortable but honest. It's better than slowly degrading quality until you lose the contract anyway.
Option 3: Document and learn
If you're locked in and can't renegotiate, treat the contract as an expensive education. Document:
- Actual hours per visit (compared to estimate)
- Actual supply costs
- Every extra request and its time cost
- Your true burdened labor cost
Use this data to price your next bid accurately. The $500/month you're losing on this contract is worth it if it prevents you from making the same mistake on the next five.
How to Prevent Underbidding
1. Use production rates, not guesses
ISSA 612 production rates exist for a reason. "I think it'll take 4 hours" is not a calculation. Multiply square footage by the production rate for each task. Add 10-15% for transition time.
2. Calculate your burdened rate, not just wages
Your $16/hr cleaner costs you $19-22/hr after FICA (7.65%), state unemployment (varies by state, 1-5%), workers comp (3-5% for NCCI code 9014), and any benefits. If you bid on the wage, you're underpricing by 20-40%.
3. Account for facility condition
A well-maintained building cleans faster than a neglected one. Adjust your hours upward by 10-20% for buildings with deferred maintenance, high occupant density, or older surfaces.
4. Never go below 20% gross margin
This is the floor. Below 20%, one bad month wipes out your profit. On recurring contracts, target 28-35% for standard offices and 25-30% for medical or specialized facilities.
5. Bid systematically
Use a consistent process for every bid — same production rates, same burden calculation, same margin targets. The companies that underbid are almost always the ones who skip steps because they're "experienced enough to eyeball it."
The Math Behind Good Bidding
The difference between a profitable contract and a money-losing one often comes down to a few dollars per hour in labor cost and a few percentage points in margin. Systematic bidding — whether in software or a well-built spreadsheet — ensures you catch these differences before you sign the contract.
Related: How to Calculate Labor Costs for Cleaning Bids and 5 Pricing Mistakes That Kill Cleaning Company Profits
Built for cleaning companies
Create accurate bids in 15 minutes, not 4 hours
BidLoom uses ISSA 612 production rates and full labor burden calculations to price your bids correctly — then generates a professional PDF proposal you can send immediately.
Free tier includes 3 bids. No credit card required.