Commercial cleaning profit margin

Commercial Cleaning Profit Margin: How to Know What Each Account Is Really Making

A commercial cleaning company can have plenty of revenue and still carry accounts that barely make money—or lose money every month. The useful number is what remains after the recurring cost of servicing each contract.

By ProfitWatch Team · Updated September 14, 2026

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 contribution = revenue − recurring account 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 itemAmount
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 margin25%

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.

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.

The practical comparison: What margin was this account supposed to produce, what is it producing now, and what recurring dollar gap must be recovered?

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.