What's a Good Profit Margin for a Cleaning Business?

By Vladimir BoldyrevUpdated June 30, 2026

A healthy residential cleaning business nets about 15–28% profit (target ~25%); commercial and janitorial work nets 10–20% with labor at 50–80% of the bid. Margin only holds if you price with the 1.30 labor burden and divide cost by (1 − your target margin) so profit comes out first.

What a healthy cleaning margin looks like

For residential cleaning, a healthy net profit margin runs about 15–28%. Commercial and janitorial work is steadier but thinner, netting 10–20%, with labor typically eating 50–80% of the bid.

Most tooling and pricing guides recommend targeting around a 25% margin on residential jobs. If you're consistently below that — or you have no idea what your margin actually is — that's the signal you're undercharging.

Why 'busy but broke' happens

The most common story in this business: a full schedule that somehow doesn't pay. It almost always traces back to three leaks:

  • Ignoring labor burden. The wage is not the cost — add 20–40% for taxes, workers' comp and benefits.
  • Forgetting overhead. Insurance, vehicle, fuel, phone and software have to be recovered in the price.
  • No margin on top. If your price only covers costs, you've bought yourself a job, not a business.

Miss any one and a job that looks profitable is actually break-even or worse.

How to protect your margin on every job

Margin isn't something you check at tax time — it's something you set before you quote. Price every job as: cost ÷ (1 − target margin). Want 25%? Divide your fully-loaded cost by 0.75. Want 30%? Divide by 0.70.

Because profit comes out of the formula first, you can't accidentally quote below your target. The only way the margin drops is if you consciously discount — and then you can see exactly what that discount costs you.

Raising prices without losing clients

If you've been underpricing, you don't have to fix it all at once. Raise recurring clients gradually, lead with the value (reliability, insured, consistent crew), and price all new clients correctly from day one. Underpricing also quietly attracts the worst clients — the ones who nitpick, pay late and use your quote to bargain — so pricing up often improves your client mix, not just your margin.

See your margin on every bid

BidCalc shows your profit and margin percentage on every job in a private, owner-only panel — and the margin figure turns red if a job dips below a healthy target, so you catch money left on the table before you send the quote, not months later.

Start free and find out what your margin really is on the next job you price.

Frequently asked questions

What is a good profit margin for a cleaning business?
Residential cleaning nets about 15–28% (aim for ~25%); commercial and janitorial nets 10–20%, steadier but thinner, with labor typically 50–80% of the bid.
How do I stop undercharging for cleaning?
Price every job as cost ÷ (1 − target margin), and make sure 'cost' includes the 1.30 labor burden and overhead — not just the wage. Because profit comes out of the formula first, you can't accidentally quote below target.
How do I raise cleaning prices without losing clients?
Raise recurring clients gradually and lead with value (reliable, insured, consistent crew), while pricing all new clients correctly from day one. Higher prices also filter out the nitpicky, late-paying clients that cluster at the bottom.

Price your next job in under a minute

BidCalc runs this math on your own rates and turns it into a branded quote — margin protected, costs private.