Square footage in, a defensible monthly price out. Production rate turns building size into labor hours, supplies ride on labor, and margin comes off the price the way the trade actually quotes it. No signup, and nothing you type ever leaves your browser.
| Hours per visit | — |
| Visits per month | — |
| Labor hours / month | — |
| Labor cost | — |
| Supplies | — |
| Monthly cost | — |
| Monthly price | — |
Visits per month uses 52 weeks ÷ 12, so a 5×/week account bills 21.7 visits a month — not 20.
Every janitorial bid is the same five steps, and the whole game is being honest at each one.
Hours. Cleanable square footage divided by your production rate gives labor hours per visit. Production rate is the number that decides whether you make money, and it is the number contractors guess at most often.
Frequency. Visits per week times 52 divided by 12 gives visits per month. Using a flat "4 weeks" instead quietly loses you about 8% of your revenue on every recurring contract.
Labor. Monthly hours times your loaded rate — wage plus payroll tax, workers' comp and insurance. Bidding off the raw wage is the fastest way to win an account that loses money every month.
Supplies. Chemicals, liners, paper and equipment wear, carried as a percentage of labor. 5–8% covers most office work; restrooms-heavy and restaurant accounts run higher.
Margin. Price = cost ÷ (1 − margin). This is the step that catches people out, so it gets its own section.
In this trade margin is a share of price, not a markup on cost. On $1,837 of monthly cost:
A 30% margin prices the job at $1,837 ÷ 0.70 = $2,624, and you keep $787 — 30% of what you invoice.
A 30% markup prices it at $1,837 × 1.30 = $2,388, and you keep $551 — only 23% of what you invoice.
That is $236 a month, or $2,832 a year, on one mid-size account — gone, on a single misunderstood word. Confusing the two is the most common way small cleaning contractors underprice a contract and then cannot work out why a full book of business is not paying them.
A calculator gives you a starting point. These are what move it.
Restroom fixture count is the single biggest drag on a production rate. An office that pencils at 3,000 sq ft/hr can fall to half that if it is fixture-heavy — never quote a building you have not walked.
Carpet is fast. Tile, VCT and polished concrete need detail work, and periodic strip-and-wax or burnishing should be priced separately from the nightly scope, not absorbed into it.
Windows, carpet extraction, floor refinishing, day porter coverage, consumables supply. If it is not in the scope letter, the customer will assume it is included and you will do it for free.
Log real hours against every account for a month. Your true production rate is almost never the industry starting point, and once you know it your bids stop being guesses.
General office commonly starts around 3,000 sq ft per labor hour, warehouse can exceed 8,000, and medical or restaurant work often falls to 2,000 or below. Treat all of these as starting points — building condition, restroom count, floor type and how detailed the customer expects you to be all move the number, sometimes by half.
The full hourly cost of putting a cleaner in the building: wage, employer payroll taxes, workers' compensation, general liability, and any benefits. It is commonly 25–40% above the raw wage. Bidding off the wage alone is the classic way to win an unprofitable account.
Because a month is not four weeks. Five visits a week is 260 visits a year, which is 21.7 a month. Billing as though it were 20 gives away roughly 8% of the contract's revenue every single month.
Not directly, and it should not — periodic work is priced as its own line item, not folded into the recurring rate. Use the calculator for the nightly or scheduled scope, then quote floor care, extraction and window work separately.
No. The whole calculator runs in your browser. There is no account, no analytics on your inputs, and nothing is transmitted — you can load the page, disconnect from the internet, and it still works.
All free, all in your browser, none of them ask for an email.
This calculator is one screen of DayPorter, a CRM built for one trade: commercial cleaning. Every bid saves against the client and the building it belongs to, moves through the pipeline the industry actually sells on — lead, walkthrough, bid sent, active, lost — and the contracts you win roll up into your monthly recurring revenue. It all stays on your phone.
See what DayPorter does →