Panel Cleaning Results: ABC Co.
Panel Cleaning Results · ABC Co.
Cleaning performed byYOUR SOLAR COMPANYYour Phone · Your Website or Email
Value of Additional Energy
+$1,190
if this output level is maintained
Increased Power – Weather Corrected
+14.5%
production per unit of sunlight
Peak Power Recovered
+12.8%
of lost system capacity, restored
Cleaning ROI — Year One
124.5%
$530 cost → $1,190 recovered · 5.3 mo

ABC Co. · Fullerton, CA · 86.9 kW DC system

Executive Summary

YOUR SOLAR COMPANY's June 17 cleaning increased solar production, adding an estimated $1,190 in annual solar value for ABC Co. — bringing total projected annual solar value to $20,785 with cleaning maintained, versus $19,595 measured without it. The result is weather-adjusted and based on ABC Co.'s avoided electricity costs. Weather-normalized output rose 14.5% after cleaning, and peak power rose 12.8%.

Customer name removed — data is from a real solar installation

Projected Annual Gain

Extra production, annualized
11,096 kWh
if this extra 30.4 kWh/day repeats across the year

What "no cleaning" actually looks like

This isn't hypothetical — it's what we already measured. The prior 12 months of this account's data (the same figures behind its annual solar report) cover a full year with no cleaning event on record, ending in the soiled state captured right before YOUR SOLAR COMPANY's visit.

ScenarioAnnual avoided cost
No cleaning (measured, prior 12 months)$19,595.10
With annual cleaning, maintained near post-clean level$20,784.74

Recommendation

Continue the annual cleaning program. This holds under every scenario we modeled, including what "doing nothing" actually looks like based on this account's own prior-year data (see the comparison above) and the plateau-vs-progressive soiling question addressed in How We Calculated.

Weather-adjusted, not just a raw before/after reading Cross-checked against SCE's independent grid meter Energy figure only — demand-charge impact not yet validated, by design

The proof

What We Measured

15 days of production before the cleaning, 6 days after, normalized against each day's actual measured sunlight — so the numbers below are the cleaning effect, with weather already subtracted out.

PeriodDaysAvg. daily outputNormalized yieldAvg. peak power
Before cleaning
Jun 2–16, 2026
15420.2 kWh14.29 kWh/MJ·m²50.7 kW
After cleaning
Jun 17–22, 2026
6450.6 kWh16.36 kWh/MJ·m²57.2 kW
Change+7.2%+14.5%+12.8%

"Avg. peak power" is the array's own daily output peak (11am–2pm), not the account's demand-charge-setting interval (~8:30–9am) — the two don't currently show the same improvement. See How We Calculated for why we don't attach a dollar figure to this number.

Every day in the comparison window

6/2
6/3
6/4
6/5
6/6
6/7
6/8
6/9
6/10
6/11
6/12
6/13
6/14
6/15
6/16
6/17
6/18
6/19
6/20
6/21
6/22
Before cleaning After cleaning — June 17

The two shorter bars in the "after" group (6/18, 6/19) are documented marine-layer mornings, not equipment — see How We Calculated.

For the technically curious

How We Calculated

Every step, in plain language. The numbers in this report are real — measured from an actual solar installation. The customer name has been replaced with “ABC Co.” for this sample, but the production data, irradiance model, billing rates, and ROI figures are all drawn from a live account.

Why we normalize for weather instead of comparing raw kWh

Raw daily output swings roughly 40% day to day just from cloud cover — far bigger than any plausible cleaning effect. Comparing raw kWh before and after would mostly measure the weather during those two weeks, not the cleaning. We instead divide each day's production by that day's actual measured sunlight (irradiance), so cloudy and clear days become directly comparable.

The irradiance model: plane-of-array, not a flat-surface proxy

ABC Co.'s array is tilted 15°, facing true south. A tilted surface receives a different mix of sunlight through the year than a flat one does — so we compute real plane-of-array (POA) irradiance: actual sun position for every hour of the comparison window, transposed onto the array's specific tilt and orientation, using each hour's measured direct and diffuse sunlight components (not a single flat-surface irradiance number). This is the same class of calculation solar engineers use to model expected array output.

We validated this against the simpler flat-surface estimate: the two methods agree closely for this short, same-month comparison window (+14.5% vs. +13.6%), which is expected since geometry effects are largest across seasons, not within two adjacent weeks in June.

Cross-checked against SCE's independent meter

SolarEdge's own monitoring is the primary data source, but we don't take it on faith. For the days where SCE's own grid meter data is available, exported energy never exceeds SolarEdge's reported production on any day — a basic physical consistency check that has to hold true, and does.

Why the two lower after-cleaning days don't break the result

June 18 and 19 show a smaller uplift than the other four after-cleaning days. Hour-by-hour production on those two days shows a classic Southern California marine-layer signature — suppressed output through mid-morning, then a sharp ramp around 11am as the overcast burns off. The same pattern appears on at least one before-cleaning day (June 6). It's weather, not equipment, and the average holds either way.

The soiling "blanket effect" — and what happens if it's not cleaned

Soiling doesn't just block light — the dust layer itself absorbs solar energy and can raise panel temperature, which then further reduces output through the normal temperature efficiency penalty all silicon panels have. Published research documents temperature increases from soiling in the range of roughly 1–10°C depending on dust density, compounding on top of the direct light-blocking loss.

Published soiling-loss studies put typical losses in the 3–14% range, rising to 20–50%+ in arid regions or after long neglect. ABC Co.'s measured 14.5% sits at the upper end of the normal range — consistent with an array that had gone a while without cleaning, not an outlier result.

Why isn't there a demand-charge line in the dollar figure?

An earlier version of this report included one, based on the array's own peak output increasing 12.8% after cleaning. We pulled it after checking the timing more carefully: this account's actual demand-charge-setting interval occurs at approximately 8:30–9:00am, but solar's own daily peak consistently occurs between 11am and 2pm — both before and after cleaning. Those are two different times of day, so an increase in the array's midday peak doesn't automatically mean anything for the specific 15-minute interval the utility bill actually uses.

We checked output specifically at 8:30–9:00am, before vs. after cleaning, and it did not show the same improvement the midday peak did — if anything it was flat to lower in this small sample, though weather noise (two of the six after-cleaning mornings had marine-layer cloud cover) makes that inconclusive rather than a confirmed decline either way.

Rather than publish a number we can't stand behind, we removed it. The $1,189.64/yr figure in the Executive Summary is energy savings only, and we're confident in it. If a validated demand-charge estimate becomes possible with more data, we'll add it back with the same rigor.

This doesn't mean the demand-charge opportunity is zero — it means we haven't confirmed it yet. The array's overall capacity clearly improved; whether that reaches the 8:30–9am window enough to matter is still an open question, not a closed one. Worth revisiting once more post-cleaning data accumulates, and possibly worth a closer look at whether load can be shifted later into the morning to capture more of what solar already offers.

Does skipping a year make it worse, or does it just stay flat?

Honest answer: we only have one soiling data point for this array (the state it reached after roughly a year with no cleaning), so we can't yet say for certain what a second uncleaned year would look like. There are two documented possibilities in the research:

  • Plateau case: light dust and pollen often reach a rain-washing equilibrium and don't keep compounding indefinitely — in this case, skipping cleaning just means staying at the $19,595/yr level we already measured, with no further known decline.
  • Progressive case: published soiling research documents a real mechanism called cementation — dust bonding to the panel surface via humidity/dew cycling, turning rain-removable dust into a rain-resistant crust. Once that happens, simple weather exposure stops helping and losses can compound rather than plateau.

Either way, the recommendation doesn't change — the $1,189.64/yr figure already reflects the conservative (plateau) assumption. The progressive case only means there's more value at stake than that number captures.

Source: Cleaning of Photovoltaic Modules through Rain: Experimental Study and Modeling Approaches, Solar RRL

Cleaning ROI — ABC Co.

124.5%
$530 panel cleaning cost against $1,189.64 in additional annual energy value recovered — a $659.64 net first-year benefit. Payback period: approximately 5.3 months.

Sources

DataSource
Production (15-minute)SolarEdge monitoring, site 7836421
Grid import/exportSCE Green Button interval data, account 3927561840
Solar irradianceHistorical archive, site coordinates, hourly direct + diffuse components
Avoided-cost ratesABC Co.'s own SCE TOU-GS-2-D billing-cycle reconciliation

What We Reviewed

  • Six days of after-cleaning data. The direction and size of the effect are consistent across every check we've run, but the sample will keep growing as more days come in — this report will be updated as they do.
  • Not a fully instrumented experiment. Weather normalization removes most of the confound, but we don't have on-site pyranometer or panel-temperature data — a regional archive and a geometric model are strong proxies, not perfect ones.
  • 14.5% is on the high end for typical soiling gains (commonly 2–8%), which most likely reflects a longer-than-usual interval since this array's last cleaning, not a modeling artifact.
  • This report includes energy savings only, not demand-charge savings. We found the array's own peak-output improvement occurs at a different time of day (11am–2pm) than the account's demand-charge-setting interval (~8:30–9am), so we couldn't validate a dollar figure for demand-charge impact and removed it rather than publish an unsupported number. Full explanation above, under “Why isn't there a demand-charge line in the dollar figure?”

Site documentation

Before & After Photos

Photos from the site visit.

Before cleaning Before cleaning
After cleaning After cleaning

We measure what cleaning is actually worth.

UtilityBillScope pairs interval-level production data with independent weather normalization to put a real, defensible number on a cleaning service's impact. If you clean solar arrays, we'll help you show it.

UtilityBillScope
www.utilitybillscope.com