Start with the work you are agreeing to do
Record the service type, rooms or areas, tasks, frequency and access arrangements. Ask about the property’s condition and work that changes the visit: buildup, interior appliances, inside cabinets, unusual surfaces or a first clean after a long gap. Write down the inclusions and exclusions before choosing a price.
For example, a maintenance visit might include accessible surfaces, bathrooms and floors, while an oven interior needs a separate allowance. Keep the customer’s requested work separate from your assumptions. If you cannot establish the scope, clarify it or assess the property before relying on a fixed price.
Build a small reference set from your own jobs
As a practical starting exercise, review three to five completed jobs with similar scope and condition. That is our suggested working process, not a statistically validated sample size. Keep first cleans, move-outs and routine maintenance apart when their work differs materially. A very unusual visit can still teach you what to ask; record why it was unusual instead of silently discarding it.
For each job, collect the estimated and actual cleaning time for every worker, paid travel and setup, supplies, vehicle expenses and the amount charged. Note the tasks or conditions that caused a difference. If you have no comparable records, break the job into tasks and make an explicitly provisional estimate; update it after the visit.
- Use appointment records or time logs for hours, and check whether they show elapsed time or each person’s time.
- Use pay records and your own employer-cost estimates for labor; receipts or a documented allowance for consumables and vehicle costs.
- Use the comparison to explain the next estimate. Do not convert someone else’s square-foot guideline into a promise about your team.
Count all the paid time, including your own
Two people paid for three hours each use six person-hours. In the quote calculator, include paid travel and setup in those hours. If workers have different hours or rates, total their costs first and use a consistent weighted average, or calculate separate scenarios. A simple average of unequal shifts will not necessarily reproduce the same cost.
Count your own cleaning work too, using an explicit hourly value for your time. Additional labor costs should cover only items not already included in the hourly figure. Vehicle expenses such as fuel and parking belong in travel expenses; wages for driving belong in paid hours. They are different costs, and each should appear once.
Allocate overhead on a consistent basis
List the monthly costs that remain after direct job expenses: for example, software, insurance, accounting or equipment allowances. Exclude wages, supplies and travel expenses already entered directly. Our overhead helper divides this pool by expected monthly paid job person-hours, including paid travel and setup, then applies the same hourly basis to this job.
For an illustration, $900 of monthly overhead divided by 180 paid job person-hours gives $5 per person-hour. A six-person-hour job carries $30. This is an allocation method, not an industry standard. Use a realistic month and review the denominator when workload changes; overhead does not disappear because fewer jobs are booked.
Separate your target price from your customer offer
Consider two people paid for three hours each at $20 per hour, with a 25% additional labor allowance. Labor costs $150. Add $12 of supplies, $8 of vehicle expenses and the $30 overhead allocation: costs before payment fees are $200. Every figure here is an illustration, not a market rate.
With processing at 3% plus $0.20 and a 30% target margin, the calculated price is $298.81 before tax. Suppose you choose a $300 customer offer. That chosen amount gives $90.80 of estimated profit after the entered costs, or 30.27%. Rounding or discounting the offer changes the margin, so check the price you will actually present.
Keep that price fixed while testing a longer visit
Now let both workers need another 30 minutes. That adds one person-hour in total and $25 of loaded labor cost. The customer price remains $300; the model does not automatically charge more or restore the original margin. Processing stays at $9.20 because the price has not changed.
The comparison isolates extra labor: supplies, vehicle expenses and allocated overhead stay fixed. Adjust those separately if they would also change. Use the result to reconsider your estimate, scope or offer before committing, and communicate material scope changes with the customer rather than assuming the calculator authorizes extra charges.
| Illustrative fixed-price job | Planned time | 30 extra minutes per person |
|---|---|---|
| Customer price, before tax | $300.00 | $300.00 |
| Total paid person-hours | 6 | 7 |
| Labor including 25% allowance | $150.00 | $175.00 |
| Supplies, vehicle expense and overhead | $50.00 | $50.00 |
| Payment processing: 3% + $0.20 | $9.20 | $9.20 |
| Estimated profit after entered costs | $90.80 | $65.80 |
| Margin on the fixed price | 30.27% | 21.93% |
Give the customer a clear estimate, then learn from the job
The customer estimate should show the chosen price, currency, work included, exclusions and relevant assumptions. Check the before-tax label and handle applicable taxes separately. Keep your wages, internal cost breakdown and profit in your own worksheet. Preview the customer version before copying or printing it.
After the visit, compare estimated and actual person-hours, expenses and scope. Record what changed and use that evidence for the next quote. Offer a recurring discount only when the recurring work supports it. A useful estimate becomes a better one when you close this loop.
Sources and further reading
- Serene Clean’s Stephanie on estimating time from actual jobs — ZenMaid
- ISSA: How to Calculate Cleaning Times and the limits of benchmarks
- CleanGuru: calculated price, chosen price and customer proposal workflow
- Serene Clean’s Stephanie on paid travel time and vehicle costs — ZenMaid
These sources inform the method. Worked examples use illustrative inputs; check current provider terms when comparing products.