Green Energy ROI Hub
Methodology Last reviewed May 2025 12-min read v1.0

How we calculate solar ROI.

This page documents every formula, constant, and dataset our calculator uses. A reader with a spreadsheet and the cited sources can reproduce our numbers exactly.

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:

  1. Convert the dollar bill into kilowatt-hours.
  2. Translate kilowatt-hours into the system size that would produce them.
  3. Multiply system size by an installed cost per watt.
  4. Apply the 30% Residential Clean Energy Credit (IRS §25D).
  5. 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
Source: Residential rates by state from EIA Electric Power Monthly, Table 5.6.A. EIA updates monthly with a two-month lag. The values used by this site are a hand-keyed snapshot — see the data status page for the snapshot date and the live-API roadmap.
Worked example. A California household with a $180/month bill at the state's average rate of $0.31/kWh consumes 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.

Sunlight exposure modifier. Users select Low / Average / High, which multiplies the state's sun-hour figure by 0.85 / 1.00 / 1.10 respectively. This is a coarse proxy for roof orientation, tilt, and shading; for site-specific accuracy, use NREL PVWatts.

Step 3 — Compute installed cost

cost_per_watt = $2.90 × roof_multiplier
gross_cost = system_size_kW × 1000 × cost_per_watt

$2.90 / W DC is the midpoint of the $2.50–$3.30 range that multiple market trackers report for US residential cash-purchase systems in the 6–10 kW range:

Roof multipliers reflect installation-labor variance: shingle 1.00, standing-seam metal 1.05, tile 1.15.

Step 4 — Apply the Federal tax credit

federal_credit = gross_cost × 0.30
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). The credit equals 30% of qualifying expenditures for systems placed in service in tax years 2022 through 2032, stepping down to 26% in 2033 and 22% in 2034.

Important caveats. Non-refundable (offsets tax owed, not gross income). Unused credit carries forward indefinitely under current law. Applies to full installed cost — panels, inverters, racking, labor, permitting — but not to financing charges or extended warranties. Confirm eligibility with a CPA.

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 × raten

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.

AssumptionValueSource
Electricity price escalation2.9% / yrEIA long-run residential CAGR, 1990–2024.
Panel degradation0.5% / yrLG, Q-Cells, REC, SunPower datasheet median.
Performance ratio0.80NREL PVWatts default.
System lifetime25 yrsManufacturer power-output warranty.

Constants reference

ConstantValuePurpose
COST_PER_WATT_MEAN2.90National cash-purchase midpoint, $/W DC
FEDERAL_CREDIT_RATE0.30§25D credit through 2032
PERFORMANCE_RATIO0.80DC-to-AC + real-world derating
ELECTRICITY_INFLATION0.029Annual rate escalation
PANEL_DEGRADATION0.005Annual production decline
ROOF_MULTIPLIER1.00 / 1.05 / 1.15Shingle / metal / tile
SUN_MULTIPLIER0.85 / 1.00 / 1.10Low / 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:

Methodology changelog

DateChange
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

Green Energy ROI Hub. Solar ROI Methodology, v1.0. Published May 26, 2025; retrieved by the reader at the date of this page view, from this URL. Licensed CC BY-SA 4.0.

Independent · Source-cited

Try the calculator yourself.

Four inputs. Sixty seconds. Every number traceable to a public source.