
How to Price a Five-Night Commercial Cleaning Contract (Square Feet to Monthly Price)
You price a five-night commercial cleaning contract by turning square footage into labor hours with a production rate, turning hours into labor cost with the wage plus payroll burden, adding supplies, travel and a share of overhead, and then dividing by one minus your target margin to get the monthly price. For a typical 12,000-square-foot office, that walk lands around $2,500 a month at a $16 wage. The steps below show every number, and the last section shows why the same building sold at $2,000 quietly loses money.
The figures are a worked example using commonly quoted production rates and cost rules of thumb, not a real account. Swap in your own numbers, or paste them into the contract profitability calculator and let it do the arithmetic.
Step 1: Square feet to labor hours (production rate)
A production rate is how many square feet one cleaner covers in one hour doing a defined scope. Industry time tables (ISSA's cleaning times are the usual reference) put a full-service office night, with restrooms, trash, dusting and vacuuming included, somewhere between 2,500 and 4,000 square feet per labor hour depending on density and finish. Medical space runs slower because of dwell times; open warehouse floor runs faster.
Example building: a 12,000-square-foot professional office, carpeted, two restrooms, one break room, five nights a week. Use 3,500 sq ft per hour as the blended rate:
- 12,000 ÷ 3,500 = 3.43 labor hours per visit
- Round to 3.5 hours, because visits do not round down
One cleaner for 3.5 hours or two for 1.75 hours costs the same labor; the choice is about the client's access window and your scheduling, covered in how many cleaners for 10,000 square feet.
Step 2: Visits per month
Five nights a week is not 20 visits a month. A month is 52 ÷ 12 = 4.33 weeks, so five nights is 21.67 visits. Pricing on 20 gives the client a free visit every month, which over a year is nearly a month of work.
- 21.67 visits × 3.5 hours = 75.8 labor hours a month on site
Step 3: Labor cost
Wage times hours is the number everybody starts with. Example: $16 an hour.
- 75.8 hours × $16 = $1,213 base wages
Step 4: Payroll burden
What a wage costs you is more than the wage: employer payroll taxes, workers' compensation, unemployment insurance, paid time off if you offer it. Twelve percent is a common floor for a small janitorial company; check yours against a recent payroll run, and use the real number.
- $16 × 1.12 = $17.92 loaded wage
Step 5: Travel
If you pay from the previous stop (and in most places you must for travel between jobs), the minutes count. Example: 15 minutes per visit for one cleaner, plus $5 a visit for fuel and vehicle wear.
- 21.67 visits × 0.25 hours = 5.4 paid travel hours a month
- Total paid hours: 75.8 + 5.4 = 81.2
- 81.2 × $17.92 = $1,456 labor with burden
- 21.67 × $5 = $108 vehicle
Step 6: Supplies
Chemicals, microfiber, liners, and any paper or soap you provide rather than bill through. For an office this size where the client buys their own paper, $75 to $100 a month is a reasonable planning figure. Example: $90.
Step 7: Direct cost
- Labor $1,456 + vehicle $108 + supplies $90 = $1,654 a month
That is what the building costs you before your company exists. It is not a price.
Step 8: Overhead
Insurance, the phone, software, your admin hours, the van, the office if you have one, bad debt. Small operators usually carry this as a percentage of revenue; 15% is a common planning figure, and it is worth calculating your own once a year (last year's overhead divided by last year's revenue). Overhead is applied to the price, not the cost, so it goes into the formula in the next step rather than being added to the $1,654.
Step 9: Margin and the monthly price
Net margin is what is left after direct cost and overhead. For a small commercial account that has to absorb call-outs, the occasional re-clean and a cleaner quitting mid-month, 20% net is a sensible target. Then:
- Price = direct cost ÷ (1 − overhead % − margin %)
- = $1,654 ÷ (1 − 0.15 − 0.20) = $1,654 ÷ 0.65 = $2,545
- Quote: $2,550 a month
Two checks worth doing before the number goes on paper:
- Break-even = $1,654 ÷ (1 − 0.15) = $1,946. Below that, the account stops covering its share of overhead. Know the number before the client asks for a discount.
- Billed per labor hour = $2,550 ÷ 75.8 = $33.60. This is the fastest way to compare accounts of different sizes. Two contracts at the same monthly price can be $22 and $41 per labor hour, and only one of them is worth keeping when a cleaner quits.
Why a $2,000-a-month account can still lose money
Now sell the same building for $2,000 because the competitor did. The building did not get smaller; the cost is still $1,654.
- Overhead at 15% of $2,000 = $300
- Net = $2,000 − $1,654 − $300 = $46 a month, a 2.3% margin
- Billed per labor hour: $26.40 against an all-in cost of $25.80
On paper, it is barely profitable. In the building, three things happen that the bid sheet did not include:
- The visit runs long. The estimate was 3.5 hours; the crew takes 3.75 because the break room is worse than the walk- through suggested. Fifteen extra minutes a visit costs 21.67 × 0.25 × $17.92 = $97 a month. The account is now at −$51.
- Scope creeps. "Can you just do the glass in the conference room?" Yes, you can, and now it is 3.9 hours.
- Someone is sick. You cover the shift yourself, or pay a lead at $20. Either way the month's labor moves.
The account you sold for $2,000 to win volume is now paying you nothing for the privilege of employing someone. And you will not see it in the bank statement, because the loss is spread across fifteen buildings and the good accounts carry the bad one.
This is the argument for two habits. First, know the break-even and the target before you walk in, so a discount is a decision and not a reflex. Second, measure actual hours on site, per visit, per building. A GPS check-in and check-out per visit gives you that number for free; after a month, the renewal is priced on what the building really takes, not on the estimate you made during a fifteen-minute walk with the office manager.
When the client's budget is lower than your number
It will be, often. The answer is not a smaller margin; it is a smaller scope. If the example client has $2,000 and your number is $2,550, three moves keep the account healthy at their price:
- Fewer visits. Four nights instead of five at $2,000 is 17.3 visits × 3.5 hours = 60.7 labor hours, direct cost around $1,330, and a 18% net margin. Most offices accept it with a same-day call-out promise.
- Lighter nights. Restrooms, trash and the break room every night; vacuuming and dusting on alternate nights. That is a 3.5-hour building becoming a 2.75-hour one.
- Consumables billed separately. Paper, soap and liners move to a monthly supply invoice at cost plus a handling margin, and $90 comes off your side of the ledger.
What you should not do is take the $2,550 building at $2,000 and hope the crew is fast. The crew is not fast; the crew is 3.75 hours.
A pricing checklist for the next bid
- Measure the square footage yourself, or get the floor plan.
- Pick a production rate for the building type and finish, then round the hours up.
- Use 4.33 weeks a month, never 4.
- Load the wage with your real burden percentage.
- Count paid travel minutes and vehicle cost per visit.
- Add supplies you provide; bill consumables separately.
- Divide direct cost by (1 − overhead − margin).
- Write down break-even and dollars per labor hour beside the quote.
- After the first month, replace the estimated hours with the actual check-in-to-check-out hours and re-run the numbers.
If you bid regularly, janitorial bidding software covers how to keep every bid's assumptions next to the building's actual visit hours, so the second year's price is built on the first year's data.
Keep Reading
Related guides, solutions, and definitions.