Start with total cleaner-hours
A commercial cleaning time estimate should describe the work one visit requires. Add the time spent by everyone doing that work, including the support tasks needed to complete the visit. Then decide how to divide it between cleaners.
Two cleaners working 90 minutes each use three cleaner-hours, even though the visit lasts 90 minutes. If one works two hours and another works 75 minutes, the total is three hours and 15 minutes.
Cleaner-hours = total minutes worked by all cleaners ÷ 60.
Start with the areas, tasks and access requirements recorded in your commercial cleaning walkthrough. Separate a routine service visit from an initial clean or an occasional project.
Free planning tool · no registration
Calculate the labor for your visit
Start with an editable office visit, then change the tasks and times to suit your job. The example times are illustrative, not standard cleaning rates.
Enter total cleaner-minutes across the entire crew for each activity, not minutes per person. If two cleaners each prepare for 10 minutes, enter 20 cleaner-minutes once.
Your entries stay on this page. Nothing is saved or sent.
List the tasks included in this visit
Break the agreed scope into work you can explain: surface cleaning, washroom fixtures, waste collection, floor care and any required completion checks. Write down which tasks happen on every visit and which happen on a separate schedule.
Count each task once. If your washroom estimate already includes the floor, do not add that same floor work again in a separate floor-care line. Record what the time allowance covers.
Use your own observations of comparable completed work where possible. Check that the task, equipment, condition and required result match. A quick clean in an empty room is not a reliable substitute for a cluttered occupied room.
Use production rates for a defined task
A production rate is useful only when its units and task are clear. For an area-based task, divide the area actually being serviced by the matching rate per cleaner-hour.
Task cleaner-hours = area serviced ÷ area per cleaner-hour.
For example, assume your own planning rate for one specific vacuuming task is 2,400 square feet per cleaner-hour. Vacuuming 1,200 square feet at that assumed rate takes 0.5 cleaner-hours, or 30 cleaner-minutes. This is fictional arithmetic, not an industry benchmark or an estimate for the whole building.
Use the same area units on both sides of the calculation. Do not apply a vacuuming rate to washroom fixtures, restocking or the full cleaning service. If a rate is quoted for a whole crew rather than one cleaner, convert its labor basis before combining it with other tasks.
Published time references can help with planning, but they need context. ISSA’s discussion of cleaning labor estimates explains why building conditions and support work matter. Verify the scope and use rights of any reference you use.
Add the support time the visit requires
Include the worker time needed to prepare equipment, reach service areas, collect water, move waste, document completion and secure the site. Use a separate allowance only when the task estimates do not already include that time.
Distinguish labor time from elapsed waiting. A drying period may extend the visit window without occupying every cleaner for that whole period. If a cleaner must remain engaged, include that person’s time.
Identify paid travel or other labor outside the site visit separately. If you price it as labor, include those hours once; if it is already covered in another cost allocation, avoid charging the same time twice.
Worked example for a routine office visit
This fictional office has two washrooms, a breakroom, offices and reception. The table covers one routine visit. Quarterly floor refinishing and an initial deep clean are excluded. The minutes are illustrative planning assumptions, not surveyed results or standard cleaning times.
Every value below is total cleaner-minutes across the team, not the time each person spends on site.
| Agreed work | Cleaner-minutes |
|---|---|
| Reception surfaces and common touchpoints | 20 |
| Office surfaces and waste collection | 30 |
| Two washrooms, fixtures and surfaces only | 40 |
| Breakroom surfaces and waste | 20 |
| Vacuuming and mopping all agreed floor areas | 50 |
| Cleaning task subtotal | 160 |
| Equipment preparation | 10 |
| Movement, water access and securing the site | 10 |
| Visit subtotal | 180 |
| Illustrative uncertainty allowance, 10% of 180 | 18 |
| Planned total | 198 |
198 ÷ 60 = 3.3 cleaner-hours.
That is three hours and 18 minutes of total labor.
The example adds 10% to show an explicit allowance. It is not a recommended percentage for every job. Use an allowance you can justify for the known uncertainties, and do not add it again if the task times already contain it.
With two cleaners sharing the work evenly, 3.3 ÷ 2 = 1.65 hours each, or one hour and 39 minutes. That is a balanced-work assumption, not a promised completion window. Access, equipment sharing and tasks that cannot be divided can change the elapsed visit time.
Keep frequency and occasional work separate
If the example visit happens three times in one week, 3.3 × 3 = 9.9 cleaner-hours, or nine hours and 54 minutes for those three routine visits.
Now suppose an additional 20 cleaner-minutes of agreed detail work is scheduled once that week. That visit needs 218 cleaner-minutes in total, and the week needs 614 cleaner-minutes, or ten hours and 14 minutes. Keep the extra task on the visit where it happens so the crew has time to complete it.
An average allocation can help with a periodic cost estimate, but it does not shorten the visit that contains the work. Use the actual planned visits for the month you are pricing. A first clean, restoration or separately agreed project needs its own scope and time estimate.
Enter the hours correctly in the bid calculator
Open the commercial cleaning bid calculator. For the evenly shared routine example, enter 2 cleaners and 1.65 hours per cleaner per visit. The resulting total is 3.3 cleaner-hours.
Do not enter 3.3 in the hours-per-cleaner field with two cleaners: that would price 6.6 cleaner-hours. For a one-cleaner plan covering the same total labor, enter one cleaner and 3.3 hours, then check whether that elapsed visit fits the access window.
If individual shifts differ, add their hours first and divide by the number of cleaners only to obtain the calculator’s average hours per cleaner. The average is a costing input; keep the actual assignments for scheduling.
At a fictional loaded labor cost of CAD $25 per cleaner-hour, 3.3 × $25 = CAD $82.50 labor cost per visit. This is the example’s cost assumption, not a market wage or customer price. Use the commercial cleaning bidding guide to add the other costs and apply your chosen margin.
Compare the estimate with completed work
After representative visits, compare the planned cleaner-hours with the total worker time actually required. Note changes in scope, blocked access, unusual conditions and completion quality before changing the estimate. A faster visit is not a useful target if agreed work was missed.
Keep the assumptions with the job: the tasks, their frequency, the access window and what is excluded. Tanvelo’s commercial work-order workflow shows how accepted scope can stay connected to scheduled visits, completion proof and separately approved extra work.
An estimate is a planning input. Refine it as you learn how the agreed work is actually delivered.
Published · Tanvelo