QuoteKind pricing guide Free calculator

Residential cleaning pricing guide

How to price a house cleaning job without guessing

A practical quote starts with the work, not a copied market price. Estimate total crew hours, add the costs your business actually carries, protect a target gross margin, and check the result against your minimum charge.

Calculate a quote with your numbers See the worked example

This guide is for independent residential cleaners and small teams. It gives you an explainable starting method, not a universal price list. Your speed, labor burden, service standard, location and the condition of the home still matter.

Step 1

Define exactly what the quote includes

Before you estimate time, make the service boundary visible. “Clean a three-bedroom home” is not enough information. A useful scope should identify:

  • standard, deep, or move-in / move-out cleaning;
  • bedrooms and bathrooms, or cleanable square footage;
  • one-time or recurring frequency;
  • light, normal, or heavy current condition;
  • extras such as the oven, refrigerator, interior windows, cabinets, laundry or extra pet hair.

If an item is uncertain, label it as an assumption or inspect the property before promising a fixed price. A precise scope reduces both underquoting and customer confusion.

Step 2

Estimate total crew hours—not just time on site

Crew hours measure total labor. If two cleaners work for 2.5 hours each, the job uses 5 crew hours even though the team is on site for 2.5 clock hours.

Total crew hoursCleaners × hours eachUse this number to calculate labor and hourly overhead.
Expected time on siteCrew hours ÷ crew sizeUse this number to plan the visit and set client expectations.

A generic calculator can offer a starting estimate, but your walkthrough and job history should win. Override the estimate when access, clutter, buildup, fragile surfaces, pets or client standards make the job materially different.

Step 3

Turn the workload into total cost

Total cost should include the costs created by this job and a reasonable share of the costs required to run the business.

Loaded labor cost

Use employee wages or owner pay plus the payroll burden, legally required costs and insurance that apply to your business. Do not assume the hourly wage is the full labor cost.

Allocated overhead

Divide recurring business expenses—such as software, administration and insurance—by realistic billable crew hours, then allocate that amount to this job.

Direct job costs

Add supplies, consumables, travel, parking and any other cost caused by this specific visit.

Total cost Crew hours × (loaded labor cost + overhead per crew hour) + supplies + travel

Step 4

Convert total cost into a price using gross margin

Gross margin and markup are not the same. A 25% markup on a $100 cost produces a $125 price and a 20% gross margin. If you want a 25% gross margin, divide the cost by 0.75 instead.

Choose a target that fits your business rather than copying the example below. The calculator supports margin as an input because it makes the intended relationship between cost, price and gross profit explicit.

Worked example—not a local rate

A $178 quote from 3.5 crew hours and a 25% target margin

Total crew hours3.5
Loaded labor cost$25 × 3.5 = $87.50
Allocated overhead$6 × 3.5 = $21.00
Supplies + travel$15 + $10 = $25.00
Total cost$133.50
Target gross margin25%
Calculated price$133.50 ÷ 0.75 = $178.00

This example demonstrates the calculation only. It does not claim that $178 is appropriate in your city or for every three-bedroom home.

Try different assumptions in the free calculator

Step 5

Compare the result with your minimum charge

A small job can still require scheduling, communication, loading supplies, driving, parking and setup. A minimum charge protects those costs when the margin formula produces a number that is too low for a viable visit.

Final starting quote max(minimum charge, margin-based price)

The minimum is a business input, not a universal industry number. Build it from your own minimum visit economics and explain what the service includes.

Step 6

Review the quote before and after the job

Before sending the price, check for conditions that the basic formula does not know:

  • local taxes, licensing or invoicing requirements;
  • unusual access, parking, travel or security procedures;
  • hazardous conditions, biohazards or work outside your service boundary;
  • client priorities, exclusions and acceptance criteria;
  • whether the quoted scope is realistic for the planned crew.

After the job, compare estimated crew hours with actual crew hours. Record why they differed and update your own rules. That feedback loop is more valuable than repeatedly copying a competitor’s price.

What this method does—and does not do

It helps connect a defined residential cleaning scope to your own cost structure. It does not provide a local market rate, inspect the home, calculate taxes, guarantee a profit, replace legal or accounting advice, or decide whether a job is safe to accept.

Common questions

Should I price by the hour or by the job?

You can present one job price to the client while building it from estimated crew hours and your own costs. This keeps the client-facing quote simple without hiding the workload assumptions behind it.

Is gross margin the same as markup?

No. Gross margin divides gross profit by the final price, while markup divides gross profit by cost. To target a gross margin, divide total cost by one minus the target margin.

Does this method provide a local market rate?

No. It calculates from your assumptions and costs. You must still review local wages, taxes, competition, customer expectations and unusual property conditions.

Method notes and sources

The worked example uses illustrative assumptions entered into the Clean Quote Kit formula. For broader cost definitions, see the U.S. Bureau of Labor Statistics explanation of employer compensation costs and the U.S. Small Business Administration break-even guidance on fixed and variable costs.

Published: October 18, 2026 · Last reviewed: October 18, 2026