Commercial Solar Panel Cleaning: A Guide for Wisconsin Owners
By Marquis Mason ·

For a business, dirty panels are not a housekeeping issue. They are a production number inside a budget, and they compound across every panel you own. A homeowner loses a few percent on one roof. A facility with 500 panels loses the same percent on a much bigger number — and usually has a production expectation, a sustainability report, or a power purchase agreement that assumed the panels were being maintained.
The scale math
Across the US, annual soiling losses run 0–7% of production, per NREL research. Globally, the IEA's photovoltaic program puts soiling at 4–7% of all solar energy losses, costing the industry billions of euros a year. The most-cited dollar figure in this field — at least €3–5 billion lost in 2018 — comes from a peer-reviewed assessment in Joule, and it is a global figure in euros. Anyone quoting you a US multi-billion number is misreading that paper.
For your own roof, the math is simple. A 100 kW commercial array in the Madison area produces roughly 123,100 kWh a year (NREL PVWatts: 1,231 kWh per kW for Madison). At a 3% soiling loss, that is about 3,700 kWh a year not produced. Multiply by your actual rate on your tariff — commercial rates vary too much for me to honestly price it for you here — and that is the annual cost of leaving the dirt where it is. The measurement method behind numbers like these is in how to calculate soiling losses.

Wisconsin commercial arrays soil from the same sources as houses, at larger scale: spring pollen (which peaks in May, at the start of peak production season), road and parking-lot dust, rooftop exhaust residue, bird activity around roof structures, and agricultural dust anywhere near fields.

What a cleaning scope includes — and what it never includes
A professional cleaning scope should say this plainly, in writing, before anyone quotes you:
Cleaning is: panel surface cleaning with deionized water and soft contact at low pressure, matched to the panel manufacturer's instructions; a visual inspection of the array; before-and-after documentation; and a dated service record for your files.
Cleaning is not: electrical troubleshooting, inverter repair, roof repair, vegetation removal, snow removal, or pest remediation. It is not panel removal, reinstallation, or install work of any kind. If a cleaner finds an electrical problem, the correct move is documenting it and handing it to your electrical contractor — not improvising on your roof. I refer that work out, and any cleaner who won't should not be on your building.
That boundary protects you twice: the work stays inside what your panel warranty expects (manufacturers are specific about cleaning methods — see will cleaning void your warranty), and your service record stays clean for warranty or insurance questions later.
What it costs — published, not quoted-behind-a-form
My commercial pricing is a per-panel tier table, and it is on the record:
| Panels | Rate per panel |
|---|---|
| 1–100 | $6.00 |
| 101–500 | $4.75 |
| 501–1,500 | $3.75 |
| 1,501+ | $3.00 |
Add $1 per panel for rooftop arrays and $2 per panel when a lift is required. There is a $300 commercial trip minimum. A 200-panel rooftop, for reference: 200 × $4.75 = $950, plus $200 rooftop = $1,150. The residential side of the table and the plan discounts are on the cost page.
Solar Alchemist is owner-operated. I quote the work, I do the work, and I sign the service record — no subcontractor handoff, no rotating crew. The business carries commercial general liability insurance at $1M per occurrence / $2M aggregate, and a current COI is available for your vendor file on request.
Setting a schedule
The IEA's guidance is that cleaning schedules should be tailored to local conditions — there is no universal interval, and any vendor who sells you one without asking about your site is guessing. For most southern Wisconsin commercial roofs, the working rhythm is a late-spring cleaning after pollen season and an assessment in the fall. Sites near agriculture, highways, or rooftop exhaust may justify more. Your production data should arbitrate: if a cleaning recovers 1%, stretch the interval; if it recovers 6%, tighten it.
If you manage a facility anywhere in my 15-county southern Wisconsin service area, text me at (608) 571-4173. I'll count your panels from satellite imagery, quote the tier price in writing, and tell you plainly if your production numbers say you can wait.
