The average net profit margin for a cleaning business is 15–30%. Most residential cleaning companies land between 15–25%; high-performing operations push to 28–35% through disciplined labor cost management and low no-show rates. Commercial cleaning typically runs thinner — 10–18% — due to equipment and supply overhead.
If you do not know your actual margin right now, you are not alone. Most cleaning business owners track revenue and assume the rest is profit. This guide covers how to calculate your real margin, why it is likely lower than you think, and seven specific moves to improve it — without raising prices on a single client.
What Is a Good Profit Margin for a Cleaning Business?
A net profit margin of 20–30% is strong for a residential cleaning business. Below 15% is a warning sign — it means the business is generating revenue but leaving very little after expenses. Above 30% is excellent and usually requires either premium pricing or very tight labor cost control.
Benchmarks by segment:
| Segment | Typical net margin | High-performer margin |
|---|---|---|
| Residential (solo/small) | 15–25% | 28–35% |
| Residential (10+ cleaners) | 12–22% | 25–30% |
| Commercial | 10–18% | 20–25% |
| Move-out / deep clean | 20–30% | 32–40% |
Move-out and deep clean jobs often have higher margins because they command premium rates while using the same labor pool. Recurring residential accounts trade some margin for volume and predictability.
Why the range is wide: The biggest variable is labor cost — it typically represents 50–70% of revenue. How efficiently you schedule routes, how often clients cancel without notice, and whether you have per-seat software fees eating into gross margin all determine where you land in that range. Most cleaning businesses that can not get past 15% are losing margin in at least two of these areas simultaneously — and do not know it because they track only total revenue.
Residential vs Commercial: How Margins Differ
Residential cleaning has simpler logistics — same cleaner, same address, predictable scope. Margins can be high if scheduling is tight and no-shows are controlled. The risk is per-seat software pricing: growing a residential team from 5 to 10 cleaners adds $120–$150/mo in software fees on platforms like ZenMaid or Jobber, directly compressing margin.
Commercial cleaning involves larger contracts, specialized equipment, and night/weekend shifts. Contracts are more stable but margins are lower because:
- Equipment amortization (floor buffers, commercial vacuums)
- Bonded and insured requirements add cost
- Contract pricing tends to be more competitive
- Larger teams mean more supervisory overhead
The key insight: residential cleaning can match or exceed commercial margins if labor is managed well. The path to 25%+ net margin in residential is controlling the three main leaks: no-shows, underpricing, and software overhead.
How to Calculate Your Cleaning Business Margin (Formula + Example)
Step 1: Calculate gross margin per job
Gross Margin = (Revenue − Cleaner Pay − Supplies) / Revenue × 100
Step 2: Calculate net margin
Net Margin = (Revenue − All Costs) / Revenue × 100
All Costs = Cleaner pay + Supplies + Insurance + Software + Marketing + Fuel + Owner overhead
Real example — biweekly residential clean:
| Item | Amount |
|---|---|
| Client pays | $180.00 |
| Cleaner payout (45%) | −$81.00 |
| Supplies | −$9.00 |
| Gross profit | $90.00 (50%) |
| Insurance (allocated per job) | −$8.00 |
| Software (allocated per job) | −$4.00 |
| Fuel / mileage | −$6.00 |
| Marketing (allocated per job) | −$5.00 |
| Net profit | $67.00 (37%) |
This example shows a healthy 37% net margin. Run the same math on a job where the cleaner payout is 55% and the address is 30 minutes away — margin drops to 18–22%.
The hidden problem: Most owners know the $180 revenue. Very few know the $67 net. Without per-job tracking, you cannot tell which clients are profitable and which ones barely break even. SweepOps calculates this automatically for every job — revenue, cleaner payout, and net margin appear together in the financial dashboard as soon as the job is closed, with no spreadsheet work required.
7 Ways to Improve Profit Margins Without Raising Prices
1. Eliminate no-shows with automated SMS reminders
Each no-show wastes a cleaner slot — the cost is 100% of the cleaner payout with zero revenue. If your no-show rate is 15% and you run 80 jobs per month, that is 12 lost slots. At $81 cleaner payout per slot, that is $972/month in pure margin loss — every month, forever, until you fix it.
Automated SMS reminders (booking confirmation, 24h reminder, change notification) consistently drop no-show rates from 15–25% to 2–5%. The math: recovering 10 of those 12 slots per month = $810/month added back to margin without acquiring a single new client.
SweepOps sends all three messages automatically — you configure the templates once and they fire on every job in the series. SMS is included in every plan starting at $29/mo, so there is no add-on cost to run the full reminder sequence. More on the setup: SMS reminders for cleaning businesses.
2. Switch to flat-rate software pricing
Per-user pricing directly compresses margin as you grow. ZenMaid charges $24/cleaner/month. Going from 5 to 10 cleaners adds $120/month to your software bill — permanently. At $180 average job revenue, that is the equivalent of losing one job per month, every month, to software fees.
SweepOps charges $49/month for up to 10 cleaners. The difference for a 10-person team: $240/month back to margin. That is $2,880/year.
Before vs After: Software cost impact on net margin (team of 10, 80 jobs/month)
| ZenMaid | SweepOps | Difference | |
|---|---|---|---|
| Software cost/mo | $289 + SMS | $49 | −$240+ |
| Cost per job | $3.61+ | $0.61 | −$3.00 |
| Impact on 20% net margin | −2% | — | +2% margin points |
3. Route-optimize your weekly schedule
Fuel and drive time are soft margin killers. A cleaner spending 45 minutes between jobs costs you in both fuel and opportunity. Grouping jobs by neighborhood — Monday in one area, Tuesday in another — can reduce per-job drive time by 30–50%, adding 2–4 margin points without changing prices.
4. Identify and reprice low-margin recurring clients
Not all recurring clients have the same margin. A client at a remote address, or one who requires two cleaners for a flat rate, may be generating negative margin after all costs. You need per-job data to find them — and most platforms do not provide it.
SweepOps lets you sort your recurring client list by margin. You can see instantly which accounts sit below your target threshold — and pull up the last 10 jobs for any client to confirm the pattern before having the repricing conversation.
The approach is not to fire low-margin clients but to reprice them. A 10–15% rate increase on a client you have served reliably for 18 months is defensible. Most accept it with 30 days’ notice and a short explanation.
5. Reduce cleaner turnover costs
Every new hire requires training, background checks, and a grace period of lower productivity. Industry estimates put the cost of replacing one cleaner at $1,000–$2,500 when you include recruiting time and reduced productivity during ramp-up.
The most effective retention tools are consistent scheduling (cleaners value predictability above almost everything), fair pay, and frictionless communication. Cleaners who can check their schedule on their phone without calling you — and who receive their job assignments automatically — stay longer. SweepOps gives each cleaner their own portal where they see their upcoming jobs, client details, and checklists without any manual distribution from your side.
6. Add move-out and deep clean services
One-time deep cleans and move-out cleanings have 5–10% higher margins than standard recurring cleans because they command $250–$450 per job versus $150–$200. Your existing team can handle them with minimal extra training. Adding 2–3 of these per month adds margin without adding headcount.
7. Automate payment collection
Late or missed payments have a real margin cost: the job is done, the cleaner is paid, but the revenue has not arrived. Automated payment reminders and a clear payment-due policy (card on file, pay-before-service for new clients) eliminate most collection friction.
How to Track Margins in Real Time
Manual margin tracking in spreadsheets works for 3–5 clients. At 30+ recurring clients, it breaks down — the data is always a week behind, and calculating per-job margin for 80 monthly jobs takes hours.
SweepOps shows revenue, cleaner payout, and net margin per job simultaneously in the financial dashboard. You can:
- Filter by client — see the full margin history for any recurring account
- Filter by service type — compare margins on standard cleans vs move-outs vs deep cleans
- Filter by date range — month-over-month margin trend
- Sort by margin — identify your lowest-margin accounts immediately
When you find a recurring client with a margin below your threshold, you have the data to have the pricing conversation — or to simply reprice the series starting from a future date.
See the full financial dashboard: features page. Pricing starts at $49/mo: pricing page.
FAQ: Profit Margins for Cleaning Businesses
What is the average profit margin for a cleaning business? The average net profit margin for a residential cleaning business is 15–25%. High-performing operations reach 28–35% by controlling labor costs and minimizing no-shows through automated reminders. Commercial cleaning margins are typically lower (10–18%) due to higher equipment and supply costs.
What is the difference between gross margin and net margin? Gross margin is revenue minus direct labor and supplies — typically 40–55% for residential cleaning. Net margin subtracts all overhead: software, insurance, marketing, fuel, and owner compensation. Net margin is the number that actually matters — it tells you what the business keeps after everything is paid.
How do I calculate profit margin for a single cleaning job? Use this formula: (Revenue − Cleaner payout − Supplies − Overhead allocation) ÷ Revenue × 100. Example: $150 job, $75 cleaner, $8 supplies, $12 overhead = $55 profit = 36.7% margin. The practical challenge is doing this for every job — which is why SweepOps calculates it automatically per job as part of its financial dashboard.
Why do cleaning businesses struggle financially even with full schedules? The most common cause is underpricing combined with invisible costs. When labor, fuel, insurance, and software fees are properly allocated, a seemingly busy business can have margins under 5%. Tracking margin per job — not just total monthly revenue — reveals which clients and service types are actually profitable.
Does SweepOps track profit margins automatically? Yes. SweepOps shows revenue, cleaner payouts, and net margin per job in real time. You can filter by client, service type, date range, or cleaner to see exactly where the business makes money — without any manual calculation. Start a free trial to see it in action.
What is the fastest way to improve cleaning business margins? Three highest-impact moves: (1) reduce no-shows with automated SMS reminders — each recovered slot is pure margin; (2) switch from per-user software pricing to flat-rate — saves $100–$300/mo for a 10-person team; (3) identify and reprice low-margin recurring clients using per-job profitability data.
If you are building the financial foundation for your cleaning business, these are the next reads: best cleaning business software for small teams, how much cleaning business software really costs, and how to automate your cleaning business.
Ready to see your real margins? SweepOps gives you a live financial dashboard — revenue, cleaner payouts, and net margin per job — from the first day you set up. 14-day free trial, no credit card: sweepops.co/register.
SweepOps serves cleaning companies across the US, including Florida, Texas, California, and New York.