What is profit margin in commercial cleaning?
At the account level, profit margin tells you how much of a customer's recurring revenue remains after the costs you assign to servicing that account. For an operating view, those costs may include cleaning labor, payroll burden, supplies, account-specific equipment, supervision and other recurring direct costs.
Account margin = account contribution ÷ revenue × 100. This is an account-level operating measure. It is not the same as company net profit after overhead, taxes and owner distributions.
Suppose an account bills $10,000 per month and costs $8,000 to service. The account contributes $2,000, which is a 20% contribution margin. The math is simple. Getting the $8,000 cost number right is the harder part.
Hourly wage is not your real labor cost
If a cleaner earns $18 per hour, the account usually costs more than $18 per labor hour. Employer payroll taxes, workers' compensation and other direct payroll costs can increase the economic cost of the crew. That is why a loaded labor view is more useful for contract profitability than wage alone.
If direct payroll burden adds 15% to an $18 wage, loaded labor is $20.70 per hour. On an account using 300 hours per month, base wages are $5,400 while loaded labor is $6,210—a difference of $810 before supplies, equipment or management costs.
See the full formula in Loaded Labor Cost for Commercial Cleaning. To isolate the labor share of a real account, use the Commercial Cleaning Labor Percentage Calculator.
A profitable-looking contract can hide a problem
Imagine an account billing $12,000 per month with $7,500 of loaded labor, $500 of supplies, $250 of equipment, $500 of account management and $250 of other direct costs. Total recurring cost is $9,000, leaving $3,000 of contribution and a 25% margin.
| Monthly item | Amount |
|---|---|
| Monthly revenue | $12,000 |
| Loaded labor | $7,500 |
| Supplies | $500 |
| Equipment | $250 |
| Account management | $500 |
| Other direct costs | $250 |
| Recurring cost | $9,000 |
| Contribution | $3,000 |
| Account margin | 25% |
Now assume actual labor quietly increases by 40 hours per month at a $22 loaded hourly cost. The account absorbs another $880 each month. Contribution falls to $2,120 and margin falls to about 17.7% even though the customer pays the same invoice and the contract remains active.
Why cleaning contract margins drift
Commercial cleaning contracts rarely become weak overnight. Margin often erodes through several small operating changes: extra labor hours, wage increases, overtime, additional customer requests, heavier supervision, higher supplies or work that was never incorporated into the original scope.
- Hours drift: actual cleaning time consistently exceeds the plan.
- Wage pressure: the staffing cost rises while customer pricing stays flat.
- Scope creep: recurring work is added without matching labor or price.
- Direct-cost growth: supplies, equipment or subcontracted work consume more of the monthly fee.
- Uncounted owner labor: owner cleaning time makes an account look healthier because the labor never reaches payroll.
See why a commercial cleaning contract can lose money even when revenue looks good and how to quantify commercial cleaning scope creep.
Use a target margin instead of a universal benchmark
There is no single account-margin percentage that fits every cleaning company. Wage markets, service frequency, building type, management structure, customer requirements and company overhead all differ. Set a target that fits your business, then compare each account's recurring result with that target.
If you are converting cost into a selling price, review Margin vs. Markup in Commercial Cleaning before applying a percentage. The same numeric markup and margin do not produce the same customer price.
Turn a margin gap into an operating decision
Finding a weak margin matters only if it leads to action. Separate the likely drivers. If hours are high but wage is on plan, the response may be operational. If hours are on plan but labor cost is high, wage pressure may require pricing. If operations are on plan and the account still misses its target, the original price or current scope deserves review.
If you are pricing a new opportunity, use the framework in How to Price a Janitorial Contract Without Guessing. If the account already exists, the better question is whether today's price still supports today's cost.
Check one real account
ProfitWatch is built around account-level profitability after the contract is won. Use the free Account Profitability Check to estimate one recurring cleaning account's contribution, target gap and possible pricing or labor response.