Most new cleaning businesses lose money on their first contracts because they guess a price per square foot from the internet. A better way is to price from labor hours, because hours are what you actually pay for.
1. Walk the building and measure
Get the cleanable square footage, count restrooms, note floor types (carpet, VCT, tile, concrete) and anything unusual: kitchens, showers, glass walls. Ask how many people use the building daily.
2. Estimate hours per visit
Divide square footage by a production rate: how many square feet one cleaner covers per hour. Offices are often in the 2,500–3,500 sq ft/hr range; medical, restaurants and detail-heavy spaces are much slower. Add extra time for each restroom. BidBroom's calculator does this for you and lets you adjust every assumption.
3. Turn hours into cost
Multiply hours by your hourly wage, then add payroll burden (employer taxes, workers' comp, insurance) which is commonly 15–30% on top of wages. Add supplies (often a few percent of labor) and overhead (vehicle, phone, software, admin).
4. Add profit the right way
Use margin, not markup. If your cost is $100 and you want a 20% margin, the price is $100 ÷ (1 − 0.20) = $125, not $120. Many janitorial businesses aim for 10–30% depending on competition and risk.
5. Sanity-check per square foot
Convert your monthly price into a per-square-foot number and compare it with what you know about your local market. If you are far below, you are probably missing labor. If you are far above, check your production rate.
6. Present a real proposal
A clear scope of work, frequency, price and terms on a clean, branded page beats a number in a text message. Clients compare proposals side by side. Look like the professional option.