Define the scope before the price
Start with exactly what is being cleaned: driveway, siding, patio, fence, roof-adjacent areas or multiple surfaces. Record approximate area where useful, but do not rely on square footage alone. Access, height, water availability, staining, delicate surfaces and required pretreatment can change the time and risk substantially.
Estimate labor from setup to pack-up
Include inspection, hose and equipment setup, pretreatment, cleaning, rinsing, moving around the property and packing equipment away. A two-hour cleaning job can consume more than two hours of productive capacity once setup and travel are included. Estimate the full block of time the job uses.
Add chemicals, consumables and travel
Include detergents, surfactants and other consumables based on your process. Add a travel allowance when the customer sits outside your normal route or service area. Small costs repeated across many jobs become meaningful, so they should not disappear from the estimate.
Include equipment and overhead
Pressure washers, surface cleaners, hoses, pumps and vehicles wear with use. Insurance, marketing, software, phone service and administration also need to be funded. You do not need a complicated accounting model for every quote, but you do need a consistent overhead allowance.
Apply a target margin
After estimating the total job cost, convert it into a selling price using your desired margin. For example, if estimated cost is $150 and the target margin is 30%, dividing $150 by 0.70 gives a selling price of about $214.29. This is different from simply adding 30% to cost.
Adjust for difficulty and risk
A standard driveway and a difficult multi-surface property should not automatically share the same unit rate. Consider access, oxidation, organic growth, nearby landscaping, fragile materials and any work that requires extra protection or time. Document those assumptions so you can explain the quote and improve future estimates.
Review actual results
After completion, compare estimated labor and materials with what actually happened. If certain job types consistently run long, change the estimating assumptions. Pricing gets more accurate when completed jobs feed information back into future quotes.