How Much to Charge for Window Cleaning, Per Pane and Inside and Out

Charge per pane, with multipliers for panes that take longer, and a minimum charge for small jobs. But set the base pane price from what your year needs per working day and how many stops your route fits in that day - not from the pane alone. In the illustrative example below, the year needs $299.86 a route day. With five minutes of driving between stops, that works out to $1.25 a pane. With thirty minutes, it is $2.81 - same panes, same speed, same customers, more than twice the price.
None of these are market prices, and nothing here tells you what your area pays. They are what one set of made-up costs requires. Your price comes from your numbers, run through the same steps.
The formula
Two pieces. The quote a customer sees:
Job price = the larger of (panes x base price x pane multiplier, summed over pane types) and your minimum charge
And the base price behind it:
Base pane price needed = day target / (stops per day x panes per stop)
where stops per day = working hours / (minutes per stop + minutes driving between stops), and the day target is the revenue your year needs divided by the days you work.
Step 1: what one day has to bring in
Illustrative inputs: you want to keep $44,000 a year after tax, the business carries $11,800 of overhead (ladders and a water-fed pole, the van, height insurance, filters, software, leaflets), and tax on profit is a placeholder 25%.
- Revenue needed: $44,000 / (1 - 25%) + $11,800 = $70,466.67
- Route days: 47 working weeks x 5 days = 235
- Day target: $70,466.67 / 235 = $299.86
Every route day that bills less than that leaves a hole another day has to fill.
Step 2: a per-pane rate card
Panes are the quoting unit because you can count them from the street. A pane that takes longer gets a multiplier. At a $2.50 base:
| Pane type | Multiplier | Price per pane |
|---|---|---|
| Standard, ground floor | x1.00 | $2.50 |
| Standard, upper floor (ladder) | x1.85 | $4.625 |
| Georgian / French, per small pane | x2.40 | $6.00 |
| Storefront, ground level | x0.80 | $2.00 |
| Skylight or sunroom | x2.75 | $6.875 |
The multipliers here are the example’s, not a standard. Time yourself on each kind and set your own: a multiplier is just “this pane takes this many times as long as a standard ground-floor one”.
How much to charge for window cleaning a house
Say a house has 12 ground-floor panes and 10 upper-floor panes that need a ladder, outside only:
- 12 x $2.50 = $30.00
- 10 x $4.625 = $46.25
- Outside: $76.25
That clears the $65.00 minimum, so the per-pane total is the quote.
How much to charge for window cleaning inside and out
The inside is a second clean of every pane, priced on its own time. Two things change. The ladder multiplier drops away, because an upper-floor pane is reached from the floor inside. And inside work can be slower - moving furniture, protecting sills, no water-fed pole. This example assumes an inside pane takes 1.5 times as long as a standard outside one; time your own.
- Inside: 22 panes x $3.75 = $82.50
- Inside and out: $76.25 + $82.50 = $158.75
That is 2.1 times the outside-only price, or $7.22 per pane for both sides. Quote the two sides as separate lines, so a customer who wants only the outside next time already knows that price.
The minimum charge
18 standard panes at $2.50 is $45.00, which bills at the $65.00 minimum. On this card, anything under 26 standard panes hits it. A job that small is mostly the drive and the setup, and the minimum is what pays for them. A cheaper alternative for the customer is to join a route, where the journey is shared with the next stop.
The drive between stops decides the day
This is the part a per-pane rate card cannot see. Take a 8-hour route day of 15-minute cleans at $25 a stop - about 10 standard panes each at the $2.50 base. Change only the driving between stops:
| Drive between stops | Stops in the day | Day bills at $25 a stop | Per hour of the day | Price per pane the day needs |
|---|---|---|---|---|
| 5 min | 24.0 | $600.00 | $75.00 | $1.25 |
| 10 min | 19.2 | $480.00 | $60.00 | $1.56 |
| 15 min | 16.0 | $400.00 | $50.00 | $1.87 |
| 20 min | 13.7 | $342.86 | $42.86 | $2.19 |
| 30 min | 10.7 | $266.67 | $33.33 | $2.81 |
| 45 min | 8.0 | $200.00 | $25.00 | $3.75 |
Five minutes between stops fits 24.0 stops and bills $600.00. Twenty minutes fits 13.7 and bills $342.86 - 10.3 fewer stops and 43% less money, at identical prices. Nothing about the cleaning changed.
Now compare each row with the $299.86 day target. At twenty minutes the day still clears it, and the $2.50 base pane price is more than the $2.19 the day needs. At thirty minutes the day bills $266.67, and the pane price needed rises to $2.81 - above the base. In this example the line falls at about 25 minutes of driving between stops. Past that, the same rate card loses money every day, and no amount of working faster on site fixes it, because the time being lost is in the van.
Even one route day a week adds up: over 46 such days, the gap between five and twenty minutes apart is $11,829 a year at the same prices.
That is why “window cleaning prices” have no single right answer. A pane price that works on a tight route is a losing price on a scattered one. Before raising prices, it is worth asking whether the route can be tightened instead: grouping customers by street, declining jobs far outside the route, and offering a lower price to neighbors of an existing stop.
Frequency, and what it does and does not buy
Recurring customers matter in this trade, but it pays to be exact about why. Here are four customers from the same example, with 20 minutes of driving added to every visit:
| Customer | Visits a year | Year’s billing | Hours on site | Hours incl. driving | Per hour incl. driving |
|---|---|---|---|---|---|
| Storefront, every two weeks, $25 | 26 | $650.00 | 6.5 | 15.2 | $42.86 |
| Commercial, monthly, $45 | 12 | $540.00 | 7.2 | 11.2 | $48.21 |
| House, quarterly, $120 | 4 | $480.00 | 6.0 | 7.3 | $65.45 |
| Large house, once, $400 | 1 | $400.00 | 5.0 | 5.3 | $75.00 |
The every-two-weeks $25 storefront bills $650.00 a year, more than the $400.00 one-off house. But per hour, once the driving is counted, the storefront earns $42.86 and the one-off house $75.00: those 26 visits carry 8.7 hours of driving between them. A frequent small customer is worth more per year, not per hour, and its hourly rate is set by the route it sits on - which is exactly the twenty-minute row of the route table above.
What frequency buys is a calendar that refills itself without quoting and selling. That only pays if the stops are close together, which brings it back to route density.
How these were calculated
Revenue needed is take-home divided by one minus the tax rate, plus overhead; the day target divides it by working weeks x route days a week. A quote is panes x base price x multiplier, summed over pane types, or the minimum if that is larger. Stops per day are working minutes divided by stop minutes plus driving minutes; the day bills stops x price per stop, and the pane price needed is the day target divided by stops x panes per stop. The frequency table adds the stated driving time to every visit. Every figure was computed twice, by the code behind the product and by an independent implementation, and the two agree. All inputs - income, overhead, pane prices, multipliers, stop times, the inside-pane factor and the 25% tax figure - are illustrative, not typical or market figures. None of this is financial, legal or tax advice.
If you want to run this on your own costs, route and pane counts, the kit below lays out the same arithmetic with blank worksheets for your rate card, minimum and route day, plus scripts for quoting, frequency and route-wide price rises.