Skip to main content

Why Your Commercial Cleaning Bids Keep Losing Money

Last updated: March 30, 2026

TLDR

Most commercial cleaning companies lose money not because they underbid, but because they mis-bid. They get the labor hours close enough but forget to account for fully-loaded labor costs, travel time, supplies waste, or the overhead their business actually generates. Fixing bid profitability starts with knowing your real numbers, not the numbers you hope are right.

DEFINITION

Fully-Loaded Labor Rate
The true cost of one hour of a cleaner's time, including wages, payroll taxes, workers compensation insurance, benefits, and any per-hour overhead allocation. If you pay a cleaner $17/hour, the fully-loaded rate is typically $23-$28/hour depending on your state and benefit structure.

DEFINITION

Overhead Rate
The percentage of revenue consumed by costs that aren't directly tied to a specific cleaning job: insurance premiums, vehicle costs, office expenses, software, equipment depreciation, and your own salary. A typical commercial cleaning company runs 15-25% overhead. If you don't know yours, you're guessing on every bid.

DEFINITION

Contribution Margin
The amount a single contract contributes to covering overhead and profit after direct costs (labor and materials) are subtracted. A contract with a 40% contribution margin on $3,000/month revenue contributes $1,200 toward overhead and profit.

The Bid Looked Fine on Paper

You won the contract. Good news. Three months later you’re looking at the numbers and the account is barely breaking even, or losing money outright. The bid seemed reasonable when you submitted it. The cleaners are doing the work. The client is paying on time. And somehow the margin evaporated.

This happens to cleaning company owners constantly, and it almost always traces back to the same handful of mistakes in how the bid was built.

Where the Margin Actually Disappears

The first place to look is labor cost. If you bid using the wage you pay cleaners rather than the fully-loaded cost, every hour on that contract is underfunded. A cleaner making $17/hour costs you $24-$28/hour after payroll taxes (7.65% FICA alone), workers compensation (varies by state but often 3-8% for cleaning), unemployment insurance, and any benefits. On a contract with 80 labor hours per month, that’s $560-$880/month of real cost that never made it into the bid.

The second place is overhead. Your business has fixed costs that exist whether a specific contract runs or not: general liability insurance, vehicle payments, fuel, equipment replacement, office or storage rent, accounting, software. These costs need to be covered by your contracts collectively. If you’re not allocating a percentage of overhead to each bid, you’re hoping revenue covers it without actually checking.

The third place is scope creep. The client asks for “a quick wipe of the break room fridge” or “can you also do the conference room on Thursdays.” Small additions that individually seem trivial but collectively add hours per month that were never in the bid.

Building Bids That Actually Hold Up

Start with your real numbers. Calculate your fully-loaded labor rate by adding every employer cost to the base wage. Calculate your overhead rate by dividing total non-direct costs by total revenue for the past year. These two numbers are the foundation of every profitable bid.

Then build the bid from tasks, not square footage. Walk the facility, list every task in scope, apply ISSA production rates to estimate labor hours, multiply by your fully-loaded rate, add materials (typically 5-10% of labor cost), add your overhead allocation, and then add your target margin.

The result is a bid built on math, not feeling. If the number is too high for the client, you know exactly which tasks to remove from scope rather than just cutting the price and hoping it works out.

Profit Margins by Account Size

Not all accounts are equally profitable, and the relationship between account size and net margin is counterintuitive for most cleaning company owners. Based on BSCAI industry research:

Account sizeTypical net margin
Large (150K–500K sq ft)3–8%
Medium (30K–150K sq ft)10–20%
Small (2,500–30K sq ft)25–40%

Large accounts attract more competitors, require more management overhead, and leave less room to correct a bid mistake. Small accounts are less contested, easier to scope accurately, and more forgiving of minor estimation errors. Companies that build portfolios weighted toward medium and small accounts often outperform those chasing large contracts, even if the revenue on individual large accounts looks more impressive.

When the Software Pays for Itself

A bidding tool that uses ISSA cleaning time standards does this math for you on every bid. It forces consistency: the same production rates, the same labor rate, the same margin target. It catches the contract that looks simple but has twelve restrooms, or the warehouse that’s huge but only needs trash and vacuuming.

The cost of bidding software is almost always less than the cost of one underbid contract running for six months. If you’ve lost money on a contract this year, you already know this.

Q&A

What profit margin should I expect by cleaning account size?

Profit margin varies significantly by account size. Large accounts (150K–500K sq ft) typically produce 3–8% net margin — the complexity and competitive pressure on large contracts compresses returns. Medium accounts (30K–150K sq ft) typically produce 10–20% net. Small accounts (2,500–30K sq ft) typically produce 25–40% net, because smaller scopes are less contested and easier to price accurately. Most cleaning companies underestimate this pattern and over-pursue large accounts that structurally produce thin margins.

Q&A

What is the winner's curse in cleaning bids?

BSCAI data shows the average building service contractor wins 20–30% of competitive bids. The winner's curse describes what that implies: the companies most likely to win are the ones that most underestimated the cost. If you're winning 50%+ of bids, your pricing is probably too low. If you're winning less than 10%, you may be overpriced for your market — or bidding the wrong accounts.

Q&A

Why do my cleaning bids look profitable on paper but lose money in practice?

The most common cause is using the cleaner's hourly wage instead of the fully-loaded labor rate. A $17/hour wage becomes $24-$28/hour after payroll taxes, workers comp, and benefits. On a 20-hour-per-week contract, that gap alone is $140-$220/week of unaccounted cost. The second most common cause is not allocating overhead to individual contracts.

Q&A

How do I calculate my real overhead rate for cleaning bids?

Add up all non-labor, non-materials costs for the past 12 months: insurance, vehicles, fuel, equipment, office, software, your salary, everything that isn't a cleaner's paycheck or cleaning supplies. Divide by total revenue. That percentage is your overhead rate. Apply it to every bid.

Q&A

When should I walk away from a commercial cleaning contract?

Walk away when the math doesn't work after using your real numbers. If a contract requires below-market pricing to win and your fully-loaded costs don't leave room for 15%+ net margin, it will drain resources from profitable accounts. Also walk from clients who consistently add scope without renegotiating price.

Like what you're reading?

Try SweepOps free — no credit card required.

Want to learn more?

What profit margin should a cleaning company owner target on bids?
Target 15-25% net margin after all costs including overhead. Gross margin (revenue minus direct labor and materials) should be 35-50%. If your net margin is below 10% on a contract, the bid was too low or the scope expanded without a price adjustment.
Should I use per-square-foot pricing or hourly pricing for bids?
Neither on its own. Calculate from ISSA production rates and your fully-loaded labor cost, then express the price however the client expects it. Per-square-foot pricing is common for proposals, but building the bid from production rates catches buildings that are more labor-intensive than their square footage suggests.
How does bidding software help with profitability?
Bidding software that uses ISSA cleaning time standards replaces gut estimates with calculated labor hours. It also forces you to input your actual labor rate, materials cost, and margin target, which means every bid goes through the same math. The consistency catches contracts you'd otherwise underprice.

Keep reading