Skip to main content

Commercial Cleaning Bid Calculator: The Formula Behind the Numbers

Last updated: March 20, 2026

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.

DEFINITION

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.

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:

TaskProduction Rate
Vacuuming open-plan carpet3,000-5,000 sq ft/hr
Vacuuming cubicle-dense carpet2,000-3,500 sq ft/hr
Damp mopping hard floors2,500-4,000 sq ft/hr
Restroom — toilet5 min/fixture
Restroom — sink3 min/fixture
Restroom — urinal4 min/fixture
Trash removal1.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 frequencyTypical 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?
Most free calculators online use a flat price-per-square-foot formula. That works as a rough sanity check but misses labor-intensive areas like restrooms, kitchens, and high-fixture-count buildings. The more accurate approach is the task-based formula in this guide: ISSA production rates per task type, summed across all areas. SweepOps automates this calculation using the same methodology.
How do you calculate square footage for a cleaning bid?
Walk the site and measure each area separately by floor type. Carpet, hard floor, and restroom square footage all have different production rates, so a single blended number loses accuracy. Request CAD drawings from the property manager if available — they save time and are usually accurate to within a few percent.
What ISSA production rates should I use for bidding?
ISSA publishes production rate standards for commercial cleaning tasks. Common benchmarks: vacuuming open-plan carpet 3,000-5,000 sq ft/hr, damp mopping hard floors 2,500-4,000 sq ft/hr, restroom cleaning 5 min per toilet, 3 min per sink, 4 min per urinal. Your actual rates may vary based on building layout and crew experience. Use ISSA as a starting baseline.
What is a fully-loaded labor rate for commercial cleaning?
The fully-loaded rate covers the cleaner's wage plus employer-side payroll taxes (7.65% FICA), workers compensation insurance, and any benefits. A cleaner earning $18/hr costs the company $23-$27/hr fully loaded depending on your workers comp rate and state. Using the wage only in your bid means you're absorbing several dollars per hour in costs that never show up in your quote.
What margin should I target on commercial cleaning contracts?
Target 15-25% net margin. Gross margin before overhead allocation is typically 35-50% on well-run commercial accounts. If your net is below 10%, check whether your production rates are accurate and whether your overhead allocation is complete. Thin margins usually trace back to undercounted labor hours, not market pricing pressure.

Keep reading