How To Price A Cleaning Job So You Actually Make Money
Most cleaning businesses don't lose money by charging too little — they lose money by pricing every job differently, from memory, under time pressure, with no way to tell afterward which price actually made money. A repeatable formula fixes this: a base rate per bedroom and bathroom, adjusted for the type of job, plus flat fees for specific add-ons, minus a fixed discount if it's recurring, with a hard floor underneath so no job goes out below what it costs you to show up.
Why "gut feel" pricing quietly loses money
Picture two nearly identical 3-bedroom, 2-bathroom homes. One gets quoted $140 because the owner was in a good mood and remembered a similar job going well last month. The other gets quoted $175 because it was the end of a long day and the quote felt "about right." Neither number came from anything you can defend or repeat — and neither one tells you whether $140 actually covered your time, supplies, and travel.
Over a year, that inconsistency doesn't average out to something safe. It quietly trains your best, most loyal recurring clients — the ones who booked early and never questioned a price — to be the ones paying the least, while newer clients who negotiate get the discounts. The fix isn't charging more across the board; it's pricing the same way every time so you can actually see what's working.
The four inputs that actually matter
You don't need complicated software to fix this — you need four consistent inputs, applied the same way every time:
- A base rate per bedroom and bathroom. Pick numbers that reflect your real local market — there's no universal "correct" rate, and anyone who tells you there is hasn't looked at your specific market.
- A job-type multiplier. A deep clean or a move-out/move-in clean takes meaningfully longer than a standard recurring visit — that difference should be a fixed multiplier (e.g., 1.5x for deep, 1.75x for move-out), not a guess each time.
- Flat add-on fees. Inside the fridge, inside the oven, interior windows, laundry — each one should have its own fixed price, decided once, not negotiated per job.
- A frequency discount. Weekly and biweekly clients are worth more to you over a year than a one-time job, so it's reasonable to discount them — but the discount should be a fixed percentage, not whatever feels generous in the moment.
A worked example
Take a 3-bedroom, 2-bathroom home, booked as a biweekly deep clean, with the inside of the fridge and the interior windows added on. Using illustrative rates of $25/bedroom and $20/bathroom:
| Step | Calculation | Result |
|---|---|---|
| Base price | (3 × $25) + (2 × $20) | $115 |
| Deep-clean multiplier (1.5×) | $115 × 1.5 | $172.50 |
| Add-ons | Fridge $25 + Windows $40 | +$65 |
| Subtotal | $172.50 + $65 | $237.50 |
| Biweekly discount (15%) | $237.50 × 0.15 | −$35.63 |
| Final quote | $237.50 − $35.63 | $201.88 |
Run the same four steps on every job and you get a number you can actually stand behind — and compare against what the job cost you in time and supplies, which is the only way to know if a price is working.
Why a hard minimum matters
Small homes and small jobs still cost you a trip out, setup time, and supplies before you clean a single surface. Without a floor, the formula above can produce a quote too low to be worth the visit. Decide a minimum job price once — high enough to cover your real fixed cost of showing up — and let the formula never quote below it, no exceptions.
Why recurring clients deserve their own number
A one-time $200 job and a biweekly $200 job are not the same client. The biweekly client, at roughly 2.17 visits a month, is worth close to $434/month and over $5,200 over a year — which changes how much effort is worth spending to win or keep them. Track the monthly and annual value of recurring clients separately from one-time job revenue; it changes which clients are actually worth chasing.
What not to do
- Don't quote from memory alone, even for a "simple" job — the whole point is removing memory from the equation.
- Don't discount below your floor because a client pushes back — if the floor is right, it's right for a reason.
- Don't guess at add-on pricing in the moment — decide the fee once, for every job, so you're not negotiating against yourself.
The rates used in the example above ($25/bedroom, $20/bathroom, a 15% biweekly discount) are illustrative, not a claim about what your market should charge. Local pricing varies by region, competition, and what's included — set your own numbers based on your actual market.