Commercial Cleaning Bid Calculator: The Formula Behind the Numbers
TLDR
To calculate a commercial cleaning bid: divide each area by its ISSA production rate to get labor hours, multiply by your fully-loaded labor rate, then add materials (5-10%), overhead (10-20%), and your target margin (15-25%). For a typical 15,000 sq ft office cleaned 5 nights per week, expect a monthly price in the $1,600-$1,900 range — around $0.11/sq ft.
- ISSA Production Rate
- A cleaning time standard published by the Worldwide Cleaning Industry Association (ISSA). It defines how many square feet a single cleaner can complete per hour for a specific task — vacuuming, mopping, restroom cleaning, and others. Dividing an area by its production rate gives the labor hours required per visit.
DEFINITION
- Fully-Loaded Labor Rate
- The true cost of one hour of cleaner labor to the company. Includes the hourly wage plus employer-side payroll taxes (FICA), workers compensation insurance, and any benefits. Typically 25-40% higher than the wage rate alone.
DEFINITION
- Burden Rate
- The percentage added on top of wages to account for payroll taxes, workers comp, and benefits. A burden rate of 35% means a $20/hr wage becomes a $27/hr fully-loaded cost. Every bid must use the fully-loaded rate, not the wage.
DEFINITION
- Scope of Work
- The written task list in a cleaning contract that defines every area, every task, and the cleaning frequency. Bids are built directly from the scope. Tasks outside the scope cannot be billed without a change order.
DEFINITION
- Overhead Rate
- Fixed monthly business costs — insurance, vehicles, equipment, software, management — expressed as a percentage of revenue. Calculating and including this rate in every bid is what separates profitable companies from ones that win contracts but lose money.
DEFINITION
Why Square-Footage Calculators Get It Wrong
Search for “commercial cleaning bid calculator” and you’ll find tools that take square footage, multiply by a rate like $0.10/sq ft, and hand you a number. That works if every building were a warehouse with two restrooms and no carpet. Most aren’t.
The problem is that labor doesn’t scale uniformly with square footage. A 15,000 sq ft office with 8 restrooms takes substantially more labor than a 15,000 sq ft open warehouse. A flat calculator treats them identically.
The formula that works is task-based: divide each area by its specific ISSA production rate, sum the hours, and build cost from there. It takes more steps, but every number is traceable and defensible.
The Bid Calculation Formula
The full formula has five components:
Monthly Price = (Labor Hours x Fully-Loaded Rate) + Materials + Overhead + Margin
Each component requires its own calculation. Here’s how to work through them.
Step 1: Measure and Classify Every Area
Walk the site before running any numbers. Log square footage by floor type:
- Carpet: log open-plan and cubicle-dense areas separately, since layout affects vacuuming speed significantly
- Hard floor: note the material (VCT, polished concrete, tile) since each has a different mop production rate
- Restrooms: count fixtures (toilets, sinks, urinals) since restroom labor is per fixture, not per square foot
- Kitchen and break rooms: higher labor density than offices, price them separately
Get the property manager’s CAD drawings if available. If not, walk with a laser measure. Floor plan estimates from memory are how bids go wrong before the math even starts.
Step 2: Apply ISSA Production Rates
ISSA (the Worldwide Cleaning Industry Association) publishes production rate standards for commercial cleaning tasks. These are the industry baseline for calculating how long each task takes.
Common ISSA benchmarks:
| Task | Production Rate |
|---|---|
| Vacuuming open-plan carpet | 3,000-5,000 sq ft/hr |
| Vacuuming cubicle-dense carpet | 2,000-3,500 sq ft/hr |
| Damp mopping hard floors | 2,500-4,000 sq ft/hr |
| Restroom — toilet | 5 min/fixture |
| Restroom — sink | 3 min/fixture |
| Restroom — urinal | 4 min/fixture |
| Trash removal | 1.5 min/stop |
Divide each area’s square footage by the applicable production rate to get hours per task per visit.
Your actual rates will shift with building layout, obstruction density, and crew experience. Start with ISSA rates and track your actuals job by job until you have your own benchmarks.
Step 3: Calculate Restroom and Trash Labor Separately
Restroom labor is the most common source of underbidding. Square footage means little in a restroom — what matters is the fixture count.
Restroom formula:
(Toilets x 5 min) + (Sinks x 3 min) + (Urinals x 4 min) = minutes per restroom visit
Trash removal follows a similar pattern — it’s about stops, not square footage:
Number of trash cans x 1.5 min = minutes per visit for trash
Count fixtures and trash stops during the site walk. Buildings with high fixture counts will always be underbid if you rely on square footage alone.
Worked Example: 15,000 Sq Ft Office Building
This is a realistic mid-size commercial account. Walk through the math at each step.
Building specs:
- 12,000 sq ft open-plan carpet offices
- 3,000 sq ft hard floor (common areas and kitchen)
- 8 restrooms: 24 toilets, 16 sinks, 8 urinals
- 40 trash stops throughout the building
- Cleaning frequency: 5 nights per week (weeknights)
Task 1: Vacuuming Carpet
12,000 sq ft ÷ 4,000 sq ft/hr (mid-range ISSA rate) = 3.0 hrs/night
Task 2: Mopping Hard Floors
3,000 sq ft ÷ 3,000 sq ft/hr = 1.0 hr/night
Task 3: Restrooms
24 toilets x 5 min = 120 min
16 sinks x 3 min = 48 min
8 urinals x 4 min = 32 min
--------
Total = 200 min = 3.33 hrs/night
Across 8 restrooms that’s 25 minutes per restroom — reasonable for a standard commercial account.
Task 4: Trash Removal
40 stops x 1.5 min = 60 min = 1.0 hr/night
Total Labor Hours Per Night
Vacuuming: 3.0 hrs
Mopping: 1.0 hr
Restrooms: 3.33 hrs
Trash: 1.0 hr
--------
Subtotal: 8.33 hrs
+ 10% buffer (setup, pack-up, restocking): 0.83 hrs
--------
Total per night: ~9.2 hrs
Monthly Labor Hours
9.2 hrs/night x 5 nights/week x 4.33 weeks/month = ~199 hrs/month
For simplicity, round to 200 hours per month.
Step 4: Multiply by Fully-Loaded Labor Rate
This account uses two cleaners working parallel shifts. The fully-loaded labor rate — wage plus payroll taxes, workers comp, and benefits — comes out to $26/hr.
200 hrs x $26/hr = $5,200/month labor cost
If you used the cleaner’s $20/hr wage instead of the $26 fully-loaded rate, you’d calculate $4,000 — a $1,200/month undercount that shows up as margin destruction, not as a line item.
Step 5: Add Materials
Standard commercial accounts: 8% of labor cost.
$5,200 x 0.08 = $416/month materials
Step 6: Add Overhead
This company’s overhead rate is 15% of revenue (insurance, vehicle, equipment, software, management time).
Overhead is applied to the subtotal before margin:
Labor + Materials = $5,616
Overhead at 15% on revenue: work backward — overhead / (1 - margin - overhead %)
For a simpler field calculation: apply overhead as a percentage of cost. At 15% of cost:
$5,616 x 0.15 = $842/month overhead
Running cost total: $6,458
Step 7: Apply Profit Margin
Target margin: 20%.
$6,458 ÷ (1 - 0.20) = $8,073/month
Round to $8,100/month for the proposal.
Per-Square-Foot Sanity Check
$8,100/month ÷ 15,000 sq ft = $0.54/sq ft/month
At 5 nights per week that’s roughly 21-22 visits per month, so per-visit cost is:
$8,100 ÷ 22 visits = $368/visit, or $0.024/sq ft per visit
Monthly per-square-foot rates for this frequency typically run $0.40-$0.70 for commercial offices. This bid is in range.
If your number lands far outside the benchmark, check your production rates and overhead assumptions before adjusting the price down.
Where This Gets Time-Consuming
The formula above works. The problem is that running it manually for every bid takes 45-90 minutes per account. For a company bidding 10-15 new accounts per month, that’s a full day of math every week, before you’ve touched the proposal document.
The other problem is consistency. When the formula lives in a spreadsheet, different estimators use different production rates and overhead assumptions. Two estimators bidding the same building can produce quotes that differ by 30%.
This is what SweepOps’ bidding engine solves. Enter the site measurements — square footage by floor type, fixture counts, visit frequency — and it runs the ISSA-based calculation automatically using your company’s labor rate and overhead settings. The output is a line-item estimate and a formatted proposal, not a number you still have to verify.
The guide teaches the formula. SweepOps runs it.
Pricing Benchmarks for Sanity Checks
Use these after you’ve calculated from the formula — not as the formula itself.
| Cleaning frequency | Typical monthly rate |
|---|---|
| 5 nights/week | $0.40-$0.70/sq ft/month |
| 3 nights/week | $0.25-$0.50/sq ft/month |
| 1 night/week | $0.12-$0.25/sq ft/month |
Building types with higher fixture counts or specialty floor care (stripping, burnishing) push toward the upper end. Simple open-floor industrial spaces land at the lower end.
Hourly rates for commercial cleaning typically run $30-$75/hour depending on task type and market. These are gross revenue rates — your cost per hour is what matters for profitability.
The Most Costly Bidding Mistakes
Using wage instead of fully-loaded labor rate. This is the most common. At $26 fully-loaded vs. $20 wage on a 200-hour account, the gap is $1,200/month — absorbed directly from margin.
Skipping the buffer. New accounts always run over in the first month. A 10-15% setup buffer is not padding — it’s an accurate estimate of real time.
Ignoring fixture counts. Buildings with many restrooms will always be underbid by square-footage calculators. Count fixtures during the walk, every time.
Omitting overhead. Many owner-operators know their labor costs but haven’t formalized their overhead rate. Running without an overhead allocation means the business costs — vehicle, insurance, software, your own time — come out of margin.
Presenting the cost breakdown to the client. Quote the monthly price. The cost structure is internal information. Showing your margin invites negotiation on every line item.
Q&A
How do you calculate a commercial cleaning bid?
Divide each area's square footage by its ISSA task production rate to get labor hours per visit. Multiply total hours by your fully-loaded labor rate (wage plus taxes and workers comp). Add materials at 5-10% of labor, overhead at your calculated rate, then apply a 15-25% profit margin. The result is your monthly price.
Q&A
How much does commercial cleaning cost per square foot?
Most commercial cleaning is priced at $0.07-$0.25 per square foot per visit. A standard office building cleaned 5 nights per week typically lands at $0.08-$0.14/sq ft monthly. Buildings with high restroom counts, polished floors, or medical-grade requirements push toward the upper end of that range.
Q&A
Why is a square-footage-only cleaning calculator inaccurate?
Square footage captures floor area but misses fixture counts, floor type complexity, and task mix. A 15,000 sq ft building with 8 restrooms has far more labor than a 15,000 sq ft warehouse with 2. Flat per-square-foot calculators apply the same rate to both, so they consistently underbid high-fixture buildings and overbid simple ones.
Q&A
What does the ISSA standard say about cleaning production rates?
ISSA cleaning time standards cover task-specific production rates for commercial cleaning. For common tasks: vacuuming open-plan carpet runs approximately 3,000-5,000 sq ft per hour; damp mopping hard floors runs 2,500-4,000 sq ft per hour; restroom cleaning is measured per fixture rather than per square foot. These rates are the basis for accurate labor hour estimates in commercial bids.
Like what you're reading?
Try SweepOps free — no credit card required.
Want to learn more?
Is there a free commercial cleaning bid calculator?
How do you calculate square footage for a cleaning bid?
What ISSA production rates should I use for bidding?
What is a fully-loaded labor rate for commercial cleaning?
What margin should I target on commercial cleaning contracts?
Keep reading
Best ServiceWorks Alternative for Commercial Cleaning Companies
Tired of ServiceWorks crashes and data loss? SweepOps is built for commercial janitorial companies — ISSA-standard bidding, GPS tracking, and no lost data. $20-$99/mo.
Best Janitorial Bidding Software in 2026: Ranked by Accuracy
Compared 5 commercial cleaning bidding tools including dedicated software and spreadsheet methods. Which one produces the most accurate bids?
How to Bid Commercial Cleaning Jobs: Step-by-Step Formula
A practical formula for bidding commercial cleaning contracts. Covers site walk-throughs, square footage, ISSA production rates, labor calculations, and proposal format.
Best Janitorial Management Software in 2026: Honest Comparison
We compared 7 janitorial management software tools for commercial cleaning companies. Here's which ones are worth your money and which ones to avoid.
Cleaning Bid Template: How to Price a Commercial Cleaning Job
A step-by-step cleaning bid template for commercial accounts. Covers property details, ISSA labor calculations, supply costs, overhead allocation, margin, and what goes in the final bid document.