
Guides
Window cleaning profit margin: a six-step quarterly audit
Audit your window cleaning profit margin with three measures, break-even days, contribution per productive hour, and a six-step quarterly review.
What to take away
- To assess your window cleaning profit margin, treat break-even as a count of working days, not a dollar figure. Work out how many days of your own route it takes to cover fixed cost, then decide whether that number is comfortable.
- Margin has three separate versions and they answer different questions. Confusing them is why owners feel profitable and run short of cash.
- The single most useful figure in this trade is contribution per productive hour. Everything else is downstream of it.
- Seasonality means the annual average hides the months that hurt. Run the arithmetic monthly.
- No margin, percentage or benchmark is stated here. Every number comes out of your own records.
This is general business guidance, not accounting or tax advice. Take qualified professional advice on how any of this applies to your own accounts.
Three margins, kept apart
- Job margin.Revenue for a job, minus the direct cost of doing it: labor with burden, travel, consumables. Answers whether that job was worth doing.
- Operating margin.All revenue for a period, minus all costs including overhead. Answers whether the company works.
- Owner margin.What is left after paying yourself properly for the hours you personally work. Answers whether you own a business or a job.
Most new companies look healthy on the first, acceptable on the second, and poor on the third. That pattern is normal in year one and a problem in year three.
The break-even calculation
Record monthly fixed cost as F, expected revenue per working day as R, and direct cost per working day as D (labor with burden, travel, and materials). Also record working days available in the month.
Break-even numbers to watch
- Ffixed cost per month
- Raverage revenue per working day
- Ddirect cost per working day
- Cushionworking days minus break-even days
Then:
- Contribution per working day= R minus D
- Break-even days per month= F divided by contribution per working day
- Cushion= working days available in the month, minus break-even days
The cushion is the number to watch. It tells you how many days of weather, illness or a lost account you can absorb before the month goes negative.
Run it monthly rather than annually. A winter month with fewer working days and the same fixed cost is a different business from a June.
Contribution per productive hour
Break-even tells you whether the month works. This tells you which work to sell more of.
Which work to sell more of
Dense clusters
- Travel cost
- Low
- Contribution per hour
- Higher
- Crew hours
- Fewer
Scattered work
- Travel cost
- High
- Contribution per hour
- Lower
- Crew hours
- More
Add-ons
- Travel cost
- Near zero
- Contribution per hour
- Top of list
- Crew hours
- Already on site
For each job: revenue collected, minus materials, divided by all crew hours including travel and setup. Group the results by service type and by area.
Two patterns show up almost everywhere. Dense clusters beat scattered work of the same value, and add-ons sold on a visit you were already making sit at the top of the list because their travel cost is close to zero.
What quietly removes margin
- Unpaid drive time.The largest single leak, and it never appears as a cost line.
- Rework.A second visit is a full cost with no revenue, so it takes the margin from the original job as well.
- Scope creep.Work performed and never quoted, usually agreed verbally on site.
- Discounts given at the door.Fine when they are a policy with a limit; corrosive when they are a habit.
- Equipment failure.A pump or a vehicle down for a day removes a whole day of contribution, which is why maintenance is a margin decision.
- Slow collection.It does not change margin, and it can still close a profitable company.
That last one deserves its own sentence. Profit and cash are different things, and this trade collects from commercial customers on their cycle rather than yours.
Margin leaks to check
- Unpaid drive time
- Rework second visits
- Scope creep
- Door discounts
- Equipment failure
- Slow collection
An audit you can run this quarter
- Pull every job from the last three months with revenue, hours and materials.
- Calculate contribution per productive hour for each. Sort the list.
- Look at the bottom decile. For each one, name the causetravel, condition, scope creep, rework, or a price set too low.
- Look at the top decile. Name what they have in common. Usually it is density or an add-on.
- Change one thinga minimum charge, a service radius, a scope wording, or a price on one service line.
- Re-run next quarter and compare. One change at a time is what makes the comparison mean anything.
This audit only works if the underlying records exist. IRS Publication 583, Starting a Business and Keeping Records, and the Internal Revenue Service recordkeeping guidance describe the standard a system has to meet to show income and expense clearly, which is exactly what step one requires.
Quarterly margin audit
- Pull three months of jobs
- Calculate contribution per hour
- Name causes in bottom decile
- Find what top decile shares
- Change one thing
- Re-run next quarter
Labor is the input that moves everything
Labor with its burden is usually the largest direct cost, so a wage assumption that is wrong makes every other calculation wrong.
From wage to margin input
- Check BLS wage for your metro
- Treat as one input
- Add employer costs
- Enter into margin calculation
Check the roles you need against the U.S. Bureau of Labor Statistics' Occupational Employment and Wage Statistics (OEWS) metropolitan-area wage tables for your own metro area. Treat the applicable occupational estimate as one input, not a rate card.
Add employer costs before the figure enters any margin calculation. A margin built on a bare wage uses a number nobody is paid.
What not to publish
An internal margin analysis is a management document. It becomes a problem when it turns into a marketing claim, because claims about value, savings and outcomes have to be supportable. The Federal Trade Commission's Advertising and Marketing Basics guidance for small businesses sets out what backing a claim requires, and "the best value in town" is a claim.
Where the numbers come from and go
Set R from expected revenue for the work scheduled that day, using a consistent billing basis. Put included tasks, exclusions, and approval for added work in the customer agreement; for example: “Work outside this written scope requires customer approval and a separate price before it begins.”
Three cost lines are set outside this page. Vehicle and consumable cost follows from your equipment and setup choices.
Insurance, registration and worker classification are fixed costs set by the licensing and compliance requirements where you work. Labor cost follows from how you go about hiring reliable window cleaning staff. That includes how much of your wage bill is lost to turnover and retraining.
Common questions
What is a normal profit margin for a window cleaning company?
There is no figure worth quoting, because reported margins depend on whether the owner's labor is paid, how the vehicle is treated, and what counts as overhead. Compare your own months to each other instead, using the same definitions every time.
Why does a busy month sometimes lose money?
Usually because the extra work was scattered. Busy adds travel and setup, and if the additional jobs were outside the route the extra revenue can arrive with more than its own cost attached.
How do I improve margin without raising prices?
Reduce travel by tightening the radius or batching outlying work, reduce rework by fixing scope wording and crew training, and sell add-ons on visits you are already making. All three are usually available before a price increase is needed.
At what point should I hire?
When contribution per working day is consistently limited by hours rather than by demand, and when the route is dense enough that a second person has full days. Hiring to chase scattered work adds cost faster than revenue.







