Price each surface by square foot from your crew's cost per hour and how fast you actually clean it, add a minimum charge for small jobs, then adjust for access and staining. Yes, AI can build the rate card: give it your costs and timings, and it returns per-square-foot prices and sample quotes that you check by hand.
Published ranges overlap and none of them knows your costs. Housecall Pro's October 2026 guide lists $0.20 to $0.40 a square foot for concrete, $0.20 to $0.50 for vinyl siding and $0.30 to $0.55 for wood, while Joist's guide gives $0.30 to $0.55 for driveways. Both leave the minimum charge and the access and staining modifiers to you and give no dollar figures for them, and those are the lines where small and awkward jobs lose money.
Cost per crew hour comes first
This illustration uses one operator. A second person changes the labour line and the speeds, but not the method. The operator earns $26 an hour and burden (payroll taxes, insurance, holiday pay) adds 25%, so labour costs $32.50. The pressure washer, surface cleaner, hoses, trailer and fuel average $9 an hour. Overhead (insurance, software, accounting, marketing) is $16 for every billable hour, found by dividing the year's overhead by the hours you really bill. That makes $57.50 an hour of cost.
The margin formula is the same one Housecall Pro uses in its guide: price equals break-even cost divided by one minus your target margin. At 30%, $57.50 divided by 0.70 gives $82.14 an hour, or $1.37 for each minute of crew time. Every modifier below is priced at that per-minute figure. The same guide lists $50 to $100 an hour per crew member as a typical hourly range and Joist lists $60 to $125, so $82 sits comfortably inside both.
| Input | Illustration | Where yours comes from |
|---|---|---|
| Operator wage | $26.00 | What you pay, or pay yourself |
| Labour with 25% burden | $32.50 | Wage times 1.25 |
| Equipment, fuel and vehicle | $9.00 | Last year's costs divided by billable hours |
| Overhead | $16.00 | Yearly overhead divided by billable hours |
| Cost per hour | $57.50 | Sum of the three lines above |
| Price per hour at a 30% margin | $82.14 | $57.50 divided by 0.70 |

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowTime yourself: square feet per hour for each surface
A per-square-foot price is a time estimate in disguise, so the number to find is how many square feet you clean in an hour on site. Time ten jobs on each surface with a stopwatch app, writing down the area and the minutes. Keep the visit time separate: set-up, driving, laying hoses, packing down and the walk-round with the customer. In this illustration the visit takes 60 minutes whatever the job, and the speeds are 450 square feet an hour for concrete with a surface cleaner, 220 for a wood deck (moving furniture, careful passes, rinsing) and 500 for house walls soft washed, which means cleaned with low pressure and a cleaning solution. Chemicals cost about $0.012 a square foot on concrete, $0.03 on a deck and $0.025 on walls. If you price in square metres, multiply a per-square-foot rate by 10.76: $0.20 a square foot is about $2.15 a square metre.
Measure house walls by the area you clean, not the floor area of the home. A 140-foot perimeter with 17-foot walls is 2,380 square feet, and taking off about 15% for windows and doors leaves roughly 2,000. If you quote from photos or a map, the tutorial on measuring from satellite images covers what remote measuring gets wrong, such as hidden walls and steps.
A visit fee plus a rate per square foot
Many cards use one rate per size band, and bands create cliffs: a 500 square foot job costs more than a 520 square foot one if the rates drop between them. The cleaner design has two parts, which is also how the cost really behaves. The visit fee is one hour of crew time at your price, $82.14, and it pays for set-up, driving and pack-down. The rate per square foot pays for the cleaning itself: speed, chemicals and margin.
For concrete, 450 square feet an hour at $57.50 is $0.128 of cost per square foot, plus $0.012 of chemicals, which is $0.140 and $0.20 once divided by 0.70. For a deck it is $57.50 divided by 220, plus $0.03, divided by 0.70, which is $0.42. House walls come to $0.20. The card therefore reads: $82 visit fee, then $0.20 a square foot for concrete, $0.42 for a wood deck and $0.20 for house walls. Add the two parts and divide by the area, and the effective rate per square foot falls as the job grows, because the same $82 is spread over more cleaning.
| Surface | Job size (sq ft) | Price | Effective rate per sq ft |
|---|---|---|---|
| Concrete | 300 | $142 | $0.47 |
| Concrete | 500 | $182 | $0.36 |
| Concrete | 900 | $262 | $0.29 |
| Concrete | 1,500 | $382 | $0.25 |
| Concrete | 3,000 | $681 | $0.23 |
| Wood deck | 150 | $145 | $0.96 |
| Wood deck | 300 | $207 | $0.69 |
| Wood deck | 600 | $332 | $0.55 |
| House walls | 1,200 | $322 | $0.27 |
| House walls | 2,000 | $482 | $0.24 |
| House walls | 3,000 | $682 | $0.23 |
Set that against the published ranges. The concrete figures run from $0.23 to $0.47, overlapping Housecall Pro's $0.20 to $0.40 and Joist's $0.30 to $0.55 for driveways. House walls land at $0.23 to $0.27, inside the $0.20 to $0.50 that both guides give for vinyl siding. Decks disagree, and that is worth noticing. A 300 square foot deck at the published wood range of $0.30 to $0.55 comes to $90 to $165, below the $207 this illustration needs, though Housecall Pro's flat range for decks, $100 to $250, does contain it. Either your decks go faster than 220 square feet an hour, or the low end of the range assumes a cost structure you do not share. Time your own decks before choosing.
The minimum charge is the visit itself
The smallest sensible job is the visit hour plus half an hour of cleaning: 1.5 hours at $57.50 is $86.25, plus about $5 of chemicals, which is $91.25 and a floor of $130.36. Round it to $135. The minimum is a floor on the total price, not an extra line added to it. For concrete the formula only exceeds $135 above about 265 square feet, so below that the minimum governs.
A 150 square foot patio shows how it works. The formula gives $112.10, the minimum overrides it at $135, and the effective rate is $0.90 a square foot. That looks silly on paper and is correct: the customer is paying for you to arrive, set up and leave, not for the patio. Small jobs are better sold as an add-on to a bigger one, which the bundle rule below rewards.
Three jobs priced from the card
Take three requests from one week. The first is a 900 square foot concrete driveway with an outdoor tap. The second is a 300 square foot wood deck. The third is the walls of a two-storey house with 2,000 square feet to clean and algae on the shaded side. The first two need no modifiers. Prices here use the rounded card rates, so the deck comes to $208 against $207.01 in the unrounded sheet.
| Job | Working | Price | Your cost | Margin |
|---|---|---|---|---|
| Driveway, 900 sq ft | $82 + 900 x $0.20 | $262 | $183.30 | 30.0% |
| Deck, 300 sq ft | $82 + 300 x $0.42 | $208 | $144.91 | 30.3% |
| House walls, 2,000 sq ft, base | $82 + 2,000 x $0.20 | $482 | $337.50 | 30.0% |
The house needs modifiers, and they are where most quotes go wrong, because owners price them by feel. Convert each into minutes of crew time and extra materials, then into a price at $1.37 a minute.
| Modifier | Extra crew time | Extra materials | Price at your margin | On the card |
|---|---|---|---|---|
| Two-storey walls (pole or ladder work) | 25% more cleaning time, 60 minutes on 2,000 sq ft | None | $82.14 | $0.04 a sq ft of wall on a two-storey house |
| No outdoor tap near the work | 30 minutes | $8 fuel and hose | $52.50 | $55 |
| Heavy stain or algae (pre-treat, dwell, scrub) | 45 minutes | $18 chemicals | $87.32 | $90 |
| Hose run over 100 feet | 15 minutes | None | $20.54 | $25 |
| Steep or tight access (15% more cleaning time) | 18 minutes on a 900 sq ft driveway | None | $24.64 | $25 |
| Two surfaces in one visit | Saves one visit hour | None | Minus $82.14 | One visit fee, not two |
The house therefore becomes $482 for the walls, $80 for two-storey work across the walls and $90 for algae treatment, a total of $652. The cost is $456.13 for 6.75 hours of crew time plus chemicals, so the margin is 30.0%. Quoted at the base $482 and then worked with the pole work and the pre-treatment, the same house would earn $25.87, a 5.4% margin, which is the sort of quote that looks fine until the invoice is paid.
The last row of the table matters most when customers ask for two things. The driveway and the house walls priced separately come to $913.46. In one visit, with one visit fee, they come to $831.32. The $82.14 saving is real, because you only set up once, and offering it is a reason to say yes to the bigger job.
Asking an assistant for the card and the sample quotes
Give the assistant the inputs, the formula, and your rules for the minimum charge and for bundles, and ask for formulas in cells so you can see the working. The tool matters less than the prompt: any of the big three assistants will lay this out from pasted text. Use your own figures in place of these.
I run a one-person pressure washing business. Build a spreadsheet layout for Excel or
Google Sheets that turns my costs and timings into a rate card. Use formulas, name
every input cell and list every assumption you make.
Inputs (a labelled block, one value per cell):
- Operator wage per hour: 26
- Burden on wages: 25%
- Equipment, fuel and vehicle per hour: 9
- Overhead per billable hour: 16
- Target profit margin on price: 30% (margin, not markup)
- Visit time per job (set-up, driving, pack-down), hours: 1.0
- Minimum charge: 135
Surfaces: square feet cleaned per hour on site; chemical cost per square foot
- Concrete flatwork: 450; 0.012
- Wood deck: 220; 0.03
- House walls, soft wash: 500; 0.025
Show for each surface the visit fee and the rate per square foot (both as prices, not
costs). Then price these jobs with cost, profit and margin: a 900 sq ft driveway, a
300 sq ft deck, and 2,000 sq ft of house wall with two-storey work (25% more
cleaning time) and 45 minutes of algae pre-treatment plus $18 of chemicals.
Price = cost divided by (1 minus margin). The minimum charge is a floor on the total
price, not an extra line. If two surfaces are done in one visit, charge one visit fee.
Add a modifiers table where each modifier is minutes of crew time plus materials,
converted to a price at my margin.
The reply usually gets the structure right, which is why a check is needed: the slips sit in rules you stated once. An illustrative results block:
| Job | Price as printed | Correct price |
|---|---|---|
| Driveway, 900 sq ft | $261.86 | $261.86 |
| Deck, 300 sq ft | $207.01 | $207.01 |
| House walls with both modifiers | $651.61 | $651.61 |
| Driveway and house walls, one visit | $913.46 | $831.32 |
Three rows are right and the bundle is wrong. The sheet added the two single-visit prices instead of charging one visit fee, so it overstates the price by $82.14. Another slip to look for is the minimum charge added on top of the price instead of used as a floor, which would turn the 900 square foot driveway into $396.86. Test both rules with jobs you can price in your head: a 150 square foot patio should come out at $135, and the driveway plus house should come out at $831.32.
Margin check: price the jobs backwards, then try to break them
Recompute each job's cost from its hours and chemicals, as in the table earlier, and read off the margin. All three sit at about 30%, and each earns $26 to $29 of profit for every hour of crew time. Profit per hour is a useful second measure, because it lets you compare a small deck with a large driveway on the same footing.
Then break the prices on purpose. A 15% discount on the driveway takes $262 to $222.70 and the margin from 30.0% to 17.7%, because margin is measured on the price and the whole discount comes out of profit. If a customer pushes on price, remove a modifier or an extra instead of cutting the rate, or offer the bundle saving, which is real. The markup versus margin sheet sets out why the same percentage means different things on cost and on price.
The second test is speed. If you really clean concrete 15% slower than 450 square feet an hour (382.5), the driveway takes 3.35 hours, costs $203.59 and earns a 22.3% margin at $262, or $17.42 an hour of profit. The card did not change and the margin did, which is why the timing records matter more than the price list.
Eight timed driveways against the card
Until real jobs confirm them, your speeds are guesses. For each finished job record the area, the visit minutes (everything except cleaning) and the cleaning minutes. If your notes are scattered across texts and invoices, tidy them first, as the tutorial on cleaning messy data describes, and strip customer names and addresses before pasting anything into an assistant. Eight concrete jobs, as an illustration:
| Measure | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Area (sq ft) | 600 | 850 | 1,200 | 450 | 1,000 | 700 | 1,500 | 900 |
| Visit minutes | 70 | 85 | 75 | 80 | 90 | 65 | 80 | 75 |
| Cleaning minutes | 95 | 130 | 190 | 70 | 155 | 105 | 240 | 140 |
| Sq ft per hour | 379 | 392 | 379 | 386 | 387 | 400 | 375 | 386 |
The assistant's summary, which you should verify by hand, runs like this. The 7,200 square feet took 1,125 cleaning minutes, which is 384 square feet an hour against the 450 in the card, so you are 15% slower than assumed. The visit averages 77.5 minutes against the 60 allowed. Re-running the card with those inputs gives a visit fee of $106, a concrete rate of $0.23 and a minimum of $155. The 900 square foot driveway becomes $314.05, up 19.9% from $262. Worked at the old price with the real times, that job cost $219.84 and earned 16.1% instead of 30%.
Eight jobs are enough to show the direction, not to fix the numbers. Update the inputs, re-run the card and keep logging. If the speeds on a few jobs differ widely, look for the cause, such as stain type, surface texture or a blocked drain, and turn it into a modifier instead of averaging it away.
The card as customers see it, and the reply that goes with it
The version for customers shows the starting point and the extras and leaves out the cost workings. For example:
Visit fee $82 (set-up, travel and pack-down). Concrete, driveways and patios: $0.20 a square foot. Wood decks: $0.42 a square foot. House walls, soft washed: $0.20 a square foot of wall. Minimum charge $135. Confirmed when we quote: algae or heavy staining $90, no outdoor tap $55, two-storey houses $0.04 a square foot of wall. Two surfaces in one visit pay one visit fee.
The reply to an enquiry should be fast and specific. This one assumes the customer sent photos and a rough area:
"Hi [first name], thanks for the photos. For the 900 square foot driveway the price is $262, which covers cleaning the whole surface and rinsing the edges. That assumes we can use an outdoor tap; if not, there is a $55 charge for bringing water. I can do Thursday morning or Friday afternoon. If you would like the front walls cleaned in the same visit, I can add them at $0.20 a square foot with no second visit fee. [your name]"
Speed matters as much as price at this stage, and replying to quote requests faster with AI covers a workflow for it. Put the terms behind the price, such as cancellation, weather and what happens if a stain does not lift, in a written agreement; the pressure washing contract tutorial lists what to check. For homeowners' associations and commercial sites the same cost method applies, but you will present it as a proposal rather than a card.
When a published rate would lose you money
A rate card is also a refusal tool. Suppose a customer wants a 600 square foot deck done at $0.30 a square foot, the bottom of the published wood range. That is $180 against a cost in this illustration of $232.32, a loss of $52.32 before you count the time you spent quoting. Your options are to decline, to offer the deck in the same visit as a driveway so the visit fee is shared, or to quote the price your costs need and let the customer decide. Matching a cheaper range because it exists in a guide is the one choice the numbers rule out. Review the card whenever wages, fuel or chemical prices move, and at least every quarter, by changing the inputs and letting the sheet reprice every line.
Questions pressure washers ask about a rate card
Should I publish my prices on my website?
Publish a visit fee and a per-square-foot rate, or a few 'from' prices for common jobs, and quote everything else. A card cannot see a two-storey house with algae on the north wall, so give the starting point and the modifiers, then confirm the exact price from photos or a visit. Whether it brings better enquiries is worth testing for a quarter.
How do I price a roof wash?
Keep it off the card. Working at height carries more risk and a different method, so price it separately and check your insurance covers it first. Housecall Pro's guide lists $450 to $700 as a flat range for roof washes, which is a sense check only; build your price from your own time and chemical cost.
What do I say when a customer has a cheaper quote?
First check the quotes cover the same job: surfaces, stain treatment, rinse-down and any rework promise. Then compare the price with your floor. If it is below your floor, thank them and decline, because matching it would cost you margin on every job. If it is above your floor, you can afford to move, but by a stated amount.
Should I charge travel separately?
Normal travel belongs in the visit fee, which already covers set-up, driving and pack-down. Add a distance charge only beyond your usual radius, and work it out from the minutes: at the illustrated cost, each extra minute of crew time adds about $1.37 to the price, so 20 extra minutes of driving adds $27.
Further reads
- Pressure Washing Marketing Ideas: Neighbour Offers and Posts With AI — Fill a street's worth of jobs once one customer says yes.
- Pressure Washing Facebook Ads: Before-and-After Creative Made With AI — Before-and-after ads that quote your card's starting prices.
- Can You Price Gutter Cleaning From Street View? What AI Gets Wrong — Price a related exterior job and see what remote measuring misses.
- How to Price Window Cleaning: Per-Window Rates and AI Quotes From Photos — Per-unit pricing and photo quotes for another exterior service.
- Should You Charge for Estimates? A Decision Rule for Small Trades — Decide when a site visit should be paid for.
- Price Commercial Cleaning Jobs: A Margin Calculator Built With AI — The same margin logic applied to contract cleaning.
- Pricing Lawn Care From Satellite Measurements: Can AI Do It? — More on measuring area from a map before you quote.
- Can AI Help a Roof Cleaning Business? Photo Quotes and Safety Notes — Which roof cleaning jobs AI can take (replies, photo requests, captions, rebooks) and which safety checks must stay human.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Housecall Pro's pressure washing pricing guide (updated 28 October 2026) and Joist's pressure washing pricing guide (updated 14 October 2026) for the published ranges quoted. The rate card figures are illustrative.