The year I found out my solar system was 25% short

By Olivier Beauchemin · 2026-08-19 · v1

I had solar on my roof for a year before I checked whether it had done what the contract said it would do.

Not because I was not paying attention. I looked at the app. The app showed panels producing, no red icons, no alerts, a green check on the system status. Everything the monitoring told me said the system was working. It was working. Working and underproducing are different things, and only one of them shows up on the dashboard.

Here is what the year actually came to, and how I found out.

The number in the contract nobody reads twice

The system is 12.75 kW DC, installed in Massachusetts in mid-2024, Enphase microinverters. The contract included a production guarantee, which is the clause that turns a sales estimate into an obligation. Mine reads roughly like this:

Multiply it out and the first-year floor is 10,790.78 kWh. That number is not printed anywhere in the contract. It is not on the sales proposal. It was not in any email. It exists only as the product of two numbers on two different pages of a document I signed once and then filed.

That is the first thing worth saying to anyone reading this with a guarantee of their own: the number that matters is almost never written down. You have to compute it.

What the system actually produced

The guarantee year runs from the commissioning anniversary, not the calendar year. Mine ran 2024-07-31 to 2025-07-30. Measured production over that window, taken from the manufacturer's cloud data because that is the record the installer and I both have access to:

8,933.14 kWh.

Against the 10,790.78 kWh floor, that is a shortfall of 1,857.64 kWh. Against the 11,858 kWh quote, the system delivered 75.3% of what was sold.

At the net-metering credit rate on my account, $0.31122 per kWh, the shortfall values at $578.13 for the year. Not enormous. But the guarantee runs 240 months, and a system underperforming in year one does not repair itself in year two.

Nothing was broken

This is the part that surprised me, and it is the reason I think most of these gaps never get found.

No panel was offline. No microinverter had failed. There was no fault code, no alert, no service ticket, nothing for the installer's monitoring to flag and nothing for me to notice. Every component was doing something. The array as a whole was producing about three quarters of what it had been sold as producing, and there is no icon for that.

Monitoring dashboards are built to answer one question: is the equipment running? They are not built to answer the question a homeowner with a guarantee actually has: is this system meeting the number in my contract? Those two questions have different answers more often than the industry finds convenient.

I have written elsewhere about how to check the first question yourself, in is my solar underproducing and how do I know if my solar panels are working. This post is about the second one.

Why the bill did not tell me either

The obvious question is why a 25% gap did not show up as an obviously wrong electric bill. Partly it did, and I put it down to a hot summer and a heat pump. Partly it is that a net-metered bill nets production against consumption and reports the difference, so a production gap and a consumption increase look identical on the statement. And partly it is that the first year of solar has no baseline. There is no previous year to compare it to. Whatever the bill says is just what solar is like now.

By the time you have two years to compare, the guarantee year has closed.

More on that in why your electric bill is still high after solar.

What checking it actually took

Three inputs, and none of them require special access:

  1. The quoted first-year output, from the contract or the sales proposal.
  2. The guarantee percentage and the degradation schedule, from the same contract. Multiply them to get the floor for the year you are checking.
  3. Measured production for the guarantee year, from the manufacturer's monitoring portal, exported for the exact window running from your commissioning date.

The arithmetic is one subtraction. The work is entirely in getting the window right and in getting production data you can hand to someone else and have them arrive at the same figure. That is what how OwlWatt calculates expected production and expected vs actual solar production go through in detail.

One warning from our own work, because it cost us a correction: modelled expected production is not the same thing as the contract number, and models get roofs wrong. Our own expected-production model once treated a multi-plane array as a single south-facing plane and overstated expected output by 10.3%. When there is a guarantee, the number to measure against is the one in the contract, not the one a model produces. The contract figure is the obligation.

Where this goes

Once the shortfall was computed, I did what the contract contemplates: I raised it with the installer. That started a process that is still running, through a statutory thirty-day demand under Massachusetts consumer protection law and, this month, a small claims filing.

I am going to write it up as it happens, part by part, with the arithmetic shown. Not because my case predicts anyone else's, and I want to be direct that it does not. A production guarantee is a contract, contracts differ, and how any dispute resolves is a question for a licensed attorney in your state and ultimately for a court. What I can offer is a documented account of what the steps are, what each one required, and how long each one took, from someone doing it rather than describing it.

The next part is about how the number gets built so that it survives being checked by someone who would rather it did not.

If you have a guarantee of your own

Find the quoted first-year output in your contract, find the guarantee percentage, multiply them, and compare the result to what your monitoring portal says you produced over the twelve months from your commissioning date. That is the whole check. If it comes out short, our page on production guarantees and is my solar performance guarantee being met cover what the clause contains and what documentation supports raising it.

OwlWatt exists because that check took me a year to think of and an afternoon to run, and because nothing in the monitoring I already had was ever going to prompt me to do it. We measure production against the contract figure, every month, and produce documentation a homeowner can put in front of an installer or an attorney. $9.99 a month, against a gap that was worth $578 in its first year alone on my roof.

See how OwlWatt measures your system