Business Growth8 min read

How to Price Commercial Cleaning Services Without Leaving Money on the Table

G

GrowClean Team

Jul 28, 2026

A comprehensive collection of professional cleaning tools on a cart in an indoor environment.

When we audited our own commercial cleaning bids at Alpine Cleaning, we did not find one big pricing mistake. We found several small ones, each worth a few percent, and together they added up. Fixing them is a big part of why our margins are 10 percent higher today while our win rate also went up, from 15 percent to 35 percent.

If you want the complete bidding method, our guide on how to bid commercial cleaning contracts covers it from walkthrough to proposal. This post focuses on where money quietly leaks out of bids that look correct, and what each leak costs.

Leak 1: Calling a markup a margin

This is the most expensive arithmetic mistake in the industry. If your labor cost on a building is $3,000 a month and you add 25 percent, the price is $3,750. That is a 25 percent markup, but your margin is only 20 percent, because $750 is 20 percent of $3,750.

To hit a true 25 percent margin, divide the cost by 0.75. That price is $4,000. On one mid-sized account the gap is $250 a month, or $3,000 a year. Across a book of 30 accounts, it can be the difference between a good year and a stressful one.

Leak 2: Using 20 visits a month for five-night service

Five nights a week is not 20 visits a month. There are 52 weeks in a year, so five nights a week is 260 visits a year, or 21.67 a month. Pricing at 20 means you are cleaning almost two nights a month for free on every five-night account.

The same applies to other schedules. Three times a week is 13 visits a month, not 12. Twice a week is 8.67, not 8. Fix the multiplier once and every future bid is about 8 percent more accurate.

Leak 3: A loaded labor cost that was right two years ago

Most companies calculate their loaded labor cost once and then forget it. Meanwhile wages rise, workers comp rates change, and paid leave requirements expand. In Washington, minimum wage adjusts every January, which pushes up the bottom of the wage scale and everything built on it.

For a cleaner earning $17 an hour, payroll taxes, unemployment insurance, workers comp, paid leave, uniforms, and training typically bring the cost to around $20 to $21. Add supervision and drive time between buildings and many Inland Northwest companies land between $22 and $24. If you are still bidding at $19 because that was your number in 2024, every new bid starts underwater.

Recalculate your loaded labor cost every January and every time you change pay rates.

Leak 4: One production rate for the whole building

A blended rate of 4,000 square feet an hour works for open carpeted offices. It does not work for restrooms, which often clean at 800 to 1,200 square feet an hour, or break rooms at 2,000 to 3,000. If a building has a large share of slow space and you price it all at the office rate, you underbid labor by a wide margin.

Break every building into zones and price each zone at its own rate. In our audit, restroom-heavy buildings were the accounts most often underpriced.

Leak 5: Scope creep after the contract starts

A client asks the crew to also wipe down the conference room chairs. Then to take the cardboard to the dumpster. Then to clean the second break room that was not in the original walkthrough. Each request is small, and none of them shows up on the invoice.

A detailed scope by area, with frequencies, is your protection. When a request falls outside it, you have a friendly, specific way to say "happy to add that, here is what it costs." Without a written scope, every request becomes an argument or a giveaway.

Leak 6: No annual price adjustment

If your costs rise 3 to 5 percent a year and your prices stay flat, your margin on a three-year contract erodes every year. Build an annual adjustment into your terms, tied to a fixed percentage or to changes in minimum wage, and apply it consistently.

Clients rarely object to a modest adjustment that was in the agreement they signed. They object to surprises.

Set a floor margin and protect it

Once your inputs are right, decide on the lowest margin you will accept and stop going below it. When a prospect pushes on price, reduce the scope or the frequency instead. Offer five nights with full service or three nights plus a day porter. The prospect gets a lower number and you keep a healthy margin.

We learned the hard way that accounts won by cutting margin are the ones that cause the most trouble: they tie up crews, they leave no room for mistakes, and they rarely become more profitable over time.

A quick audit you can run this week

Pull your five most recent bids and check each one for these six leaks. Did you use a true margin? The right monthly visit count? A current loaded labor cost? Separate rates for slow spaces? A detailed scope? An annual adjustment in the terms?

If you find two or more issues in most bids, fixing them will likely move your margins more than any sales tactic. That was certainly the case for us.

Frequently asked questions

Markup is a percentage of cost; margin is a percentage of price. Adding 25 percent to cost gives a 20 percent margin. To hit a 25 percent margin, divide the cost by 0.75.

21.67. Multiply visits per week by 52 and divide by 12. Using 20 underprices five-night accounts by about 8 percent.

At least once a year, and whenever pay rates, workers comp rates, or minimum wage change.

Put These Insights Into Action

GrowClean gives you the tools to win more contracts, deliver consistent quality, and grow profitably. Start your free 14-day trial today.

Start Your Free Trial