Size a residential solar + storage system correctly for economics under California's NEM 3.0 / Net Billing Tariff
domain: solar.design · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Confirm the applicable tariff is CPUC's Net Billing Tariff ('NEM 3.0' is the informal industry name) — applies to all new PG&E/SCE/SDG&E interconnection applications
Note the NEM 2.0 grandfathering window is closed: April 15, 2026 was the final deadline to reach Permission to Operate on legacy NEM 2.0 — any new application today is on Net Billing Tariff terms
Model export compensation using the time-varying avoided-cost rates rather than a flat retail-rate NEM 2.0-style assumption, since export value drops sharply outside peak hours
Recognize that most system value under Net Billing comes from self-consumption and shifting exports into the evening peak window (roughly 6-9pm) — battery storage captures this value that solar-only systems cannot
Size the battery around the household's evening load and desired backup needs rather than defaulting to a fixed ratio, since Net Billing Tariff economics are storage-driven rather than export-driven
Reflect realistic payback expectations in the proposal (commonly ~8-10 years solar-only vs ~7-8 years with storage under current tariff modeling) rather than pre-NEM-3.0 payback figures
Known gotchas
Any proposal still modeling flat 1:1 net metering credits is using the wrong (pre-2023) tariff and will overstate savings for a new application today
The NEM 2.0 grandfathering deadline (April 15, 2026 PTO cutoff) has now passed — there is no path to get a new project onto legacy NEM 2.0 terms
Avoided-cost export rates vary by utility and time period and are updated periodically by CPUC — don't hardcode a rate table without a refresh process
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?