Pricing by Metro

Cleaning Business Pricing Strategy: How to Price for Profit

Answer

A cleaning company needs to bill $37-$40 per labor hour to hit a 20% net margin after accounting for full labor burden (wages plus 12.5% payroll tax, 5% workers' comp, benefits) and 15-20% overhead. Underpricing (reported by 43% of operators as their primary margin problem) stems from calculating wage only and missing the rest.

  • Fully loaded cost per billable hour: $25.84 (example: $16.50 wage + burden divided by 1,700 billable hours/year).
  • Commercial office cleaning: $0.08-$0.14/sq ft/month; medical office: $0.14-$0.22/sq ft/month.
  • Specialized verticals (medical, food service, data centers) support 20-40% premiums when positioning addresses compliance or risk.

43% of owners cite underpricing as primary margin problem

Opora Editorial team Published Updated 8 min read 1859 words Sourced & fact-checked
HomeOperator BlueprintMarketing for Cleaning CompaniesCleaning Business Pricing Strategy: How to Price for Profit

Cleaning Business Pricing Strategy: How to Price for Profit

By Opora Editorial Team16 min readUpdated continuously · In Marketing for Cleaning Companies

Free tool

Account Profitability Auditor

Know which customers are worth marketing to.

Open tool →

Most cleaning company pricing failures trace back to one habit: setting the price by asking what competitors charge, rather than building it up from actual labor cost, overhead, and target margin. Competitor-based pricing feels safer because it avoids the discomfort of quoting a number nobody else in the market is quoting, but it also means a company with lower efficiency or higher true costs than its competitors will slowly lose money on every job while believing it's being competitive.

Building a Price from the Labor Cost Up

Labor is the largest cost in cleaning, typically 50 to 60 percent of revenue for the industry according to BLS Occupational Employment and Wage Statistics data on janitorial and cleaning occupations, which puts median hourly pay for building cleaning workers in a range that varies meaningfully by state and metro area. A defensible price starts with the actual fully loaded labor cost per hour, wages plus payroll taxes plus workers' compensation premium (cleaning-specific NCCI classification codes run notably higher than general office work given the physical nature and injury frequency of the job) plus a share of benefits if offered, then adds supply cost, overhead allocation, and target profit margin on top.

ISSA's 447 cleaning times standard provides production rate benchmarks (square feet cleanable per hour by task and surface type) that let an operator estimate labor hours for a job from its actual specifications rather than guessing, which is the piece most owners skip when they price a walk-through by gut feel instead of by calculated hours.

Pricing Component What Gets Missed Why It Matters
Fully loaded labor cost Payroll taxes, workers' comp premium, benefits Wage alone understates true cost by 20-35%+
Supply and equipment cost Amortized equipment wear, not just consumables Under-recovered equipment cost erodes margin slowly
Overhead allocation Insurance, admin, vehicle, software per job Fixed costs must be spread across billable hours
Target margin Explicit target vs. whatever's left over Without a target, margin drifts down over time
Scope creep buffer Buffer for tasks beyond the original walkthrough Protects margin when actual scope exceeds the quote

Why Undercutting on Price Rarely Wins Long-Term

New cleaning businesses often price aggressively low to win the first few contracts, reasoning that volume will make up for thin margins. This works only if costs are genuinely lower than competitors', which is rare for a new entrant without established efficiency, and it sets a customer expectation that becomes very difficult to raise later without losing the account. A price increase from an already-thin margin looks larger in percentage terms to the client than a smaller increase from a properly priced starting point would, making the eventual correction more painful for both sides.

Handling Price Increases on Existing Contracts

Recurring commercial accounts should have a built-in annual review, tied to a specific trigger (minimum wage increases in the jurisdiction, supply cost inflation, or simply a fixed percentage) rather than an open-ended promise to "keep prices fair." Clients accept scheduled, explained increases far better than unexpected ones, and documenting the trigger in the original contract avoids an awkward renegotiation every time costs rise. A 3 to 7 percent annual adjustment tied to a stated cost driver is common practice and rarely causes account loss when communicated with 30 to 60 days' notice.

Pricing Different Service Lines With Different Logic

Treating recurring commercial janitorial, one-time deep cleans, and residential recurring service as if the same pricing formula applies to all three misprices at least two of them. Recurring commercial work tolerates thinner margins because volume and contract stability offset the lower per-visit profit, while one-time deep cleans and specialty jobs (post-construction, biohazard, move-out) justify materially higher margins because they carry more variability, more risk of scope surprises, and less opportunity to average costs across a long contract term. A single blended margin target applied uniformly across all three service types systematically underprices the recurring work and overprices, or occasionally underprices, the specialty jobs depending on which direction the blended assumption skews.

Bundling deserves separate pricing logic as well. A discount for bundling, say, offering a lower per-visit rate to a client who signs a 12-month contract instead of month-to-month, should be calculated from the actual reduced acquisition and scheduling cost of a longer commitment, not picked arbitrarily as a round number that feels generous. A bundle discount that isn't grounded in real cost savings quietly erodes margin on exactly the accounts that should be the most profitable, the long-term, low-churn ones.

Derive Your Burden Factor Instead of Guessing 1.3

"Wages plus 30 percent" is the rule of thumb everybody uses and almost nobody checks. It is wrong in both directions depending on your state, your experience modifier, and how much unbilled time your crews actually log. Build it once, line by line, on a $17.50 base wage:

Component Basis Typical shop High workers' comp state
Base wage : $17.50 $17.50
FICA 7.65% $1.34 $1.34
State unemployment Effective rate on taxable wage base $0.21 $0.53
Federal unemployment 0.6% on first $7,000 $0.02 $0.02
Workers' compensation Per $100 of payroll, janitorial class $1.14 $2.10
General liability allocation ~1% of payroll $0.18 $0.18
Paid time off and holidays 11 days of 260 $0.74 $0.74
Uniforms, onboarding, training Amortized per productive hour $0.35 $0.35
Non-productive paid time Travel between sites, meetings, ~6% $1.05 $1.05
Fully loaded hourly cost : $22.53 $23.81
Burden factor : 1.29 1.36

Model: Opora analysis. Pull your own workers' compensation rate from your policy declarations page (it is stated per $100 of payroll by class code) and your unemployment rate from your state's annual notice.

Two of those lines deserve attention because they move the most and get estimated the least. Workers' compensation in the janitorial classification is priced per $100 of payroll and varies by an order of magnitude between states, and your experience modifier multiplies whatever the base rate is. A shop with two lost-time claims can be paying double a clean competitor for identical work. That difference alone is seven points of burden, which is most of a margin.

Non-productive paid time is the other one. Every minute of drive time between two accounts on the same route is paid and unbillable, and it does not show up in a production-rate calculation at all. Multi-stop residential routes and scattered small commercial accounts can push this well past six percent, which is exactly why a tight geographic cluster prices better than a dispersed book at the same nominal rate.

Write the Escalation Clause Against a Published Index

A contract that promises an annual adjustment of "3 to 7 percent" invites a negotiation every single year, because the range implies discretion and discretion invites pushback. Tie it to a number neither party controls instead.

The right index for this business is the Employment Cost Index, which BLS publishes quarterly for wages and salaries by industry and occupational group. It measures the change in the cost of labor holding job mix constant, which is precisely the cost you are trying to pass through: unlike CPI, which tracks consumer prices and has no particular relationship to what you pay a cleaner. The Employment Cost Index release is public, dated, and citable in an invoice.

Clause language that has survived procurement review reads roughly like this: Effective each January 1, the monthly service fee shall be adjusted by the twelve-month percentage change in the Employment Cost Index, wages and salaries, private industry service-providing, most recently published by the U.S. Bureau of Labor Statistics as of the preceding October 31. Contractor shall provide written notice with the published figure not fewer than 45 days before the effective date.

Layer a second trigger underneath it for statutory wage increases, because those do not wait for January. Many states and cities now index their minimum wage annually, and a municipal living-wage ordinance attached to a building can move your cost mid-term. The Department of Labor maintains the state minimum wage table, and a clause allowing a pass-through of documented statutory increases within 30 days of the effective date is a normal ask that clients grant far more readily than a discretionary increase.

The behavioral payoff is bigger than the arithmetic. An increase arriving with a BLS release attached is a market fact. An increase arriving with a percentage you chose is an opening offer.

How Much Volume a Price Increase Can Afford to Lose

Owners hesitate on price increases because they picture losing accounts. Put a number on how many you can afford to lose and the fear usually turns out to be misplaced. If you raise price by x percent and your gross margin is m percent, you break even in gross profit dollars after losing:

Maximum tolerable volume loss = x ÷ (m + x)

Gross margin 3% increase 5% increase 8% increase
30% 9.1% 14.3% 21.1%
35% 7.9% 12.5% 18.6%
40% 7.0% 11.1% 16.7%

Model: Opora analysis. Read as: at a 35% gross margin, a 5% increase leaves you no worse off even if 12.5% of the affected revenue walks.

On a 40-account book at 35 percent margin, a five percent increase can cost you five accounts and you are still even on gross profit, while serving five fewer buildings, running fewer routes, and freeing supervision capacity. Realistically you will lose one or two, and both will be accounts that were price-shopping you anyway.

The table also explains why thin-margin work is a trap that closes behind you. At a 20 percent margin the same five percent increase tolerates a 20 percent volume loss, which sounds generous until you notice you needed the increase far more urgently and the accounts at that margin are the most price-sensitive in the book. Underpricing does not just cost you money today. It removes your ability to fix it later.

Frequently Asked Questions

What profit margin should a cleaning business target?
Net margins in the cleaning industry commonly run in the single digits to low teens depending on service mix and overhead efficiency, with commercial janitorial contracts often thinner than specialty or one-time residential work, so the target margin should reflect the specific service line being priced rather than a single blanket number.

Should pricing differ between a walk-through quote and a phone quote?
Yes for anything beyond simple recurring residential work; commercial space varies too much in condition, layout, and access for an accurate quote without seeing it, and quoting blind on complex jobs is a common source of scope creep and margin loss.

How do I know if I'm underpriced relative to true cost?
Track actual hours worked against quoted hours on a sample of jobs; if actual consistently runs higher than quoted, either the production rate assumptions or the walkthrough process needs correction before the next round of bids.

Is per-square-foot pricing or hourly pricing better for commercial contracts?
Per-square-foot pricing is standard for recurring janitorial contracts because it's predictable for the client and scalable for the vendor, while hourly pricing suits one-time or highly variable jobs where scope isn't well defined in advance.

How we built this guide

Opora editorial sources from BLS OEWS wage tables, ISSA-447 production rates, NCCI workers' compensation classifications, EPA List N, OSHA 29 CFR standards, and primary state regulatory filings. We don't recycle blog posts: we audit primary documents.

Methodology · Editorial standards · Corrections policy · About Opora

Marketing