Price Per Square Foot for Commercial Cleaning: Build Your Own Rate Card

Turn square footage, production rates and loaded labor cost into a defensible price per square foot, then build a rate card from one worked example.

CleanTrack360 Team
June 25, 202614 min readUpdated August 1, 2026

The bid that kills a cleaning company is almost never the one you lose. It is the 40,000 sq ft office park you won at a nickel a foot, staffed for 8 hours a night when the work honestly takes 12, quietly losing money every single night for the next 36 months.

Most operators get there the same way: they hear a number at a trade show, apply it to a building they walked for 15 minutes, and call it pricing. It is not pricing. It is guessing with a decimal point.

Price per square foot is an output, not an input. Calculate labor hours from production rates, multiply by fully loaded wage, add supplies, overhead and profit, then divide the monthly total by cleanable square feet. Most office pricing lands in cents per square foot per month, and the frequency drives it more than anything else.

What follows is the sequence in the order a real estimator works it. Eight stages, each with an input you gather and an output you carry into the next stage. At the end you will have a rate card built from your own cost structure, not somebody else's.

Key Takeaway: If you cannot show a prospect the hours behind your price, you do not have a price. You have a hope.

Stage 1: What square footage do you actually price on?

Input: the floor plan, the lease number the property manager gives you, and your own walkthrough. Output: a single cleanable square footage number, broken out by floor.

The number on the lease is rentable square footage. It usually includes a share of shafts, mechanical rooms, exterior wall thickness and common areas you may or may not touch. Pricing off it inflates your footage and deflates your per-foot rate, which makes you look cheap to yourself and to the client.

Walk the building with a laser measure and a printed plan. Mark what you clean, what you skip, and what gets cleaned on a different frequency than the rest.

Walkthrough measurement checklist

  • Total rentable square footage per the property manager
  • Deduct unoccupied suites, mechanical rooms, electrical closets, elevator shafts
  • Deduct tenant-cleaned areas (server rooms, labs, secure storage)
  • Count restroom fixtures, not just restroom square footage
  • Count entrances, elevators, stairwells and landings
  • Note floor type by area: carpet, VCT, sealed concrete, LVT, terrazzo, ceramic
  • Photograph anything that will slow a cleaner down: glass walls, open ceilings, heavy furniture, exterior mat conditions

Before you move on: your cleanable footage must add up to the sum of your task areas in Stage 2. If it does not reconcile, you missed a space.

Stage 2: How do you split the building into task areas?

Input: cleanable square footage from Stage 1. Output: a table of square feet by space type, totaling exactly your cleanable figure.

A restroom does not clean at the same speed as an open office. Averaging them together is the single biggest source of underbidding in this industry, because restrooms and breakrooms are a small share of the footage and a large share of the hours.

Use our illustrative building for the rest of this article: Meridian Office Park, 40,000 sq ft rentable, 34,000 sq ft cleanable after deductions, six restrooms, serviced five nights a week.

Space typeSquare feet
Open office, carpet22,000
Conference rooms, carpet3,500
Corridors and lobby, hard floor4,500
Restrooms (6)1,500
Breakrooms and kitchens1,000
Storage and low traffic1,500
Total cleanable34,000

Before you move on: every square foot has a space type and a scope. If you cannot name the tasks performed in an area, you cannot rate it.

Stage 3: What production rate should you use per space type?

Input: your task-area table. Output: labor hours per service visit.

A production rate is how many square feet one cleaner covers in one hour performing a defined set of tasks. Divide the area by the rate and you get hours. That is the entire mechanism.

The planning ranges below are the kind of starting figures operators use before they have their own timing data. Treat them as placeholders, not truth.

Space typeTask setPlanning range (sq ft per cleaner-hour)
Open office, carpetTrash, spot dust, vacuum3,500 to 5,000
Private officesTrash, dust, vacuum2,500 to 3,500
Conference roomsReset chairs, trash, wipe table, vacuum3,000 to 4,000
Corridors and lobby, hard floorDust mop, damp mop, glass, trash4,000 to 6,000
RestroomsFull detail, disinfect, restock400 to 700
Breakroom and kitchenTables, counters, trash, mop1,200 to 2,000
Storage and low trafficPolice, sweep, spot clean6,000 to 15,000
Medical exam roomsDisinfect touchpoints, restock, mop300 to 600
Source: ISSA publishes task-level cleaning times in its Cleaning Times reference; APPA publishes custodial staffing guidelines built around five appearance levels for education facilities. Both are worth buying if you bid buildings of any size.

Applying mid-range rates to Meridian: open office at 4,000 gives 5.50 hours, conference at 3,500 gives 1.00, hard floor at 5,000 gives 0.90, restrooms at 550 give 2.73, breakrooms at 1,500 give 0.67, storage at 6,000 gives 0.25. That is 11.05 hours of task time.

Add a productivity allowance for setup, cart loading, floor-to-floor travel, trash haul-out to the compactor and restocking. Ten percent is a common planning figure, which brings Meridian to 12.15 hours per night.

馃挕 Tip: Time your own crews for 30 nights on a building you already run, then replace these planning rates with your real numbers. Your rates are affected by your equipment, your training and your turnover, and no published table knows any of that.

Before you move on: your hours per visit must reflect the actual scope you are proposing. If you priced nightly restroom detail but the spec says twice weekly, go back and fix it now, not after signature.

Stage 4: What does an hour of cleaning labor really cost you?

Input: your local wage for the position. Output: a fully loaded hourly cost.

Base wage is roughly half the conversation. Employer FICA is 7.65 percent of wages, 6.2 percent Social Security plus 1.45 percent Medicare. FUTA is 6.0 percent on the first $7,000 of wages with a credit of up to 5.4 percent for timely state unemployment payments, so most employers land near 0.6 percent effective.

Source: IRS Publication 15, Employer's Tax Guide. For local wage benchmarks, use the BLS Occupational Employment and Wage Statistics series for Janitors and Cleaners, Except Maids and Housekeeping Cleaners (SOC 37-2011), which reports by metro area.

Workers compensation rates vary heavily by state and by classification code, so pull your own declaration page rather than using anyone's example. The table below uses illustrative figures to show the shape of the buildup.

ComponentBasisIllustrative amount
Base wageLocal market rate$17.00
Employer FICA7.65%$1.30
FUTA and SUTA2.5% (varies by state)$0.43
Workers compensation4.0% (varies widely)$0.68
General liability and bond allocation1.5%$0.26
Paid holiday and PTO accrual3.0%$0.51
Fully loaded hourly cost$20.18

Before you move on: if your loaded rate is not at least 15 percent above base wage, you have left something out. Go find it.

Stage 5: How does frequency change the price per square foot?

Input: hours per visit and loaded labor cost. Output: monthly labor cost at the contracted frequency.

Convert weekly frequency to monthly visits by multiplying by 52 and dividing by 12. Five nights a week is 21.67 visits per month, three nights is 13.00, once a week is 4.33. Using 4 visits per month for a weekly account quietly gives away four visits a year.

Hours per visit do not stay flat when you cut frequency. Trash volume, restroom condition and dust load all accumulate between visits, so a three-night account typically needs more time per visit than a five-night account in the same building.

FrequencyVisits per monthHours per visitHours per monthMonthly price (illustrative)Per cleanable sq ft
5 nights per week21.6712.15263$8,630$0.254
3 nights per week13.0013.37174$5,980$0.176
1 night per week4.3315.1966$2,660$0.078

Notice the teaching point buried in that table. Dropping from five nights to three cuts visits by 40 percent but cuts price by only about 31 percent, because per-visit time rises and your fixed periodic work does not shrink.

This is also why a bare "we charge $0.12 a square foot" claim is meaningless. Without frequency and scope attached, the number describes nothing.

Stage 6: What do you add on top of labor before you quote?

Input: monthly labor cost. Output: total monthly direct cost, then price.

Meridian at five nights: 263 hours multiplied by $20.18 gives $5,307 in monthly frontline labor. Now stack the rest of the direct costs.

  • Supervision: a working supervisor visiting three hours per week at a loaded $26 comes to roughly $338 per month.
  • Chemicals and liners: budget an allowance per month rather than guessing per foot. Use $210 for this example.
  • Equipment allocation: vacuums, a burnisher, an auto-scrubber and cart replacement amortized across accounts. Use $120 per month.
  • Periodic work: quarterly hard floor scrub and recoat plus semiannual carpet extraction, amortized monthly. Use $325 per month.

Direct cost totals $6,300 per month. Now apply the markup that covers overhead and profit, and apply it as a divisor, not a multiplier.

If overhead runs 15 percent of revenue and you target 12 percent net, divide by (1 minus 0.27), which is 0.73. So $6,300 divided by 0.73 equals $8,630 per month.

馃挕 Tip: Multiplying cost by 1.27 is not the same as dividing by 0.73. The multiplier gives you $8,001 and a net margin around 5 percent, not 12. This arithmetic error is worth thousands of dollars a year on a single mid-sized account.

Price per cleanable square foot per month: $8,630 divided by 34,000 equals $0.254. Per rentable foot it is $0.216. Always state which one you used.

Stage 7: How do you check the number before it goes in the proposal?

Input: your quoted monthly price. Output: a go or no-go decision, with the reason written down.

Run three cross-checks. Each one catches a different kind of error, and together they catch nearly everything.

  1. Bill rate per labor hour. $8,630 divided by 263 hours equals $32.81 per cleaning hour, which is 1.93 times the $17.00 base wage. If your multiple falls below what your overhead structure needs, the bid is wrong regardless of what the per-foot number looks like.
  2. Labor as a share of price. Loaded frontline labor is $5,307 of $8,630, or 61.5 percent. Compare that against the band your other profitable accounts run at. A sudden outlier means your production rates are off.
  3. Per-foot reasonableness. Compare $0.254 against what you know this market pays for comparable scope and frequency. If you are far above, the gap is almost always in scope or production rates, not greed.

When the checks disagree with each other, the hours are usually the culprit. Go back to Stage 3 and re-time the restrooms, because restrooms are where estimating optimism hides.

Before you move on: write down the assumed hours per visit somewhere the operations team will see it. That number becomes the staffing target on day one and the variance report on day 30.

Stage 8: How do you turn one building into a rate card?

Input: three to five buildings priced this way. Output: a one-page rate card your estimators can quote from in 20 minutes.

Once you have run the full sequence on several real buildings, you can work backward and publish internal ranges. The rate card is not the pricing method. It is a shortcut that your method validated.

Building profileFrequencyTarget $/cleanable sq ft/monthTarget bill rate per hour
General office, low restroom density5 nightsYour figure from Stage 6Your figure from Stage 7
General office, low restroom density3 nightsRoughly 70% of the 5-night rateSame or higher
Medical office5 nightsHigher, driven by exam room ratesHigher
Warehouse with office block3 nightsBlended: price the office block separatelySame

Fill that card with your own numbers, and add two guardrails: a minimum monthly billing that no account can go below, and a minimum bill rate per hour that no estimator may override without your signature.

Then close the loop. Compare actual clocked hours against the bid hours for the first 60 to 90 days of every new account. A building running 14 hours a night on a 12.15-hour bid is not a labor problem, it is a rate card that needs correcting before you quote the next one like it.

Key Takeaway: The per-square-foot figure is a communication tool for the client and a sanity check for you. The hours are the product you are actually selling.

Frequently asked questions about square foot pricing

Should I put the per square foot rate in the proposal or just the monthly price?

Quote the monthly price as the contract number and show the per-foot figure only as supporting detail. Publishing a per-foot rate invites the client to apply it to spaces you never measured, and to demand the same rate when they add a warehouse or a medical suite. Monthly pricing keeps the scope and the price attached to each other.

A competitor bid the same building at half my price per square foot. What do I do?

Convert their price to hours. Divide their monthly number by a realistic loaded wage plus overhead and see how many cleaner-hours per night it buys. If the answer is six hours where the work takes twelve, you now have a specific, concrete talking point for the property manager instead of a vague claim about quality. Some of those bidders will discover the same math in month four.

Do paper products and can liners belong in the per square foot price?

Liners generally yes, since you control the volume. Paper and soap consumption is driven by building occupancy, which you do not control, so many operators bill consumables at cost plus a handling percentage on a separate line. If the client insists on an all-in number, cap it: state an annual allowance in the contract and a mechanism for reviewing it if occupancy changes materially.

How do I price a building I cannot walk before the bid is due?

Ask for a floor plan with square footage, a fixture count for restrooms, a floor type breakdown and a photo set. Then price it, and add an explicit condition to the proposal stating that the price assumes the stated square footage and floor mix, and will be re-quoted if the walkthrough shows otherwise. Never bid blind without that clause.

Should a multi-year cleaning contract include an annual price increase?

Yes, and write it in before signature rather than negotiating it later. Wage pressure and workers compensation rates move every year, and an account priced correctly in year one can be underwater by year three. A simple annual adjustment clause tied to a stated percentage or a published wage index is far easier to sell at signing than a mid-term increase request.


Where CleanTrack360 fits

The math above works on paper. It works better when the inputs live in one place. CleanTrack360 includes a quoting calculator that prices on square footage, frequency, labor and supplies, so the sequence in this article becomes a form your estimators fill in rather than a spreadsheet that only one person understands. Finished quotes go out as branded PDF proposals with open tracking, so you know when the property manager actually opened it.

The other half is closing the loop after you win. Geofenced GPS clock-in and clock-out runs in the crew's phone browser, with a default 150 m radius you can configure per location, and reports export to CSV so you can compare actual hours against the hours you bid. Plans start at $99 per month for up to 5 team members, $199 for up to 20 and $249 for up to 50, priced per plan rather than per user, with a 14-day free trial and no credit card required.

Ready to see it in action?

Start your free 14-day trial. No credit card required.