Why the system generates less than you promised
Nine reasons an estimate and a meter disagree, how to tell which one is at fault, and what to put in writing so the conversation never becomes an argument.

Six months after commissioning, a customer calls with a number from their inverter app and a number from your proposal, and they do not match.
How that call goes was decided months earlier, by what you wrote in the proposal.
The nine reasons the numbers differ
1. Soiling. The largest recoverable gap, and usually the first thing to check. Losses run from around 6 percent on the coast to 15 percent in arid zones, and rise quickly when cleaning slips. See dust costs more than most EPCs think.
2. Shading you did not model. A water tank, a new floor on the neighbouring building, a tree that grew. See shading analysis without guesswork.
3. Temperature. Modules produce less as they heat, and a May rooftop is far hotter than the conditions the module is rated at. An estimate built without temperature losses will always read high.
4. Grid outages. A grid-tied inverter shuts down when the grid is down. In areas with frequent cuts this is a real and entirely invisible loss, and it is not your fault or the system's.
5. Inverter clipping, if the array is deliberately oversized. Small, expected, and explained in why the array should be bigger than the inverter.
6. Degradation. Roughly half a percent a year, permanent. Irrelevant in year one, relevant when comparing year six to the original estimate.
7. Downtime. A tripped breaker, a failed string, a disconnected data logger. Systems run faulted for months because nobody was looking.
8. The weather was not average. An estimate is built on typical irradiance. A poor monsoon year is not a system fault, and neither is an unusually clear winter that beats the estimate.
9. You are comparing different numbers. The inverter app, the generation meter and the net meter measure different things. This is the most common cause of a "shortfall" that does not exist.
Diagnosing it in the right order
When the call comes, work down this list rather than defending the estimate.
- Agree on the measurement. Which number, over which period, from which device. Inverter apps report AC output, sometimes reset on firmware updates, and sometimes lose days when connectivity drops.
- Compare like periods. Six months of monsoon and winter against an annual average divided by two is not a comparison. Use the monthly profile from your estimate, which is why the estimate should carry one.
- Check cleaning. Ask when the modules were last washed, and look at the output trend after the last rain.
- Look at the daily curve, not the total. A clipped flat top, a dip at a particular hour or a late start all point at different causes: oversizing, shading and orientation respectively.
- Check for faults. Strings reporting zero, an inverter running derated, a breaker that has tripped.
- Only then question the estimate.
Most calls end at step one or step three.
What to write so the call is short
The proposal has to carry four things, and most carry none of them.
- A monthly profile, not just an annual total. Customers compare against what they have.
- The assumptions, stated: irradiance source, performance ratio, soiling loss, shading loss, temperature losses, degradation rate.
- The cleaning regime the estimate assumes, because that is the customer's half of the deal.
- A plain sentence that the estimate is a long term average, that individual months and individual years vary with weather, and that the figure is not a guarantee.
That last sentence protects everyone. Without it, a customer can reasonably read an estimate as a promise, and in some contracts it becomes one.
The number to watch is the ratio
Total units generated tells you very little on its own. Performance ratio, which compares actual output against what the array should have produced given the irradiance it received, tells you whether the system is healthy.
A system producing fewer units after a weak monsoon but holding its ratio is fine. One producing an acceptable total while its ratio drifts downward has a developing fault, and it will keep drifting until somebody looks.
For commercial systems, that ratio belongs in your maintenance reporting. It turns a vague argument about whether the system is working into a measurement.
The short version
- Nine common causes: soiling, unmodelled shading, temperature, grid outages, clipping, degradation, downtime, weather variation, and comparing different meters.
- Diagnose in order: agree the measurement, compare like periods, check cleaning, read the daily curve, look for faults, and question the estimate last.
- Most disputes end at the measurement step, because the inverter app, the generation meter and the net meter count different things.
- Put a monthly profile, the named assumptions, the assumed cleaning regime and a plain not-a-guarantee sentence in every proposal.
- Track performance ratio rather than total units. It separates bad weather from a real fault.



