
The honest answer, first
For most roofs, rain does most of the work. Panels sit at an angle, glass is deliberately smooth, and ordinary airborne dust washes off.
If you live somewhere with regular rain, the case for climbing onto your roof with a bucket is weak.
It matters more when the dirt is not ordinary dust:
- a long dry season with no rain at all
- farm or construction dust
- wildfire ash
- heavy bird droppings
- a very shallow tilt, where water pools instead of running off
Those are real, and on those roofs cleaning can be worth doing.

⚠️ We are not going to give you a percentage. Every number you will find for "how much cleaning gains" comes from either a company that sells cleaning or a lab that controlled the conditions. Neither is your roof.
The useful thing is not a number from someone else. It is a measurement from yours.
Look at the shape of the loss, not the size
Dirt accumulates slowly and lands on everything. So soiling looks like a gradual, system-wide decline that recovers after heavy rain. That shape is the signature, not any single day's number.
A single panel falling while the ones beside it hold steady is not dirt. Dust does not pick one module.
That shape means shade (a branch, a vent, a new neighboring roofline) or the hardware itself.
A failing microinverter is not a guess
Of dirt, shade, and the hardware, one is not a guess at all. Every panel reports two numbers: the DC power the panel generated and the AC power its microinverter delivered.
Dirt and shade both cut the DC, because less light reaches the cell. A failing microinverter leaves the DC untouched and loses the energy in conversion.
So its efficiency slides below the 96-97% these units normally hold, while the panel behind it is working perfectly. That is a hardware fault, not a cleaning job, and it is the one you want caught early.

Shade is a notch. Dirt is a multiplier.
Dirt and shade both cut the DC, so conversion efficiency will not separate them. But the shape of a single panel's day does, and it is unmistakable once you have seen it.
Shade is a notch. The panel runs normally, drops while a branch or a vent crosses it, then recovers. It does the same thing at roughly the same hours tomorrow, drifting later or earlier with the season.
Dirt is a multiplier. There is no notch at all. The curve keeps exactly the shape it always had and simply sits lower, all day, because a constant fraction of the light is being stopped before it reaches the cell.
Why one day is never enough
Clouds imitate both. A cloud crossing the sky puts a notch in the curve exactly like a branch does. An overcast day sits the whole curve lower exactly like dirt does.
On any single day the shapes are the same. Anyone who tells you they read your panels this morning and found dirt is guessing.
What gives the weather away is that it happens to everything at once, and it is different tomorrow. A cloud dims all thirty panels together; a branch shades the two it always shades.
An overcast week lifts again; dirt does not lift until it rains. So the question is never "what did this panel do today." It is "what has this panel done, against the others, for weeks."
The useful thing is not a number from someone else. It is a measurement from yours.
And it has to include clear days. A fortnight of overcast tells you almost nothing: every panel is down, everything looks like dirt, and there is no ceiling to measure against.
The days that carry the answer are the cloudless ones. The sky is doing the same thing for every panel, and the only thing left to explain a gap is the panel itself.
That is why the window is weeks rather than days: you are waiting for enough clear ones to compare.
That is the actual work: every panel, every day, kept and compared over time rather than glanced at.
It is also why a whole-system total cannot get there. Averaged across an array, one panel's notch disappears into everyone else's good day, and two faults needing completely different fixes collapse into the same slightly disappointing number.
More on what shade looks like, and how to tell it from a failing panel.
How to tell, without going anywhere near the roof
You do not need to clean anything to find out whether dirt is costing you. There are two signals that come free with the sky.
- Output against available sunlight. A dirty array does not fail; it drifts. Measured against how much sun there actually was each day, soiling looks like a slow, steady slide over weeks, spread evenly across every panel. The weather is already accounted for in that comparison, which is what makes the drift visible instead of lost in the noise of cloudy days.
- What rain does next. This is the one that settles it. Rain is a cleaning event you did not pay for, on a date you know. If production steps back up after a good storm, dirt was costing you. If it does not move, whatever you were losing was never dirt: a branch does not move in the rain, and a failing microinverter does not heal.

⚠️ That second signal is seasonal, and we should be honest about it: through a long dry summer there may be no rain to use at all.
In that stretch the drift is what you have, and the storm that ends the season is what confirms it.
If you want to prove it on your own roof
There is a clean experiment available if you are already up there safely, and only then. Clean one or two panels on a face and leave the rest.
The panels you did not touch are the control: same sun, same angle, same weather, same day. Any gap that opens between them is the cleaning and nothing else.
Compare each panel's total energy per day for a week either side: the daily total, not instantaneous power, which moves with every passing cloud.
⚠️ We are not suggesting you climb onto a roof to run an experiment. Falls are the real hazard on this page, and the two signals above answer the same question from the ground.
This is here because some people will want the direct proof, and because it is the test we are running ourselves.
Before you get on the roof
The panels are rarely the risk; the roof is. Falls are the actual hazard here, and for a lot of owners that alone settles it.
- No pressure washer. Forcing water past a panel's seals turns a cleaning job into a replacement.
- Check your warranty before anything abrasive goes near the glass.
- Clean a cool panel, not a hot one.
- Plain water, from the ground, is the version with almost no downside.
And if a company offers you a cleaning schedule, ask what they measured to arrive at it. A schedule is a product; a measurement is an answer.
Measuring it is the part we can help with
The WattHacker monitor logs every panel's energy every day, and the sunlight and rainfall at your address alongside it — which is what turns "are they dirty?" into something you can read instead of guess.
- Per-panel daily energy, kept — every panel, every day, held long enough to compare. A single day cannot separate cloud from shade from dirt; weeks of it can.
- The weather at your address, logged daily, so a drop can be compared against the sunlight that was actually available.
- The monitor is $50 once, with a 30-day money-back guarantee.
- DC in and AC out for every panel — which is how a failing microinverter is told apart from a dirty or shaded one: same sunlight in, less power out.
- Every panel's day, drawn — so you can look at one panel and see which it is: a notch that comes and goes is shade, the same curve sitting evenly lower is dirt.
Still have questions about your own system? I'll go through it with you — your panels, your bill, and what's worth doing about it.
Book an energy reviewAre your panels installed by SunPower or Enphase? See how it works for SunPower or Enphase, or see a demo.
Real panels, real production.
Common questions
Does cleaning solar panels actually make a difference?
On most roofs, far less than the people selling it suggest. Rain removes ordinary dust, and panels are mounted at an angle that helps it run off. Cleaning makes a real difference in specific conditions — a long dry season, farm or construction dust, wildfire ash, bird droppings, or a very shallow tilt where water sits instead of running. The honest answer is that it depends on your roof, which is why measuring beats guessing.
How can I tell if my panels are dirty enough to matter?
Look at the shape of the loss, not the amount. Dirt builds slowly and affects the whole array, so it shows as a gradual system-wide decline that recovers after heavy rain. A single panel dropping while the ones either side of it hold steady is not dirt — that is shade or hardware. No monitoring can name the cause from production alone; what it can do is tell you which of those two shapes you are looking at.
How do I know if dirt is costing me anything, without getting on the roof?
Two signals, and neither needs a ladder. First, compare what your panels produce against how much sunlight was actually available that day: soiling shows up as a slow drift downward over a dry spell, with the weather already accounted for. Second, watch what heavy rain does. Rain is a free cleaning event on a known date — if output steps back up afterwards, dirt was costing you something. If it does not move, the loss was never dirt.
Can monitoring tell dirt from shade or a failing microinverter?
A failing microinverter, yes — and that one is not a guess. Each panel reports the DC power it generated and the AC power its microinverter delivered. Dirt and shade reduce the DC itself, because less light reaches the cell; a failing microinverter leaves the DC normal and loses the energy in conversion, so its efficiency slides below the ~96-97% these units normally hold. That is a different fault with a different fix, and it is visible in the numbers. Dirt versus shade is the harder pair: both reduce DC, so they are separated by pattern instead — dirt is even across every panel and recovers after rain, shade falls on particular panels at the same hours each day.
Is it safe to clean them myself?
The panels are usually fine; the roof is the risk. Falls are the real hazard, and they are why many owners should not be up there at all. Do not use a pressure washer — forcing water past the seals is a way to turn a cleaning job into a replacement — and check your warranty before anything abrasive touches the glass. Plain water from the ground, on a cool panel, is the low-risk version.
Should I pay a company to clean them?
Sometimes, and it is worth knowing what you are buying first. If you have real soiling and no safe roof access, paying someone is reasonable. What is not reasonable is paying on a schedule for a problem nobody has measured. Ask for before-and-after production data, and if they cannot provide it, you can measure it yourself with the control-panel method above.
See your own panels, live.
See plans Try the demo Back to home