If your solar savings have felt smaller than the number in your proposal, NEM 3.0 (California's net-billing successor to net metering, and the model a growing number of utilities elsewhere are following) is probably part of the reason. Under the old 1:1 net metering rules, every kilowatt-hour you exported to the grid earned a credit worth close to the full retail rate. Under net billing, export credits were cut by roughly three-quarters in California, and similar structures are spreading to other states as utilities move away from 1:1 retail crediting. That single change reshaped what a rooftop solar system is actually worth to the household that owns it — and it exposed a problem that 1:1 net metering used to paper over: systems that quietly under-produce against their promised output.
What changed: from 1:1 net metering to net billing
Under 1:1 net metering, the value of a kilowatt-hour didn't depend much on when it was produced or used. Export it at noon, import it back at 8pm, and the credit and the draw roughly cancelled out. That structure meant a system's dollar savings tracked its total annual production fairly closely, which made an installer's savings projection a reasonable stand-in for whether the system was performing.
Net billing broke that link. Exported power is now credited at a rate closer to the utility's wholesale avoided-cost value rather than the retail rate, while imported power still costs full retail. The practical effect: a kilowatt-hour used the moment it's generated, or shifted into the evening peak with a battery, is worth far more than the same kilowatt-hour exported at midday. Two systems that produce identical annual output can now deliver very different savings depending purely on load-shifting and battery dispatch — variables an installer's original proposal could not have modeled precisely for your household.
Savings vs. production — the distinction that actually matters
This is where the two ideas get tangled, and it matters because only one of them is something an installer can be held to. A savings projection is a dollar estimate built on assumptions: your utility's rate structure, the tariff rules in effect, and how your household will use power hour by hour. All three of those can and do change after you sign the contract, for reasons entirely outside the installer's control. A production guarantee, by contrast, is a specific commitment about the physical system: how many kilowatt-hours it should generate in a given year, given your roof, your location, and your equipment. That number doesn't move when a tariff changes.
Read that distinction closely and it explains a pattern that catches a lot of owners off guard: your production guarantee (see OwlWatt's plain-English breakdown of what a production guarantee is and isn't) can be fully met while your savings still disappoint, purely because the tariff moved. It can also work the other way — a system that's genuinely under-producing kilowatt-hours can hide behind a bill that "looks about right" if utility rates happened to rise at the same time. Bill-watching alone won't tell you which situation you're in. Only a direct comparison of metered production against the guaranteed or expected output will.
The battery boom is a symptom, not a fix
Net billing's steep discount on exported power is the direct driver behind the residential battery attach-rate surge. Wood Mackenzie and the U.S. solar industry both tracked a record year for storage in 2025 — roughly 18.9 GW of storage capacity added nationwide, up about 52% year over year, with the residential segment growing even faster, around 75% year over year. The logic is straightforward: if exporting at midday only earns a fraction of retail value, storing that power and using it (or exporting it) during the evening peak recovers much more of its worth.
A battery is a genuinely useful tool for adapting to net billing. But it's worth being precise about what it does and doesn't do. A battery reallocates power your array already generated — it shifts the timing of when you use or export a kilowatt-hour that already exists. It cannot add kilowatt-hours the array never produced. If your panels are under-producing against their guaranteed output because of a wiring fault, a failing microinverter, shading that wasn't accounted for, or degradation faster than spec, a battery makes better use of a smaller pie. It does nothing to identify or fix the smaller pie itself.
How to tell if you're actually short — and where to check
The only way to separate "the tariff moved" from "the system is under-producing" is to compare your system's actual metered production to its guaranteed or weather-adjusted expected production — not to your bill, and not to last year's production, since weather varies year to year. A weather-adjusted comparison accounts for the sun your roof actually received during the period in question, so a cloudier year doesn't get mistaken for a failing system, and a genuine shortfall doesn't get written off as "just a cloudy year."
This is the specific gap OwlWatt is built to close. OwlWatt connects to your existing inverter monitoring — Enphase is supported today, with additional platforms planned — and continuously computes a weather-adjusted expected output for your exact system and location using the same open-source NREL methodology referenced throughout the solar industry. If your metered production falls short of that expected baseline by more than normal variation, OwlWatt generates a downloadable report documenting the gap in kilowatt-hours, so you have a record you can send to your installer yourself. OwlWatt does not set utility tariffs, does not project your dollar savings, and does not cover equipment or workmanship — that's a separate, hardware-level warranty. What OwlWatt measures is narrower and more concrete: whether the array is generating the kilowatt-hours it was contractually promised to generate. For the full walkthrough of how that measurement works end to end, see how OwlWatt measures your system.
FAQ
Does NEM 3.0 mean solar isn't worth it?
Not automatically. It means a system's value now depends much more on when power is used or stored rather than exported for a full retail credit. The underlying production of the array — the kilowatt-hours it generates — is unaffected by the tariff; what changed is how each exported kilowatt-hour is valued on your bill.
What's the difference between a savings estimate and a production guarantee?
A savings estimate is a dollar projection built on rate and usage assumptions the installer doesn't control after the sale. A production guarantee is a specific kilowatt-hour commitment for the physical system, independent of rates. Only the production number is something you can directly measure and hold an installer to.
Does a higher bill after NEM 3.0 mean the system is broken?
Not necessarily. A higher bill after a net-billing transition is frequently the tariff working as designed — paying less for exported power — rather than a hardware problem. Separate the two by comparing metered production to the guaranteed or expected kWh for your system, independent of what your bill shows.
Can I do anything about a shortfall if my system is under-producing?
If your contract includes a production guarantee and your system is measurably short of it, that's generally a matter between you and the installer, separate from anything tariff-related. Start by documenting the gap between actual and expected production; OwlWatt can produce that documentation as a report you send yourself. This isn't legal advice, and outcomes depend on your specific contract and state law.
Does a battery fix an under-producing system?
No. A battery reallocates power the array already produced to more valuable hours — it doesn't create additional kilowatt-hours. An under-producing array stays under-producing with or without a battery attached; the battery just makes better use of whatever the array actually generates.
NEM 3.0 rewarded self-consumption and battery dispatch, and punished systems that quietly under-produce, because export credits no longer mask a shortfall the way they used to. Checking your actual production against your guarantee — not just your bill — is the only way to know which situation describes your system. For more on what a production guarantee does and doesn't promise, see OwlWatt's guide on plug-in solar and production guarantees and the explainer on UL 3700 and plug-in solar. For the underlying calculation, see OwlWatt's methodology page.
Check your production, not just your bill
OwlWatt compares your system's actual metered output against a weather-adjusted expected baseline every day — so you know whether your solar is meeting its production guarantee, independent of what NEM 3.0 did to your rate.
See how OwlWatt measures your system or check pricing to get started.
Owl