Most cleaners know what they charge. Far fewer know what they earn. Those are two different numbers, and the gap between them is where cleaning businesses quietly lose money. A $150 flat-rate clean sounds like a good day until you factor in a 25-minute drive each way, a client who always asks you to stay 45 minutes past the quote, and $9 in supplies. Suddenly that $150 job pays less per hour than the $110 clean ten minutes from your house.

This post walks through how to calculate your real hourly rate for each client, what data you need to collect, and how to use the numbers to keep, reprice, or let go of accounts. You don’t need a spreadsheet degree. You need a few weeks of honest tracking and about twenty minutes of math.

Why Your Quoted Rate Lies to You

The quoted rate is revenue divided by the hours you planned to work. Your real rate is revenue minus costs, divided by every hour the job actually consumed. The hours that go missing from the first calculation are usually these:

  • Drive time — the 20 minutes to get there and 20 back are unpaid, but they belong to that job.
  • Overrun — the 2.5-hour quote that takes 3.25 hours because of a dirty oven nobody mentioned.
  • Setup and wrap-up — loading the car, unloading, restocking, wiping down tools. Usually 15 to 30 minutes per job.
  • Admin — texting to confirm, rescheduling, sending invoices, chasing payments. A client who pays late and reschedules twice a month costs you real hours.
  • Consumables — microfiber wear, chemicals, vacuum bags, gloves. Typically $4 to $12 per standard home.

Add those up for a typical job and you’ll often find you’re working 30 to 40 percent more hours than you billed. A “$50 an hour” business can easily be a $33 an hour business once you count the whole picture.

Revenue per clean is a vanity number. Profit per hour of your actual life is the one that pays the bills.

The Real Hourly Rate Formula

Keep it simple. For each job:

  1. Start with what the client paid (including any tip you want to count, but track it separately).
  2. Subtract direct costs: supplies, any payment processing fee, and mileage (use the IRS rate, which was 70 cents per mile for 2025; check the current year’s figure).
  3. Divide by total time: drive there + setup + cleaning + wrap-up + drive back.

Here’s a worked example. Client A pays $160 for a three-bedroom house. The drive is 12 minutes each way, you spend 3 hours cleaning, 20 minutes on setup and wrap-up. Supplies run $7, mileage is 8 miles round trip ($5.60), card fee is about $5.

  • Net: $160 − $7 − $5.60 − $5 = $142.40
  • Total time: 24 min driving + 180 min cleaning + 20 min setup = 224 minutes, or 3.73 hours
  • Real hourly rate: $38.18

Now Client B pays $175 for a similar house, but it’s 35 minutes away each way and the job takes 3 hours 30 minutes because of pet hair and a cluttered kitchen. Mileage is 40 miles round trip ($28), supplies $9, fee $5.50.

  • Net: $175 − $9 − $28 − $5.50 = $132.50
  • Total time: 70 min driving + 210 min cleaning + 20 min setup = 300 minutes, or 5 hours
  • Real hourly rate: $26.50

Client B pays $15 more per visit and earns you $11.68 less per hour. That’s the whole lesson in two examples.

What to Track for Two to Four Weeks

You can’t calculate any of this from memory. Memory is generous; it rounds down the time you spent and forgets the times you stayed late. For a few weeks, record these for every single job:

  • Leave-home and arrive times — so drive time is measured, not guessed.
  • Start and finish times on site — the clock, not your feeling about it.
  • Quoted time vs. actual time — the variance is the most useful column you’ll have.
  • Supplies used — a rough per-job number is fine. Estimate from monthly spend divided by jobs.
  • Notes on surprises — extra mess, access problems, a client chatting for 20 minutes, a last-minute add-on you did for free.

Do this in whatever way you’ll actually stick with. A notes app works. A paper log in the car works. A job app is better because the data lands next to the client record automatically. ShineBook tracks job times and works offline, which matters when you’re in a basement client’s house with no signal, and it keeps each client’s history in one place so you can compare visits side by side later.

Two weeks of honest timestamps will teach you more about your business than two years of gut feeling.

Sorting Clients Into Four Buckets

Once you have numbers, resist the urge to react to individual bad days. Look at the average across at least three visits per client, then sort everyone into one of four buckets. Set a target first. A reasonable solo-operator target is a real hourly rate of at least $35 to $45 in most markets, higher in expensive metros. Pick yours based on what you need to earn after taxes, not what feels fair.

  • Stars (above target by 15%+) — protect these. Send a thank-you, offer priority scheduling, and don’t raise their price too aggressively. Their referrals are worth more than a small bump.
  • Solid (within 15% of target) — the backbone. Leave them alone and apply your normal annual increase.
  • Fixable (15 to 35% below target) — the problem has a cause you can address: price too low, time quote too short, or a route issue. Fix the cause.
  • Drains (more than 35% below target) — these cost you money relative to what else you could do with that time slot. Reprice hard or release them.

Be careful about one thing: don’t judge a client only by hourly rate if they fill a gap in your route. A $30 an hour job sandwiched between two others, with zero added driving, is better than an empty hour. The comparison isn’t to your target; it’s to the best alternative use of that slot.

Fixing the Fixable Clients

Most underperforming accounts aren’t bad clients. They’re badly quoted. Here are the levers, in the order I’d pull them.

1. Correct the time estimate. If you quoted 2.5 hours and the average actual is 3.25 across five visits, your price was built on fiction. Reprice on the real number. You can say plainly: “After a few visits, I’ve found your home needs about 3 hours and 15 minutes to do properly, so I’m adjusting the rate to $X.” Clients respect specifics.

2. Add a distance or travel surcharge. A flat $10 to $20 for anything beyond 15 miles of your base is common and defensible. Apply it to new clients first.

3. Charge for what keeps showing up. If the oven, fridge, or pet hair is a regular feature, make it a standing add-on rather than free work. Name the price and the reason.

4. Tighten the route. Sometimes the client is fine and the day is badly sequenced. Moving a far-away client to the same day as another far-away client can save 40 minutes of driving a week.

5. Change the frequency. Biweekly homes get dirtier between visits and take longer. If a weekly client takes 2 hours and the same home biweekly takes 3 hours, price the biweekly visit accordingly.

Ready to put this into practice? Download on the App Store — it’s free and works offline.

Having the Price Conversation Without Losing the Client

Raising prices on an existing client feels risky, but the data makes it easier. You’re no longer saying “I need more money.” You’re explaining a change grounded in the work. Keep these principles in mind:

  • Give notice — 30 days is standard. Put it in writing, by text or email, so there’s a record.
  • Keep it short — two or three sentences. Long apologies invite negotiation.
  • Offer a choice when it fits — the new rate for the full scope, or a reduced scope at the old rate. Dropping the baseboards and inside-window work might bring the time back in line.
  • Expect some churn — if you raise Fixable and Drain clients and two of ten leave, that’s often a net win. You regain their hours for better-paying work.

A sample message: “Hi Dana, quick update. Over the last few months I’ve tracked the time your home takes, and it’s averaging about 3.25 hours. Starting next month, your rate will be $185 per visit. If you’d prefer to keep the current rate, I can adjust the scope to fit 2.5 hours — just let me know which you’d like.”

That’s clear, polite, and gives them agency. Most clients take the increase. They’d rather keep a reliable cleaner than start over.

Knowing When to Let a Client Go

Some accounts can’t be fixed. Signs it’s time to part ways: the client refuses any increase while demanding more scope, cancels at the last minute more than twice a quarter, pays late repeatedly, or consistently runs you 45 minutes over with new requests. If after repricing a client still sits more than 35 percent below target, you’re subsidizing them.

Let them go kindly and early. Give two weeks of notice, thank them, and if you know a cleaner who might suit them better, offer a name. Then fill the slot. The slot is the asset. A cleaner with a waiting list or even a modest pipeline of inquiries can replace a $26 an hour client with a $42 an hour client within a month.

Dropping your worst client isn’t a loss. It’s the cheapest raise you’ll ever give yourself.

Make It a Quarterly Habit

Run this review every quarter, not every week. Weekly numbers are noisy; quarterly numbers show the pattern. A 30-minute session is enough:

  1. Pull each client’s last three to five visits and average the actual time.
  2. Recalculate real hourly rate with current mileage and supply costs.
  3. Sort into the four buckets.
  4. Pick the one or two worst clients and take one action on each: reprice, rescope, or release.
  5. Note your overall average hourly rate and track whether it’s rising.

If you also run other income streams, apply the same thinking across them. Plenty of solo operators pair cleaning with seasonal work. If you mow lawns in the summer, LawnBook handles the same kind of client and route management for lawn care, and the real-hourly-rate math works identically: revenue minus costs, divided by every hour the job consumed. And if you’re juggling cleaning with freelance or side work and want a clearer view of your time and self-employment finances, Stintly is built for tracking time and small business income across everything you do.

Across all of this, the point is the same. Your calendar is the scarcest thing you own, and every slot should earn its place. Track the real hours, calculate the real rate, and let the numbers make the uncomfortable decisions easier. A business that quietly grows from $34 to $42 an hour through repricing and better routing makes about $16,000 more a year on a 40-hour billable week at 40 weeks. That’s not from working harder. It’s from knowing what your work is actually worth.