Cleaning is the most underrated O&M service — and one of the most profitable. Dirty panels generate less, and customers rarely notice the slow loss. Knowing when to recommend it, how often and how to charge turns a simple task into a source of recurring revenue.
How much dirt really costs
Soiling losses usually range from 5% to 25% of generation, depending on the environment. The worst scenarios: dusty areas (dirt roads, farmland), urban pollution and soot, nearby construction, bird droppings (which create concentrated shade and can cause hot spots) and low tilt (rain does not wash the panels as well). On very flat roofs, dirt accumulates along the bottom edge of the module.
When and how often to recommend it
Use monitoring as an objective trigger: a gradual drop in generation with no weather explanation points to soiling. As a rule, one or two cleanings a year are enough in most cases; harsh environments call for quarterly cleaning. Clean with water (preferably demineralised) and a soft brush, in the cooler hours (hot module plus cold water means a risk of thermal shock). Never use abrasive products or high-pressure jets.
How to turn it into a service
Offer cleaning as a one-off service (triggered by a drop alert) and as an item in O&M plans (fixed frequency). Price it per kWp or per number of modules and take access into account (height, roof, protective equipment). Always report the result: "generation returned to X after cleaning" reinforces the value and justifies the recurrence.
Cleaning frequency by environment
| Environment | Suggested frequency |
|---|---|
| Clean urban area, good tilt | 1x/year |
| Urban with pollution/soot | 2x/year |
| Rural with dust / near a dirt road | Every 3–4 months |
| Areas with many birds | On demand + inspection |
| Flat roof / low tilt | 2x/year or more |