All posts
MoneyApr 12, 20263 min read

How to Price Your Cleaning Services for Real Profit

Stop pricing your cleaning services like everyone else and going broke. Here's how to price for actual profit, hold your rates, and still book a full schedule.

Most new cleaning business owners price one of two ways:

  1. "What's the going rate?" → They Google what others charge and undercut by 10%.
  2. "Whatever the customer will pay." → They negotiate against themselves on every quote.

Both lead to the same place: working harder for less every single year.

Here's how to price your cleaning services for actual profit — from day one.

Start with the only number that matters: your hourly target

Forget the "average price per square foot." Forget what the company down the street charges.

Decide what you need to earn per hour to make the business worth doing. For most solo operators, that's:

  • $60–$90/hour as a beginner
  • $90–$150/hour once you're efficient
  • $150+/hour for specialty work (move-outs, post-construction, Airbnb)

If you're working for less than that, you have a job, not a business.

The pricing formula

For every job, your price should cover:

  1. Time (your hours × your hourly target)
  2. Drive time (yes — this is your time)
  3. Supplies ($8–$15 per job)
  4. Vehicle cost (~$0.65/mile)
  5. Profit margin (target 30%+)

Add it all up. That's your floor. Don't go below it. Ever.

Stop quoting by square footage

Square footage is a terrible pricing model because:

  • A 3,000 sqft minimalist house cleans in 2 hours
  • A 1,500 sqft house with 4 cats and 3 kids takes 4 hours

Quote based on time and condition, not size. Use square footage as a rough guide for your initial estimate, then adjust on a 5-minute walkthrough or photo review.

Always quote a range

Single price = customer treats it as a ceiling. Range = customer mentally lands in the middle.

  • "Initial deep clean: $325–$400"
  • "Recurring biweekly: $155–$185"

Then anchor: "Most homes like yours land around $360 for the deep clean and $170 recurring."

Done.

How to handle "that seems high"

You don't lower the price. You either:

  1. Reduce scope ("We can stay under $300 if we skip baseboards and inside the fridge.")
  2. Lower frequency ("We could do monthly instead of biweekly.")
  3. Walk away ("Totally understand — we may not be the right fit.")

The customer who pushes back on a fair price is rarely a customer worth having anyway.

Related: Why recurring revenue is a cleaning business's superpower →

Recurring should NOT be a steep discount

A common mistake: "Deep clean is $400, recurring is $80."

That's not a discount, it's a cliff. You'll resent every recurring visit by month 3.

Recurring should be priced to reflect:

  • Less time (the house is being maintained)
  • Predictability (auto-pay, locked schedule)
  • Loyalty (you're not re-selling every visit)

A reasonable recurring discount is 20–35% off the deep clean rate — not 75%.

Raise prices every 12 months

Costs go up. Your prices should too. Most cleaning operators never raise prices and wonder why margins shrink every year.

Once a year:

  • Raise new-customer pricing by 5–10%
  • Notify recurring customers of a 3–5% increase 60 days out
  • Frame it: "To keep providing the quality you're used to..."

Almost no one cancels. The few who do were marginal anyway.

The mindset shift

You are not selling a commodity. You are selling:

  • Their Saturday back
  • A clean home they didn't have to think about
  • The peace of walking in after a long week

Price like that's worth something — because it is.

The bottom line

Cheap prices don't win. Cheap prices trap you in a business you'll grow to hate.

Price for profit, hold your rates, and walk away from the customers who don't see the value. The right ones — the ones who'll stay for 5+ years — are happy to pay.

See the pricing playbook inside CleanBucks →

Ready to actually start?

See if your area is still open and get the full system — branding, website, app, training, and a protected territory — running in 7 days.

Keep reading