Most commercial cleaning bids are guesses dressed up as numbers. An operator picks a per-square-foot rate that "sounds about right," deducts a labor estimate that misses half the actual hours, and lands on a margin the work won't deliver. Twelve months later the contract gets re-quoted at a lower number, lost to whoever guesses cheaper, or silently absorbed at a margin that bleeds the operator month after month — the well-worn churn cycle of small commercial cleaning.
ISSA cleaning times are the antidote. The Official ISSA Cleaning Times (8th edition, April 2021) is the industry's published reference for how long a defined cleaning task takes per 1,000 square feet, calibrated across decades of crew observation. Pair those numbers with three other inputs you can't skip — real loaded labor cost, equipment and supplies, an honest target margin — and you bid from math instead of vibes. Here's how that actually works.
The framework is four inputs: labor time, labor cost, equipment and supplies, target margin. Skip any of the four and the bid will underprice the work. Build it from all four and the per-square-foot number that drops out is defensible to the client and survivable for you.
TL;DR
A bid is four numbers, not one. Labor time comes from ISSA-published production rates adjusted up or down for actual soil load. Labor cost is the base wage multiplied by a loaded rate that includes legally required burden — about 30% on top of wages for the typical small operator. Equipment, supplies, and consumables are the bucket most operators undercount. Target margin is the 20% you defend, not the 10% you hope for. The walk-through below builds a four-site mixed-portfolio bid step by step so the math is followable with a calculator.
What ISSA cleaning times actually are
The Official ISSA Cleaning Times (8th edition, April 2021) is a published reference of standardized cleaning production rates — how long, on average, a defined cleaning task takes per 1,000 square feet. It's sometimes called the "612 production rates" because it catalogs 612 distinct cleaning operations spanning industrial, commercial, and educational facilities. ISSA — The Association for Cleaning & Facility Solutions — has maintained the standard for decades; the 8th edition added a dedicated pandemic-cleaning section after COVID-19 changed everyday practice.
The headline number commonly cited is 34.8 minutes per 1,000 square feet to vacuum carpet with a 12-inch upright. That's one task, one tool, one surface — a useful illustration of the granularity. The full reference covers everything from restroom-fixture wiping to autoscrubber operation to floor stripping, with separate times for each tool size and method.
What ISSA times do: give you a defensible, third-party-published labor-time anchor for any bid.
What ISSA times don't do: tell you what to charge. They are inputs to a bid, not the bid itself. They don't know your local wage rates, your equipment costs, your supply spend, or your margin requirements. They also don't account for the variances we'll get to below — soil load, crew experience, site access — that move the numbers in real conditions.
The standard is sold by ISSA as a printed book and a metric-subscription product at issa.com. Abbreviated and out-of-date versions circulate online; the only continuously-maintained reference is the official one.
The four inputs to a real bid
Skip any one of these and you'll underbid. The rest of this guide is how to actually compute each.
1. Labor time
ISSA-derived bundled times are the floor. For general medium-load commercial office cleaning, the bundled production rate — which combines task rates against typical site mix — sits in the range of 3,000–4,000 square feet per labor hour, depending on surface mix, restroom density, and frequency. We use 3,500 sqft per labor hour as the working midpoint in the example below — high enough to be realistic for a trained crew, low enough not to over-promise.
The bundled rate is what you multiply against site square footage to get labor hours per visit. Adjust it up for heavier soil environments (medical, food service, post-construction touch-up), down for light-touch (Class A office, low-traffic showrooms). New crews run 1.3–1.5× ISSA times until they're broken in.
2. Labor cost
Take the base hourly wage you actually pay (or will pay) and multiply by your loaded rate — base plus burden.
For a small commercial cleaning operator, burden typically lands between 25% and 35% of the base wage. The components:
- Legally required: employer FICA (7.65%), federal and state unemployment (1–6%), workers' compensation for janitorial classification (3–6%, varies by state).
- Voluntary: paid time off, health stipend, retirement contributions.
The US Bureau of Labor Statistics' Employer Costs for Employee Compensation series shows broader private-industry averages where benefits run higher — about 30% of total compensation, equivalent to roughly 42% on top of wages — but that figure includes employers offering full health and retirement benefits. Small commercial cleaning operators with minimal voluntary benefits stay in the 25–35% range. We use 30% as the working midpoint.
A $18.00/hour base wage at 30% burden is a loaded rate of $18.00 × 1.30 = $23.40/hour. That's the number you multiply against total labor hours.
3. Equipment, supplies, consumables
The bucket most operators undercount.
- Supplies and consumables: chemicals, paper goods (toilet tissue, hand towels), can liners, microfiber. A representative small commercial site burns through $40–$75 per month in consumables; high-traffic restrooms push that higher.
- Equipment amortization: vacuums, autoscrubbers, mop systems, carts. Spread the purchase or lease cost across the months the equipment will actually last. A $1,200 commercial vacuum amortized over 24 months is $50/month per machine.
- Vehicle and fuel: if you (or the crew) use a vehicle for site-to-site movement, this is a real cost. Fold it into supplies or equipment as your accounting tracks.
A four-site portfolio at the scale of the worked example below typically runs $200/month in supplies and $150/month in equipment amortization. Specific numbers vary by purchasing pattern and equipment age.
4. Target margin
The published industry range for net margin on commercial cleaning contracts is 10–28%. The honest distribution within that range:
- 10% net is the floor below which the business is structurally unsustainable once a single tough month hits (sick days, broken vacuum, supply price spike).
- 15–20% net is the realistic target for well-run small-to-mid commercial accounts.
- 20–25% net is achievable on accounts where the operator owns the relationship and the client values quality over price.
- 25%+ net happens on specialty work, premium markets, or accounts where the operator is genuinely irreplaceable.
We use 20% as the working target margin in the example below. Bidding lower is fine when it earns a strategic relationship; bidding lower habitually is a path to closing the business.
Worked example: bidding a four-site portfolio (mixed)
The reader of this guide is more likely to be bidding a portfolio of small-to-mid sites than a single 50,000-sqft tower. So the worked example is a four-site, 30,000-sqft portfolio, 5 nights per week, with the mix that most commercial cleaning operators actually run:
- Site A: 7,500 sqft Class A office (standard load)
- Site B: 7,500 sqft Class A office (standard load)
- Site C: 7,500 sqft medical-adjacent (clinic / outpatient — heavier soil, disinfection requirements)
- Site D: 7,500 sqft light retail (showroom or single-tenant — open floor, fewer fixtures)
Every step below shows its inputs so the math is followable with a calculator.
Step 1 — Bundled ISSA labor time, adjusted per vertical
Starting from the 3,500 sqft / labor hour midpoint with vertical adjustments:
- Standard offices: 3,500 sqft/hr × 1.0 = 3,500 sqft/hr
- Medical-adjacent: 3,500 ÷ 1.3 (heavier soil + disinfection) = ~2,700 sqft/hr
- Light retail: 3,500 × 1.1 (less restroom load, open floor) = ~3,850 sqft/hr
Per-visit labor time:
- Site A: 7,500 ÷ 3,500 = 2.14 hr (2 hr 9 min)
- Site B: 7,500 ÷ 3,500 = 2.14 hr (2 hr 9 min)
- Site C: 7,500 ÷ 2,700 = 2.78 hr (2 hr 47 min)
- Site D: 7,500 ÷ 3,850 = 1.95 hr (1 hr 57 min)
- Clean time per night: 2.14 + 2.14 + 2.78 + 1.95 = 9.01 hr → 9.0 hr
Step 2 — Add drive time between sites
Four sites means three site-to-site transitions per night. At 15 minutes average between sites in a typical metro:
- Drive time per night: 3 × 15 min = 45 min = 0.75 hr
- Total labor per night (clean + drive): 9.0 + 0.75 = 9.75 hr
This is the line item operators most often miss. If you're paying the crew to drive — or driving yourself — those hours are labor. They go in the bid.
Step 3 — Scale to weekly and monthly
- Weekly: 9.75 hr × 5 nights = 48.75 hr/week
- Monthly: 48.75 hr × 4.33 weeks/month = 211.1 hr → 211 hr/month
Step 4 — Loaded labor rate
Base wage of $18.00/hr (a representative US commercial cleaner wage for 2026) at 30% burden:
- $18.00 × 1.30 = $23.40/hr loaded
Step 5 — Monthly labor cost
- 211 hr × $23.40 = $4,937/month (rounded from $4,937.40)
Step 6 — Monthly non-labor cost
- Supplies & consumables (4 sites × ~$50 average, the lower end of the $40–$75 per-site range from §3): $200
- Equipment amortization (vacuums, autoscrubber, cart): $150
- Supervisor / operator time allocation (you, running the oversight): $500
- Non-labor subtotal: $200 + $150 + $500 = $850/month
Step 7 — Total monthly cost
- $4,937 + $850 = $5,787/month
Step 8 — Apply target margin (20%)
Using the markup formula (bid = cost ÷ (1 − margin%)):
- $5,787 ÷ (1 − 0.20) = $5,787 ÷ 0.80 = $7,234/month bid
Margin check: $7,234 − $5,787 = $1,447 → $1,447 / $7,234 = 20.0% ✓
Step 9 — Per-sqft reality check
- $7,234 / 30,000 sqft = $0.241 per sqft per month
The published single-building band is $0.07–$0.20 per sqft. This bid sits above that band, and that is correct. The band describes single-site recurring office cleaning. A multi-site portfolio adds drive time and supervisor allocation; a medical-adjacent site adds vertical premium. If a four-site mixed-vertical portfolio comes in inside the single-building band, you are underpricing. The fix is not to lower the bid to fit the band; the fix is to defend the higher number to the client by showing the math. The published bands are for the kind of building the band was measured against, not for the kind of portfolio most small operators actually run.
Annualized, the bid is $7,234 × 12 = $86,808 per year. That's the number on the proposal.
The margin traps that bury small operators
Six traps. Each costs operators real money; the cluster guides under this pillar elaborate.
- Drive time between sites. Site-to-site transitions are labor hours you pay for but rarely price for. Three transitions a night at 15 minutes each adds 45 minutes to every shift — the line item most operators forget exists.
- Payroll burden under-counted. Operators who quote the $18/hr wage and ignore the 25–35% adder are quoting against a cost number that's 25–35% too low. The contract loses money before week one and there's no recovery path on a recurring monthly bid.
- Supervisor time (you, working in the business). If you spend 8 hours a week driving, inspecting, fixing crew issues, and that time isn't in the cost stack, you're working for free. It's labor. Price it as labor.
- Supply over-ordering and shrinkage. Restroom supplies and chemicals walk. Operators who don't reconcile per-site spend against billed activity find their consumables line is 20–40% higher than budgeted by year-end. The fix is per-site supply tracking, not larger orders.
- Equipment downtime and replacement. A $1,200 commercial vacuum lasts 18–30 months in real use, not the 5 years the warranty implies. Amortize and replace on schedule; otherwise a single broken machine eats a month of margin.
- Rework cycles from missed QA. Every complaint that triggers a re-clean is the labor cost of the original clean doubled, plus the time cost of the call and the relationship cost with the client. Inspection systems exist to break this cycle — covered in the inspection cluster.
When ISSA times don't apply at all
Before the soil-load adjustments, a sharper distinction: there are jobs where ISSA times aren't the right reference at all.
- One-time and project work. Post-construction cleans, move-out cleans, hoarding remediation, fire and water restoration. These have no recurring rate; they require a walked estimate and a fully different pricing model. Trying to apply ISSA per-1,000-sqft rates to a project clean produces nonsense numbers.
- Specialty work that ISSA technically covers but most operators sub out. Carpet extraction, hard-floor stripping and recoating, exterior window detail, high-dust ceiling work. The ISSA times exist for these tasks, but the equipment, training, and chemicals are specialty — most general commercial operators either subcontract or quote them separately at specialty rates.
- Solo-operator self-performed work. When the owner is doing the cleaning, ISSA times still describe the work, but the cost stack is different — the operator's own time often gets valued below market or not at all. This produces a bid that wins on price but doesn't capitalize the business. If you eventually need to hire someone to do this work, the bid math has to support a loaded labor rate, not your own under-priced hours, or the contract becomes unsustainable the moment you step out of the field.
In all three cases, treat the bid as a project quote or a transitional plan — not an ISSA-driven recurring estimate.
When ISSA times need adjusting
Even within the work ISSA times do cover, the numbers move:
- Heavy-soil environments (medical, food service, post-construction touch-up): add 20–40%. Disinfection protocols, biohazard handling, and finer detail work all slow the crew.
- Light-touch environments (Class A office, low-traffic showroom, single-tenant): ISSA times can run too generous. Trained crews in light conditions can come in 10–15% faster.
- Crew skill variance: trained crews track close to ISSA; new or undertrained crews run 1.3–1.5× the standard times for the first 60–90 days.
- Time-of-day factor: overnight access with full lockout is the easy case. Day cleaning, blocked access, security check-ins, badge-in protocols, and multi-shift coordination all add real friction that lengthens the work without showing up in ISSA's base numbers.
- Frequency factor: weekly service is harder per visit than nightly — more soil accumulates between visits. ISSA times assume nightly or near-nightly cleaning unless otherwise noted.
Adjust before the bid, not after. Adjusting after means re-pricing or absorbing.
Software that automates the math
Software helps with the math. It does not help with the judgment — adjusting ISSA times for soil load, deciding whether 18% margin or 22% is the right target for this client, deciding whether to walk away from a lowball RFP. Tools that promise to "automate your bids" should be treated with skepticism; what they actually do is automate the calculator, not the call.
That said, automating the calculator is real value when you bid frequently. The tools worth knowing:
- CleanGuru is bidding-specific software with ISSA times built in. Set up site parameters and it produces the labor-time math and a proposal in a defined format. Best for operators bidding multiple new sites monthly. See our CleanGuru review →.
- Janitorial Manager integrates the official ISSA 612 times into its bidding workflow alongside the rest of its janitorial operations stack. Best when the bidding is one workflow among many you want in a single system. See our Janitorial Manager review →.
- SweepOps combines ISSA-standard bidding with GPS crew tracking and inspections in one platform at a lower price point. Mid-market positioning, best for 5–75 site operators. See our SweepOps review →.
For the full ranked comparison, see our best janitorial bidding software guide →.
After the bid: managing the contract
The bid is step one. Once a contract is signed, the same math has to hold under real operating conditions — which means tracking actual labor hours against the estimated hours for each site, every month.
- Track labor time per site. GPS time tracking with geofencing (Swept, Janitorial Manager) confirms crews are at the right site at the right time and lets you compare actual hours to the bid assumptions. See our Swept review → for one option, and the best GPS time tracking for cleaning crews → for the broader category.
- Adjust on renewal. If a site is consistently running 15% over the estimated hours, that's a renewal conversation, not a quiet absorption. The bid math gives you the defensible basis for the price adjustment.
- Use inspection records as leverage. A documented QA history protects you when a property manager raises an unfounded quality complaint at renewal time — and gives you a credible basis to argue for a price adjustment when scope has grown.
The bottom line
Bid math, the right tools to do it, and an honest margin number — that's the difference between contracts that survive their first year and contracts that get re-quoted, lost, or absorbed.
ISSA cleaning times are the labor-time anchor. The other three inputs — loaded labor cost, equipment and supplies, target margin — are yours to compute and defend. Skip any of them and the contract underprices the work. Build the bid from all four and the per-square-foot number that drops out is defensible to the client and survivable for you.
For the next step in the workflow:
- The best janitorial bidding software guide → for tools that handle the calculator side.
- ISSA cleaning times explained → for a deeper dive into how the standard is constructed.
- Commercial cleaning rates per square foot → for the published industry rate band and how to use it as a sanity check.
- Square-foot vs hourly cleaning pricing → if you're choosing pricing models.
- Commercial cleaning business profit margins → for the margin deep-dive.