Worked Numbers

How to Price House Cleaning Jobs From Your Own Costs, Worked Through

October 13, 2026 · Pricing a service business

To price a house cleaning job, work out what one hour of your working day has to earn, then charge every hour the job takes out of that day - the time on site plus the drive there and the setup - add the supplies it uses, and divide by one minus your target margin. On the illustrative numbers below, that turns a 2.5-hour regular clean into a quote of $170. Price only the time on site and the same job comes to $119.91, with the drive and setup worked for free.

Looking up what other cleaners charge tells you what the market might pay. It does not tell you whether that price keeps your business alive. That answer comes from your own costs, so start there.

The formula

  1. Revenue the year needs = take-home income / (1 - tax rate) + overhead
  2. Job hours in a year = working weeks x hours per week x the share of those hours that belong to a job (on site, driving to it, setting up)
  3. Rate per job-hour = revenue needed / job hours
  4. Break-even price = (hours on site + drive + setup) x rate per job-hour + supplies for the job
  5. Quote = break-even price / (1 - target margin), rounded up

Tax is applied to the income only, because overhead is paid before profit is taxed. Grossing up the overhead too would overstate the price.

Step 1: what one job-hour has to earn

Take a solo cleaner who wants $48,000 a year to keep. With 25% set aside for tax on profit (a placeholder - your accountant can give you your own figure), that is $64,000 of profit before tax.

Then overhead, the costs that exist whether you clean one house this week or ten:

Overhead item Per year
Vehicle: fuel, insurance, servicing $4,200
Equipment replacement $900
Public liability insurance $600
Phone, scheduling, accountant $900
Total $6,600

Supplies are left out of this list on purpose. They come to around $1,800 a year in this example, but they scale with the work, so they go on each job instead. Count them in one place or the other, never both.

Revenue needed: $64,000 + $6,600 = $70,600.

Now hours. 48 working weeks of 40 hours is 1,920 hours. Not all of them belong to a job: quoting, invoicing, restocking, laundry and the odd cancellation take some. Say 80% of the week belongs to a job and 20% does not. That leaves 1,536 job-hours.

$70,600 / 1,536 = $45.96 per job-hour. That is the floor: every hour a job takes from your day has to bring in at least this much, or the year comes up short.

Step 2: price the job, not the time on site

A regular clean: 2.5 hours on site, a 20-minute drive, 10 minutes to unload and pack down, and $5.00 of supplies.

Line Amount
Hours of your day 3.00
Labor at $45.96 per job-hour $137.89
Supplies $5.00
Break-even price $142.89
Quote at a 15% margin (divide by 0.85) $168.11
Rounded up to the next $5 $170

The margin is profit on top of your pay: the cushion for a slow month, a vacuum that dies early, or saving toward a second cleaner. Note that it is a division, not a multiplication. Dividing by 0.85 is the same as adding a 17.6% markup; adding 15% would leave you short of a 15% margin.

Priced on time on site alone, this job would be $119.91 - and the $22.98 of drive and setup time would come out of your pocket on every visit.

The same clean, further away

Here is that identical 2.5-hour job at different drive times:

Drive to the job Hours of your day Break-even price Quote at 15% margin
0 min 2.67 $127.57 $150.08
15 min 2.92 $139.06 $163.60
30 min 3.17 $150.55 $177.12
45 min 3.42 $162.04 $190.64
60 min 3.67 $173.53 $204.16

The house is the same and the work is the same, but the price has to cover $54.07 more at a 60-minute drive than next door. Every extra 15 minutes on the road adds about $13.52 to the quote at this rate and margin.

You do not have to show the client a travel line. You can charge a zone price, add a minimum for far-off jobs, or turn down work outside your area. What you cannot do is leave the drive out and hope the volume makes up for it.

A simple cleaning business pricing sheet

The same method gives a pricing sheet. Each row uses a 20-minute drive and 10 minutes of setup:

Job On site Supplies Break-even Quote Rounded up
Regular clean 2.5 h $5.00 $142.89 $168.11 $170
Deep clean 5 h $15.00 $267.80 $315.06 $320
Move-out clean 6 h $20.00 $318.76 $375.02 $380

A deep clean is not a regular clean plus a percentage. It is more hours on site and more supplies, and both are already in the row. If you quote from a walk-through or photos, the number you are really estimating is the hours on site; everything else follows from it.

The insight: the map sets your income as much as your prices

This is the part most per-hour or per-room pricing misses. A job pays per hour of your day, not per hour on site.

Take a $120 job that takes 2 hours on site and 50 minutes of driving. On the invoice it looks like $60 an hour. Per hour of your day it pays $42.35 - below the $45.96 floor from Step 1, even though the sticker rate is comfortably above it. To reach the floor, that job would need to be $130.23, which is $10.23 more than it is.

Drive time also decides how many jobs fit in a day. With 2-hour jobs, 10 minutes of setup each, and an 8-hour day:

Drive between jobs Jobs that fit (exact) Whole jobs Day’s takings at $120
10 min 3.43 3 $360
30 min 3.00 3 $360
45 min 2.74 2 $240
60 min 2.53 2 $240

Going from 30 to 45 minutes between jobs costs a whole job: $120 a day, 33% of the day’s takings, at the same prices. Booking the next client closer to the last one gets it back without touching a single quote. Clustering your round by area - all of one neighborhood on Tuesdays - is a pricing decision, even though it never appears on a quote.

How these were calculated

Revenue needed is take-home income divided by one minus the tax rate, plus overhead. Job-hours are working weeks times hours per week times the share of hours that belong to a job. Each job’s break-even price is its hours on site, drive and setup, times the rate per job-hour, plus supplies; the quote divides that by one minus the target margin and rounds up to the next $5. Jobs per day divide the working day by each job’s on-site time plus drive plus setup, and only whole jobs are counted toward takings.

There are two honest ways to handle drive time, and they give different hourly figures. This page charges the drive to each job, so the rate per job-hour is lower and every quote carries its own drive. The other way treats driving as unbilled time, which shrinks your billable hours and raises the hourly rate instead. The kit below works the second way, so its example rate is higher than the one here - but either method, applied consistently, lands on the same price for the same job. Just never do both, or you charge for the drive twice.

Every figure on this page was computed twice - once by the code behind the pricing kit below, once by a separate implementation written from the formulas - and the two agree to the cent. All inputs (income, overhead items, the 80% job share, 15% margin, job lengths, drive times and supplies) are illustrative, not market rates or typical figures for any area. Your own numbers will give a different price. None of this is financial, tax or legal advice.

If you want to run this on your own income, overhead and round - with a blank worksheet, the drive-time tables, and scripts for quoting a first clean, pricing a deep clean and raising prices on regulars - the kit below does exactly this arithmetic.