If your solar or storage system is producing the kilowatt-hours it was modeled to produce but the savings have come in below projection, the cause is usually not a failing asset. It's a measurement gap. Production monitoring confirms the system is generating power; it does not check whether that generation is still translating into the dollar savings that were underwritten — and the two can diverge without anything about production looking wrong. Most of the reasons are knowable, and most are fixable once you can see them.

This guide explains why production and savings come apart, the specific causes — most of which a monitoring platform can't see — and how to tell which one is affecting a given site.

#Production on plan, savings below: why the two diverge

Production and savings measure different things. Production is physics: did the panels and battery generate the energy the model expected? Savings is economics: did that energy reduce the customer's utility bill by the dollars the model expected? The bridge between them is the tariff — the rates, time-of-use windows, and demand structure that convert kilowatt-hours into dollars.

When the tariff that bridge depends on shifts, production can stay exactly on plan while savings fall. The system did its job. The economic environment it was underwritten against changed. That's why a site can read 100% on monitoring and well below 100% on bill-verified savings at the same time — and why "the system is producing fine" and "the savings are short" are both true without contradiction.

The reassuring part: this is a diagnosable condition, not a mystery. The causes fall into a short list.

#The causes monitoring can't see

These are the common ones, and they share a trait — production looks normal throughout, so a monitoring platform gives no signal that anything changed.

#1. The utility changed the tariff

A site on Schedule A-6 in March can be on A-6 (Revised) in April. The TOU windows might shift by ninety minutes; the demand ratchet might change; the rates might step. The system keeps producing the same kWh, but those kWh now land in differently priced windows — so the savings they generate change even though the energy didn't. A savings figure pinned to the tariff in effect at commissioning, and never updated, drifts further from reality with every rate change.

#2. The host customer switched tariffs

Host customers change their own tariff without telling the operator — often on a recommendation from their utility account manager. A site moves from a TOU demand tariff to a flat demand tariff, and the savings opportunity the system was sized against simply changes. Savings can drop sharply the next month while production is flat. If the switch goes unnoticed, months get spent investigating a phantom asset problem that doesn't exist — the asset is fine; the tariff under it moved.

#3. The rate components shifted

Even without a formal tariff change, the pieces that make up the bill move. Demand charges rise relative to energy charges. A new rider appears. Net metering credit rates step down. A system whose savings came mostly from energy offset is exposed when energy rates fall relative to demand charges — the same production, applied to a re-weighted bill, saves less.

#4. A utility billing error

Utilities make mistakes: demand billed against the wrong window, net metering credits applied at the wrong rate, TOU readings tagged to the wrong tier after a meter swap, estimated reads that true up months later. These land in the customer's bill and the operator's savings number, uncorrected, and they look like underperformance. They aren't — they're recoverable with a phone call, but only if someone catches them on the bill they occurred on.

Every cause above is invisible to production monitoring because none of them touch production. They live in the bill.

#The causes that are about the system (the smaller share)

Sometimes the gap genuinely is operational rather than economic. These are real, but they're the minority of "producing-on-plan-but-saving-less" cases — and worth checking only after the bill-side causes are ruled out:

  • The battery is missing the peak. Storage that discharges into the wrong interval shaves less demand than modeled, so the demand-charge savings fall short even when total throughput is on plan.
  • A behind-the-meter load changed. A new load at the site alters the net-load shape, changing how much of the system's output offsets billable consumption.

Note that even diagnosing these requires the bill — you confirm a missed-peak problem by comparing the actual demand charge against what it should have been, not by looking at production. Which is the theme of the whole list: production tells you the system ran; only the bill tells you what the system was worth.

#How to tell which cause is affecting a site

The diagnosis is a comparison, and it requires one thing production monitoring doesn't have: the actual utility bill, set against what the bill would have been without the system, on the tariff actually in effect that month.

  1. Pull the actual bill for the underperforming month and line-itemize it — energy by TOU period, demand, fixed charges, credits.
  2. Reconstruct the counterfactual — what the same site would have been billed that month with no solar or storage, on the current tariff.
  3. Take the delta by charge type. The savings is the difference, broken out into energy, demand, TOU, and NEM credits.
  4. Compare the delta to the underwriting case. Where the shortfall sits tells you the cause: a collapsed energy delta points to a rate or tariff change; a collapsed demand delta points to a missed peak or a demand-structure change; a credit that moved points to a NEM change or a billing error.
  5. Check the tariff in effect against the tariff at commissioning. A mismatch is the tariff-change or customer-switch cause, caught directly.

The point: the cause isn't guessable from production data, but it's readable from the bill. The shortfall has a location, and the location names the cause.

#Why this matters before the next report

Caught early, every one of these has a cheap response — flag the billing error, note the tariff switch, adjust the dispatch, document the rate change in the savings report with the reason. Caught late — in front of a refinancing committee or in a quarterly LP report that already shipped the modeled number with a footnote — it's the same finding at many times the cost, and now it reads as a surprise rather than a managed variance.

The difference between the two is whether savings are being verified against the actual bill every month, or estimated from production and assumed to hold.

#What Tariform does

Verify is built for exactly this question. For each site in a C&I solar-and-storage portfolio, every month, it extracts the actual utility bill, reconstructs the counterfactual bill against the tariff in effect using a US and Canadian tariff catalog and rate engine, and reports the line-item delta — energy, demand, TOU, NEM credits — rolled up to a savings number with site-level variance against the underwriting case. When a tariff changes, a customer switches plans, or a bill contains an error, it shows up on the first bill after it happens, with the shortfall located by charge type. Every number traces back to its source: the PDF line for the actual bill, the tariff component and load input for the counterfactual.

If a site is producing on plan and saving less than projected, that's the gap Verify closes — from "we think the savings held" to "here is the bill, here is the counterfactual, here is the delta, here is what drove it." Book a demo — twenty minutes, your portfolio, you see the variance breakdown.

#FAQ

Does a savings shortfall mean the system was oversized or badly designed?
Usually not. When production is on plan, the design did its job — the dollars moved because the economics under the system changed (a tariff revision, a customer plan switch, a rate re-weighting). Genuine design or operational causes exist but are the minority, and you only reach them after ruling out the bill-side causes.
If it's a utility billing error, how do I recover it — and is there a deadline?
Catch it on the bill it appears on, document what the charge should have been, and dispute it with the utility; corrections usually post as a credit on a later cycle. There's typically a time limit — it varies by utility and state, often months to a couple of years — which is why finding the error promptly matters as much as finding it at all.
How would I even know the host customer switched their own tariff?
It shows up on the bill before anyone tells you — the tariff schedule code in the header changes. That's why checking the tariff in effect against the tariff at commissioning, every bill, is the reliable detection; waiting for the customer to mention it isn't.
Can savings recover on their own after a tariff change?
They can — if the utility revises the tariff again favorably, or the host switches back — but it's not something to count on. The drift is real until something moves it back, and an unexplained recovery is as worth documenting as an unexplained shortfall, since both affect what you report.
How large a gap is worth investigating?
Any persistent one. A small monthly drift looks ignorable but compounds across a reporting period and gets re-underwritten at refinancing, where it reads as a surprise. The point of per-bill verification is seeing the gap — and its cause — early enough to decide whether it's worth acting on, rather than discovering it in aggregate later.