Overview
Our calculator answers one question: over the next 25 years, will a homeowner save more money on electricity than they spend on a solar PV system? It does so through five sequential calculations, each derived from a single public data source:
- Convert the dollar bill into kilowatt-hours.
- Translate kilowatt-hours into the system size that would produce them.
- Multiply system size by an installed cost per watt.
- Apply current IRS Section 25D federal-credit status.
- Project 25 years of cumulative savings under transparent assumptions.
We deliberately do not include state rebates, utility-specific net-metering rules, financing, or battery storage. Those decisions are too local and time-sensitive to embed in a national average; we surface them separately on our state pages and in our guides.
Step 1 — Convert the bill into annual energy use
The starting point is your average monthly utility bill in dollars. We convert it to kWh:
monthly_kWh = monthly_bill / state_avg_rate
annual_kWh = monthly_kWh × 12
electricity/retail-sales — residential sector, annual average price. They are
fetched by scripts/sync_eia_rates.php rather than keyed by hand.
The series is annual, so the figure is a 2025 average and does
not move between EIA's annual releases; syncing more often would not make it newer.
Last confirmed September 2026 — see
data status.
180 / 0.31 = 580.6 kWh/month → 6,968 kWh/year.
EIA's California household average is ~6,500 kWh; national average is ~10,800.Step 2 — Size the system from peak sun hours
To produce annual_kWh from solar, we need a system of size:
system_size_kW = annual_kWh / (peak_sun_hours × 365 × performance_ratio)
Peak sun hours is the daily average number of hours at which solar irradiance averages 1,000 W/m² — the standard test condition for a PV module's nameplate rating. We use state-level averages derived from the NREL National Solar Radiation Database, weighted toward population centres. The figures on this site are hand-keyed approximations from NSRDB published data; for site-specific values use NREL PVWatts directly.
Performance ratio (PR) bridges the gap between nameplate DC output and actual delivered AC energy. We use 0.80, the long-standing industry default endorsed by NREL's PVWatts engine for well-designed residential systems.
Step 3 — Compute installed cost
cost_per_watt = $2.98 × roof_multiplier
gross_cost = system_size_kW × 1000 × cost_per_watt
$2.98 / W DC is the median price cash purchasers actually paid for residential solar in 2025, before any incentives. It is not a modelled cost estimate: it comes from Lawrence Berkeley National Laboratory's project-level dataset of systems installed across the United States.
- Berkeley Lab, Tracking the Sun / U.S. Distributed Solar and Storage 2026 Data Update (August 2026) — national residential PV-only systems installed in 2025, cash-purchase median $2.98/W from a sample of 18,361 systems.
- The $2.49–$4.14 range quoted here is the 20th to 80th percentile of that same sample. One cash buyer in five paid more than $4.14/W.
- Loan-financed systems are a different market: their 2025 median was $4.51/W, roughly $1.53/W above cash purchases, partly because origination fees are rolled into the up-front price. This calculator models a cash purchase, so it uses the cash figure — if you are financing, expect a higher installed cost than shown.
Berkeley Lab publishes annually each August, so this figure is refreshed once a year rather than continuously. Half of all cash buyers paid more than the median, and a spread this wide is the reason this tool is a baseline for checking a quote rather than a substitute for one.
How this compares to other trackers
Different sources measure different things, and quoting whichever is most flattering would be easy. For context, EnergySage reported an average of $2.60/W before incentives from its marketplace as of September 2026 — roughly 13% below the Berkeley Lab median we use.
Both figures are credible; they describe different populations. EnergySage measures quotes on a marketplace where installers bid against each other for a customer who is, by definition, comparison shopping. Berkeley Lab measures systems that were actually installed nationwide, including the many buyers who took the first quote they were given. We use the higher, broader figure because it better describes a typical purchase — and because a calculator that assumes you will get marketplace pricing would flatter its own results.
The practical reading: the gap between those two numbers is roughly what comparison shopping appears to be worth. That is an association rather than a guarantee, but on a 9 kW system it is around $3,400.
Roof multipliers reflect installation-labor variance: shingle 1.00, standing-seam metal 1.05, tile 1.15.
Step 4 — Apply current federal-credit status
federal_credit = gross_cost × 0.00
net_cost = gross_cost − federal_credit
Authority: 26 U.S.C. § 25D, the Residential Clean Energy Credit, as amended by §13302 of the Inflation Reduction Act of 2022 (P.L. 117-169) and later federal law. Current IRS guidance says the credit is not available for new residential clean-energy expenditures after December 31, 2025, so this calculator uses a default federal-credit rate of 0% for new installations.
Step 5 — Project 25 years of cumulative savings
For each year n in 1 … 25 we compute:
kWhn = system_size_kW × peak_sun × 365 × PR × (1 − 0.005)^(n−1)
raten = state_rate × (1 + 0.029)^(n−1)
savingsn = (kWhn × s × raten) + (kWhn × (1 − s) × export_valuen)
s is the share of generation used in the house as it is produced. Energy used on
site is always worth the retail rate it avoids paying. Energy exported is worth whatever the
local tariff pays for it, which is the subject of Step 6. Where retail
net metering is intact the two are the same thing, s drops out of the arithmetic,
and this reduces to kWhn × raten — the formula this
calculator used until September 2026.
Cumulative savings begin at −net_cost and accumulate yearly. The
payback year is the year cumulative savings first cross zero, reported as a
fractional value via linear interpolation within the crossing year.
| Assumption | Value | Source |
|---|---|---|
| Electricity price escalation | 2.9% / yr | EIA long-run residential CAGR, 1990–2024. |
| Panel degradation | 0.5% / yr | LG, Q-Cells, REC, SunPower datasheet median. |
| Performance ratio | 0.80 | NREL PVWatts default. |
| System lifetime | 25 yrs | Manufacturer power-output warranty. |
Step 6 — Value exported energy at what it actually earns
Until September 2026 this calculator valued every kilowatt-hour at the retail rate. That is only correct where exports are credited one-for-one, which is no longer true in a growing number of states, including several of the largest solar markets in the United States. In states that have moved to net billing it produced a ceiling — the best case — presented as an estimate.
There are now three cases, and every result says which one it is.
| Case | What you see | Why |
|---|---|---|
| Retail netting intact | A single figure. | Exports offset consumption at retail, so the 1:1 assumption holds and nothing needs adjusting. |
| Export rate modelled | A central estimate with a range around it. | The state's export credit is a single published number, so we apply it. Currently Arizona and Utah. |
| Flagged, not modelled | The 1:1 figure, labelled a ceiling. | The state has left retail netting but its export credit cannot be reduced to one number — an hourly schedule, a per-utility rate, or no statewide rule at all. We say the figure is optimistic rather than inventing the amount. |
Where the range comes from
The width of the range is almost entirely the second unknown: how much of its own generation a household consumes as it is produced. We do not ask, because homeowners have no way to know, and we do not guess a single figure. We use a published range.
“For stand-alone PV within a typical size range, 47-72% of annual PV generation is exported, across customers in the sample.”
That is Forrester, Barbose & Miller, iScience 25(8):104714 (2022), Lawrence Berkeley National Laboratory, and it gives a self-consumption band of 28–53%. It is used here rather than a rule of thumb because its central case is a system sized to generate 100% of annual household consumption, equating to 4–8 kW — which is exactly how Step 2 sizes a system, and the range this calculator produces.
The cautious end of the range pairs the least self-consumption with the lowest export rate, and the favourable end pairs the most with the highest; a bound that mixed a bad rate with a good habit would not be a bound. The central figure is the midpoint of the published range, rounded, and not a measured average — the exact midpoint of 28–53% is 40.5%, and we use 40%. It is labelled a midpoint wherever it appears, never an average.
Three things that band does not account for, which you are entitled to weigh yourself:
- The load data is from 2012–2013, metered from about 1,800 homes across six utilities. Those households had no solar; generation was simulated onto their real consumption. Electric vehicles, heat pumps and working from home have all moved the overlap since, and not all in the same direction.
- Exports are netted hourly in that study. Tariffs that net instantaneously — California's, Indiana's, Louisiana's — would show more export and less self-consumption than this band.
- It is a range across households, not a distribution for yours. A home that uses most of its electricity after dark sits near the cautious end; one with daytime occupancy and air conditioning sits near the favourable end.
Export credits fixed in cents per kilowatt-hour are held flat across all 25 years rather than escalated with retail rates, because regulators reset them periodically and generally downward. This matters more than it looks: a credit worth 6¢ today beats one worth 30% of retail in year one, and loses to it comfortably by year 25.
Constants reference
| Constant | Value | Purpose |
|---|---|---|
COST_PER_WATT_MEAN | 2.98 | National cash-purchase midpoint, $/W DC |
FEDERAL_CREDIT_RATE | 0.00 | Current §25D rate for new post-2025 residential installations |
PERFORMANCE_RATIO | 0.80 | DC-to-AC + real-world derating |
ELECTRICITY_INFLATION | 0.029 | Annual rate escalation |
PANEL_DEGRADATION | 0.005 | Annual production decline |
ROOF_MULTIPLIER | 1.00 / 1.05 / 1.15 | Shingle / metal / tile |
SUN_MULTIPLIER | 0.85 / 1.00 / 1.10 | Low / average / high exposure |
All constants are declared at the top of classes/SolarCalculator.php in the source
tree for direct audit.
Limitations & honest caveats
This calculator is intentionally simple. The five most important things it does not model are:
- Tariff structure. We treat retail electricity as a single $/kWh rate. Tiered and time-of-use tariffs change what a saved kilowatt-hour is worth and when, which moves payback in either direction. We do not model them and do not publish a figure for how far, because we have not measured it.
- Export credits we cannot reduce to a number. Step 6 models the states whose export rate is a single published figure. Where it is an hourly schedule, a per-utility rate or absent entirely, the result stays a 1:1 ceiling and is labelled one. That is a disclosed gap, not a hidden assumption — but it is still a gap.
- Battery storage. Storage recovers much of the value lost under net billing, and is worth most in exactly the states Step 6 marks down. The same Berkeley Lab study finds storage can cut exports to 11–31% of annual generation. We do not model its cost or its economics, which depend on local rate spreads and battery chemistry.
- Roof geometry. A south-facing 30° tilt and a north-facing 15° tilt in the same Phoenix neighbourhood produce very different energy. PVWatts is the right tool.
- Installer pricing variance. Berkeley Lab's cash-purchase sample runs from $2.49/W at the 20th percentile to $4.14/W at the 80th, against a $2.98/W median — so one buyer in five paid above that range and one in five below it, for equipment that may be identical.
Methodology changelog
| Date | Change |
|---|---|
| 2026-09-18 | Exported energy valued separately from energy used on site (Step 6). Payback in states that have left retail net metering was previously a ceiling presented as an estimate. Where the export credit is a single published figure it is now applied, and the result is shown as a range over a self-consumption band derived from Berkeley Lab metered household loads with simulated PV output, rather than a single invented assumption. Where it cannot be reduced to one number, the figure remains a 1:1 ceiling and now says so on the homepage as well as the state page. |
| 2026-09-18 | Installed cost re-sourced to Berkeley Lab Tracking the Sun transaction data: midpoint $2.90 → $2.98/W, with the range widened to $2.49–$4.14/W. The previous top end understated what four in ten cash buyers actually pay. |
| 2025-05-26 | Initial publication. Cost-per-watt set to $2.90 (national midpoint). Inflation fixed at 2.9% per 1990–2024 EIA CAGR. Performance ratio 0.80 per NREL PVWatts default. |
We commit to dating and listing every change to formulas or constants here so prior results remain auditable.
Cite this page
GetSolarCalc. Solar ROI Methodology, v1.1. Published May 26, 2025; retrieved by the reader at the date of this page view, from this URL. Licensed CC BY-SA 4.0.