Limited offer · Closing in00d00h00m00sClaim now →
10% OFFLimited-time launch offer

Claim Your 10% Discount

Enter your details and we'll email your discounted checkout link instantly.

Loading discount form…
Get the snapshot
Blog

What a Cleaning Job Actually Costs You: The True Cost-Per-Clean Breakdown (2026)

Busy all week and still broke? Here's how to figure out what one cleaning job really costs to deliver, line by line, so you stop quoting below your own floor.

September 27, 2026 · 16 min read · by Marisol Vega

#Tier 4#Pricing Teardown#cost-per-clean#unit-economics#job-costing#labor-cost#cleaning-business#national

Here is the short version: most cleaning owners cannot tell you what one job costs to deliver, so they quote off gut feel and wonder why a full week leaves nothing in the bank. A job’s real cost is not the cleaner’s wage. It is loaded labor (wage plus payroll taxes and workers’ comp), plus supplies, plus paid drive time, plus callbacks, plus a slice of overhead. Add those up and a $150 clean you thought earned $70 often earns closer to $18. This post walks the cost stack line by line, hands you a worksheet, and runs the math for a solo operator, a mid-size team, and a large janitorial crew. Know your floor, and you never quote below it again.

Infographic titled 'The true cost of one cleaning job' showing a $150 quote at the top and a stacked bar breaking the cost into loaded labor, payroll taxes, workers' comp, supplies, drive time, callbacks and overhead, leaving a thin profit sliver at the bottom.

I spent nine years inside the numbers of a residential maid service before moving into systems work, and the most expensive habit I saw in other owners was pricing without knowing their cost. They knew what they charged. They had no idea what it cost them to show up. That gap is where “busy but broke” lives. Every figure below is sourced.

$17.83/hr
Median maid/housekeeper wage, May 2025 (BLS)
$17.71/hr
Median janitor/building cleaner wage, May 2025 (BLS)
7.65%
Employer payroll tax on every wage dollar (FICA)
~$3.31
Workers' comp, residential cleaning, per $100 payroll

Sources: BLS OEWS maids & housekeeping cleaners and janitors & building cleaners (May 2025); IRS Topic No. 751; Insureon (2026).

Key Takeaways

  • The wage is not the cost. Add payroll taxes and workers’ comp and every $18/hr cleaner costs closer to $21 an hour before they touch a mop.
  • Drive time is real labor. Paid door to door, the minutes between houses are a cost with no revenue, and they can wipe out the margin on a short job.
  • Callbacks are a line item. A re-clean is a second job at full labor cost and zero new revenue. Two a week changes your real margin.
  • Overhead lands on the job. Software, insurance, admin, and the cost of getting the lead all divide across the jobs you actually run.
  • Use the worksheet. Plug in your numbers, find your break-even per hour, and never quote under it again.

Table of contents

Why “busy but broke” happens

It is 7:40am and you just quoted a three-bed, two-bath standard clean at $150 flat, because that is what you always charge and the customer said yes fast. Two cleaners drive over, spend two hours on site, drive to the next job. Did you make money? Most owners cannot answer, and the ones who say “about seventy bucks” are counting the wage alone.

Here is the trap. When you undercount cost, every quote feels fine, so you fill the calendar, and a full calendar feels like success. Then the month ends and the bank balance did not move. You do not need more jobs. A shop running low-margin jobs at full speed loses money faster.

Labor is the giant: across residential and commercial cleaning, wages routinely eat up to 60% of revenue, so a small mistake in how you count labor swings your whole margin (Housecall Pro). Get labor right and the rest is arithmetic.

The cost stack, line by line

Every clean carries seven costs, and the expensive ones never show up on a receipt: loaded labor, payroll taxes, workers’ comp and insurance, supplies and equipment, paid drive time, the callbacks you eat, and a slice of overhead. We will build each one with real numbers, then hand you the worksheet.

Loaded labor: the number that is not your wage

Start with the wage. The national median for maids and housekeeping cleaners was $17.83 an hour in May 2025, and $17.71 for janitors and building cleaners, with the bottom 10% under $13.77 (BLS). Say you pay $18.

That $18 is not what the hour costs you. On top of the wage you pay the employer half of payroll taxes and workers’ comp, which together add roughly 12% to 18% depending on state and class code. Call it 15%, and your $18 wage is really about $20.70 an hour of loaded labor, before a single non-billable minute.

Now the job. Two cleaners, two hours on site, is four labor hours. At $20.70 loaded, that is $82.80 for one $150 clean: 55% of the ticket, and nobody has driven anywhere or bought a sponge yet.

Diagram titled 'What's really in your labor cost' showing an $18 hourly wage plus FICA payroll tax of 7.65%, plus FUTA and state unemployment of about 3%, plus workers' comp of about 3.3% for residential cleaning, equaling a loaded labor rate of about $20.70 per hour.

Payroll taxes and the 1099 mirage

If your cleaners are W-2 employees, you pay the employer share of FICA, which is 7.65% of wages (6.2% Social Security plus 1.45% Medicare), on every dollar a cleaner earns, since cleaning wages sit far below the Social Security cap (IRS Topic No. 751). You also pay federal unemployment tax (FUTA), an effective 0.6% on the first $7,000 of wages after the standard state credit, a maximum of $42 per employee per year (IRS Topic No. 759). Then state unemployment (SUTA), which varies by state and claims history, commonly a few percent for a new employer.

Add those and payroll tax alone is roughly 8% to 11% on top of the wage, about $1.45 to $2 an hour on our $18 cleaner, before workers’ comp.

Here is the mirage. Plenty of owners “solve” this by paying cleaners as 1099 contractors, which makes payroll tax vanish from the books. It does not vanish. It becomes a liability that lands when a state audits the classification, and cleaning is scrutinized hardest because a crew you schedule, train, and supply usually fails the contractor test. Price labor as fully burdened even if you run 1099. More on the risk in the 1099 vs W-2 guide.

Workers’ comp and insurance

Workers’ comp is priced per $100 of payroll, and cleaning is not cheap because people slip, lift, and handle chemicals. Rates vary by state and class code, but residential house cleaning (often code 0917) commonly runs around $3.31 per $100 of payroll, commercial janitorial (code 9014) closer to $2.43, and many shops land between $0.75 and $2.50 (Insureon). Your experience modifier moves that up or down.

On our $18 wage, comp at roughly 3% adds about $0.54 an hour. General liability and a bond are usually flat annual costs that belong in overhead, but comp scales with payroll, so it belongs here in loaded labor.

Supplies and equipment

This is the one cost owners actually track, and it is the smallest. Consumable supplies (cleaner, cloths, liners, gloves) run roughly $2 to $5 per standard residential job, around 2% to 4% of a typical ticket, and a solo operator often spends $100 to $250 a month total (Thumbtack, mioCommerce).

Do not stop at consumables. Vacuums and machines wear out, so a fair cost-per-clean carries a few dollars of equipment depreciation. Call supplies plus equipment $5 to $7 on a standard house. It will not swing your margin like labor does, but leaving it at zero understates your floor.

Drive time: the cost with no revenue

This is the invisible killer. If you pay your crew from the time they clock in, the drive between jobs is paid labor with zero revenue attached. A 20-minute drive each way, two cleaners, is roughly 1.3 loaded labor hours, about $27, sitting on a job that already used $82 of on-site labor.

Loose routing compounds it. A crew crisscrossing town burns two or three uncharged hours a day, a full extra job’s worth of labor you pay for and never bill. Route density is not a nice-to-have, it is margin. See the causes in why your cleaning crew is always late and the fix in the route optimization playbook.

020.7541.562.258383On-site labor25Overhead27Drive time6Supplies + equip6Callbacks (avg)

Illustrative breakdown of one $150 standard residential clean (two cleaners, two hours on site, $18/hr loaded, 20-minute drive each way). Labor and payroll figures: BLS (May 2025), IRS.

Callbacks, re-cleans, and QC

A callback is a customer saying the bathroom was missed and you sending someone back. That return trip is a second job at full labor and drive cost with no new dollar attached, and it burns the slot you could have sold. If one clean in fifteen turns into a re-clean, spread that across all fifteen and every job carries a few dollars of callback cost.

Quality control is the cheaper cousin: a checklist, a before-and-after photo, a two-minute walkthrough. Far cheaper than the re-clean it prevents, and it protects the review that brings the next customer.

Overhead: the slice that lands on every job

Overhead is everything that keeps the business on whether or not you clean today: software, phone, general liability and bond, van payment and fuel, admin, accounting, and the cost of getting the lead. Add it up for the month, divide by the jobs you run, and that per-job number is real cost, usually bigger than owners guess.

Two pieces deserve a hard look. Software: the sticker is never the real bill once texting, per-user fees, and add-ons are on, which we tore apart in what cleaning software really costs in 2026. And customer acquisition: spend $600 on ads to book 20 cleans and that is $30 sitting on each job. Leave marketing out and every “profitable” job is subsidizing the ads that won it.

Steal this: the cost-per-clean worksheet

Copy this into a note or a spreadsheet and fill in your own numbers. It takes fifteen minutes and it changes how you quote forever.

Run that once on a job you thought was a winner and it will sting. Then find your break-even revenue per on-site hour: total monthly cost divided by total monthly billable on-site hours. If your true cost is $52 per on-site hour, any quote paying less than that per crew-hour loses money. Price above it every time. If you have never set prices from your cost floor, the residential cleaning pricing guide turns that floor into per-room, per-hour, or per-square-foot rates.

Stop letting no-shows and missed follow-ups eat the margin you just calculated

Knowing your cost is step one. Step two is not leaking it: the Cleaning Snapshot books missed calls, recovers no-shows, and turns one-off cleans into recurring routes, so the jobs you run clear your floor.

What it costs at three sizes

The stack is the same at every size, but the numbers and the biggest risk shift.

Solo operator (you, maybe one helper, 30 to 60 jobs a month). Your labor is partly your own time, which owners love to count as free. It is the most expensive labor you have, because every hour you clean is an hour you are not selling or building. Pay yourself a wage in the math. Overhead per job is high because you divide fixed costs over few jobs, and drive time is your sharpest risk: a solo route with big gaps is pure loss.

Mid-size residential (3 to 8 cleaners, 150 to 300 jobs a month). Now payroll burden and comp are real cash every week, and routing is make-or-break. This is where “busy but broke” is most common, because volume hides thin margins. Track your callback rate and revenue per on-site hour by crew, and the route quietly losing money shows itself.

Large or janitorial (15 to 50+, bid contracts, night crews). Here you win or lose on the bid, and the bid is only as good as your cost model. Loaded labor and comp dominate, and commercial comp codes differ from residential, so confirm yours. A one-dollar error in your loaded rate, across thousands of hours a month, is the difference between a profitable contract and one you regret for a year.

Cost driver Solo Mid residential Large / janitorial
Biggest single cost Your own time Crew payroll + burden Contract labor + comp
Overhead per job High (few jobs) Moderate Low per job, high total
Sharpest risk Idle drive gaps Thin margin at volume Underpriced bid
First thing to fix Route density Cost per on-site hour by crew Loaded-rate accuracy

Illustrative. The cost stack is identical at every size; what changes is which line dominates.

The 1099 shortcut hides your real labor cost

It is worth saying twice because it is the most common way owners fool themselves. Paying cleaners as 1099 contractors makes payroll tax and comp look like they disappeared, so the job looks more profitable than it is. The work still carries that cost. It is parked as an unbudgeted liability that lands all at once if a state reclassifies your crew, and misclassification penalties in stricter states run into thousands of dollars per worker on top of back taxes (IRS worker classification).

The rule: price the work as fully burdened labor no matter how you pay people. If your prices only clear the floor when you pretend payroll tax does not exist, they are too low, and one audit turns a paper profit into a real loss.

Objections, answered straight

“I already know my numbers.” Test it: what does one on-site crew-hour cost you, fully loaded, including drive time, callbacks, and overhead? If you cannot say it to the dollar, you know your prices, not your costs. Only one of those tells you whether a quote makes money.

“My software already tracks job costing.” Jobber, Housecall Pro, and the rest can tag labor and materials to a job, which helps. But most owners never set the loaded labor rate, so the software costs the wage, not the burdened cost, and few spread drive time, callbacks, and overhead automatically. The tool is only as honest as the rates you feed it.

“I run 1099, so I have no payroll tax to count.” You have the cost, you just have not been billed for it yet. Price as fully burdened. If the classification is ever challenged, the burdened cost becomes real fast, and a business priced without it has no cushion.

“I do not have time to build a spreadsheet.” Build it once. Fifteen minutes gives you a break-even-per-hour number you reuse on every quote for a year. The alternative is working a full week at a loss and calling it a busy season.

The bottom line

A cleaning job does not cost what your cleaner earns. It costs loaded labor, payroll tax, workers’ comp, supplies, paid drive time, the callbacks you eat, and a fair slice of overhead. Add them honestly and most owners find their real margin is half what they assumed, which is exactly why a packed calendar still leaves the bank account flat.

Back to that 7:40am quote. Run the worksheet and the $150 clean you felt good about earned a couple of dollars, or nothing. That is not a reason to panic. It is the most useful number you will get all year, because now you can raise the quote, tighten the route, cut callbacks, or push the customer to recurring, and watch real profit appear on the same work. Know your floor first, and everything else gets easier.

How do I calculate the cost of one cleaning job?

Add up seven things: loaded labor (wage times roughly 1.15 for payroll taxes and workers' comp) times cleaners and on-site hours; paid drive time at the same rate; supplies and equipment (about $5 to $7 per house); a callback reserve spread across all jobs; and monthly overhead divided by job count. The total is your true cost per clean.

What is a good profit margin for a cleaning business?

Many well-run residential shops target roughly 10% to 25% net margin after all costs, but it depends entirely on your loaded labor rate and route density. The point of costing each job is to make sure your quotes clear your break-even revenue per on-site hour with margin left over, rather than chasing a benchmark you cannot verify against your own numbers.

Should I count my own time when I clean?

Yes. Owner labor is the most expensive time in the business, because every hour you clean is an hour you are not selling, hiring, or building systems. Pay yourself a realistic wage in the cost math. If the job only looks profitable when your own labor is free, it is not profitable, it is borrowing against your future.

Does paying cleaners as 1099 contractors lower my cost per clean?

It lowers the cost on the books, not the real cost of the work. If a state reclassifies your crew as employees, which is common in cleaning because scheduled, trained, supplied workers usually fail the contractor test, you owe back payroll taxes plus penalties. Price your labor as fully burdened regardless, so a reclassification does not turn a paper profit into a loss.

Why is my cleaning business busy but not profitable?

Almost always because your quotes sit below your true cost per clean, so filling the calendar loses money faster. The usual culprits: counting only on-site hours (not loaded labor and drive time), ignoring callbacks and overhead, and pricing off gut feel. Calculate your break-even revenue per on-site hour and reprice above it.

Ready to put this into practice?

Install the Cleaning Snapshot in 24 Hours

Every workflow above — already built, refined across 500+ cleaning operators, installed for you for $997 one-time.