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.
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 type | Square feet |
|---|---|
| Open office, carpet | 22,000 |
| Conference rooms, carpet | 3,500 |
| Corridors and lobby, hard floor | 4,500 |
| Restrooms (6) | 1,500 |
| Breakrooms and kitchens | 1,000 |
| Storage and low traffic | 1,500 |
| Total cleanable | 34,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 type | Task set | Planning range (sq ft per cleaner-hour) |
|---|---|---|
| Open office, carpet | Trash, spot dust, vacuum | 3,500 to 5,000 |
| Private offices | Trash, dust, vacuum | 2,500 to 3,500 |
| Conference rooms | Reset chairs, trash, wipe table, vacuum | 3,000 to 4,000 |
| Corridors and lobby, hard floor | Dust mop, damp mop, glass, trash | 4,000 to 6,000 |
| Restrooms | Full detail, disinfect, restock | 400 to 700 |
| Breakroom and kitchen | Tables, counters, trash, mop | 1,200 to 2,000 |
| Storage and low traffic | Police, sweep, spot clean | 6,000 to 15,000 |
| Medical exam rooms | Disinfect touchpoints, restock, mop | 300 to 600 |
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.
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.
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.
| Component | Basis | Illustrative amount |
|---|---|---|
| Base wage | Local market rate | $17.00 |
| Employer FICA | 7.65% | $1.30 |
| FUTA and SUTA | 2.5% (varies by state) | $0.43 |
| Workers compensation | 4.0% (varies widely) | $0.68 |
| General liability and bond allocation | 1.5% | $0.26 |
| Paid holiday and PTO accrual | 3.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.
| Frequency | Visits per month | Hours per visit | Hours per month | Monthly price (illustrative) | Per cleanable sq ft |
|---|---|---|---|---|---|
| 5 nights per week | 21.67 | 12.15 | 263 | $8,630 | $0.254 |
| 3 nights per week | 13.00 | 13.37 | 174 | $5,980 | $0.176 |
| 1 night per week | 4.33 | 15.19 | 66 | $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.
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.
- 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.
- 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.
- 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 profile | Frequency | Target $/cleanable sq ft/month | Target bill rate per hour |
|---|---|---|---|
| General office, low restroom density | 5 nights | Your figure from Stage 6 | Your figure from Stage 7 |
| General office, low restroom density | 3 nights | Roughly 70% of the 5-night rate | Same or higher |
| Medical office | 5 nights | Higher, driven by exam room rates | Higher |
| Warehouse with office block | 3 nights | Blended: price the office block separately | Same |
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.
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.