Methodology
Every number on this site comes out of the models described below. The constants shown here are imported from the calculation code rather than retyped, so this page cannot drift out of step with the calculators.
Three principles
Simulate years, don't divide. Dividing up-front cost by first-year savings is the standard shortcut and it is wrong in both directions: it ignores equipment degradation, which pushes payback later, and energy-price inflation, which pulls it earlier. Every payback figure here comes from a year-by-year cash-flow loop.
Charge for the losses. Energy is lost converting, storing and transmitting it. Models that quietly ignore round-trip and charging losses overstate savings by 10–15% before any other assumption is made.
Publish the unfavourable answer. Where the maths says a purchase does not pay back, the page says so. See our editorial policy.
Solar payback
System size is set to cover a year of electricity use, then costed and run forward for 25 years. The default baseline is EIA's state-level average monthly consumption per residential customer — the metric EIA actually publishes. It is not a per-household figure, and no state average describes any particular home: a large all-electric house can use several times what a small flat does in the same state. Where you know your own usage or bill, enter it — the calculator recomputes from your value and labels it as yours.
system_kW = annual_kWh / yield_per_kW_year
gross_cost = system_kW × effective_$/W × 1000
production(y) = system_kW × yield_per_kW_year × (1 − 0.005)^(y−1)
rate(y) = rate × (1 + 0.025)^(y−1)
direct_use = min(production × 0.4, consumption)
exported = production − direct_use
savings(y) = min(direct_use×rate + exported×rate×export_credit,
consumption × rate)
payback = first year where Σ savings ≥ net_costAnnual yield per kW is modelled by PVGIS for each state's largest metro, so it already accounts for temperature, angle-of-incidence and system losses separately.
Exported power is the second-biggest lever after the electricity rate. About 60% of what a rooftop system generates goes to the grid rather than into the house, so what an exported kilowatt-hour earns is close to half the answer. Two different questions decide it, and this site keeps them apart because conflating them is how solar economics get overstated:
- The policy structure. Retail-rate net metering credits exports at the same price you pay. Net billing credits them at roughly what the utility avoids spending to generate the power. Some states set rates utility by utility, and some have no statewide rule at all. A programme called “net metering” does not necessarily pay the retail rate.
- The money. Where compensation is not at the retail rate we model it in cents per kilowatt-hour, not as a percentage of retail. Avoided cost tracks wholesale generation value; it does not rise because a state's retail rate is high. Treating it as a fixed share of retail overstated export value most in exactly the states where retail power is most expensive.
The modelled baseline of 6¢/kWh is anchored on the published residential export tariffs we verified with a regulator — Arizona's Resource Comparison Proxy rates. It is a baseline, not a measurement of your utility. Export compensation can vary by utility, tariff, installation date and customer class; where a state runs time-varying export rates, no single number reproduces them, and the figure is labelled modelled for that reason. Every state page shows which structure applies and what we assumed, and the slider lets you substitute your own rate.
Two details matter. Installed cost per watt falls as the system grows, because permitting, design and labour are near-fixed: a 3 kW roof genuinely costs more per watt than a 12 kW one. We scale from a 8 kW benchmark. And the annual benefit is capped at the customer's whole bill, because utilities do not write cheques for net-positive generation.
| Input | Value | Where it comes from |
|---|---|---|
| Measured inputs Observed by a named external dataset. | ||
| Residential electricity priceSourced | 11.92¢/kWh – 44.61¢/kWhyou can change this | U.S. Energy Information Administration — Year to date through May 2026The single most load-bearing input on the site — it prices solar savings, EV charging, heat-pump running cost and battery arbitrage simultaneously. |
| Peak sun hoursSourced | 3.37 – 6.85 hours/day | European Commission Joint Research Centre — 2005–2023 climatologyShown to readers for context. Production is driven by annual yield below, not by this figure. |
| Annual solar yield per kW installedSourced | 1,005 – 1,923 kWh/kW/yr | European Commission Joint Research Centre — 2005–2023 climatologyModelled AC output at optimal tilt. Drives all solar production. Optimal tilt flatters a real roof — east/west facing or shaded arrays yield less. |
| Average residential electricity useSourced | 495 – 1,202 kWh/monthyou can change this | U.S. Energy Information Administration — 2024 (latest completed annual release)Average monthly consumption per residential customer account — the metric EIA publishes, and deliberately not described as 'household' usage, which the dataset does not measure. Sets the modelled system size, so it drives up-front cost and first-year savings together. Your own bill is the better input if you have it. |
| Federal residential clean-energy creditSourced | 0% | Internal Revenue Service — Law in force for the 2026 model yearZero because current federal law provides no credit for this purchase — not because we assumed none. IRC §25D was terminated by P.L. 119-21 for expenditures made after 31 December 2025, and §25D(e)(8)(A) treats an expenditure as made when the original installation is completed, so a system paid for in 2025 but commissioned in 2026 receives nothing. The full treatment, scope and last verification date are recorded in src/data/policy.js. |
| Unresolved inputs Presented as fact, provenance not established. | ||
| Solar export compensation policySource unresolved | none / partial / fullyou can change this | The regulatory structure — whether a state credits exports at the retail rate, runs net billing, or leaves it to each utility. Seven jurisdictions are now verified against a primary regulator or DSIRE's published policy notes (California, Arizona, Texas, Idaho, Vermont, New York, Oregon); the other 44 carry the site's earlier three-bucket assumption and are openly flagged as unverified rather than promoted. DSIRE's per-state records sit behind a licensed API and its summary maps encode states as unnamed polygons, so reading 51 classifications out of map colours would be inferring data from a picture. Full per-jurisdiction records in src/data/exportPolicy.js. |
| Assumptions Chosen by Payback Math. | ||
| Installed solar costAssumption | $2.65/W – $3.60/Wyou can change this | Deliberately NOT presented as a state fact. Installed price varies more by installer, system size, financing, roof and hardware than by state, and the authoritative dataset (LBNL Tracking the Sun) lags roughly two years and is not reachable from our build environment. Publishing a precise 'average Texas price' would be false precision. Scaled by system size — small roofs cost more per watt because permitting and labour are near-fixed. |
| Solar analysis periodAssumption | 25 years | Typical panel performance-warranty horizon. |
| Panel degradationAssumption | 0.5%/yr | Standard modern warranty assumption. Pushes payback later. |
| Electricity price growthAssumption | 2.5%/yr | Long-run US residential average. Pulls payback earlier, partly offsetting degradation. |
| Solar self-consumptionAssumption | 40% | Share used as generated without a battery. Peak output is midday; peak use is evening. |
| Modelled export compensationAssumption | —you can change this | What an exported kWh earns where the state does NOT credit at the retail rate. Modelled in cents rather than as a share of retail, because avoided cost tracks wholesale generation value and does not rise with a state's retail rate — the old percentage model overstated Arizona by about a third and California by roughly 170%, worst exactly where retail rates are highest. Anchored on the only residential export tariffs we verified against a regulator: Arizona's Resource Comparison Proxy (APS 6.171¢, TEP 5.70¢). A baseline, not a measurement of any utility. Solar and battery both read this same figure: they price the same transaction, a residential rooftop kWh exported under the state's DG tariff. For the battery it is an opportunity cost — the income you give up by storing a kilowatt-hour instead of selling it — so a lower export rate makes a battery MORE valuable, not less. |
| Fallback system-loss factorAssumption | 86% | Only used where a location has no PVGIS yield figure. Superseded for all 51 states. |
| Cost-per-watt benchmark sizeAssumption | 8 kW | System size the quoted $/W describes; cost scales from here. |
| Outputs Computed from the rows above by the formula in this section. | ||
| Solar system sizeCalculated | Calculated from monthlyKwh, kwhPerKwYear. | |
| First-year solar generationCalculated | Calculated from systemKw, kwhPerKwYear. | |
| Payback periodCalculated | Calculated from netCost, annual savings, degradation, price escalation. | |
| Lifetime net gainCalculated | Calculated from annual savings, analysis period. | |
EV vs gas
Fuel cost only — this compares what it costs to move the car, nothing else.
gallons = annual_miles / mpg
gas_cost = gallons × gas_price
kWh_from_wall = annual_miles / mi_per_kWh / 0.9
home_kWh = kWh_from_wall × home_share
public_kWh = kWh_from_wall − home_kWh
ev_cost = home_kWh × home_rate + public_kWh × 0.48
break_even_gas = ev_cost / gallonsThe division by 0.9 is the part most comparisons omit: you pay for the electricity that leaves the wall, not the amount that reaches the battery. Blending in public charging matters just as much — DC fast charging runs several times the residential rate, which is where the “my EV isn't actually cheaper” complaints come from.
| Input | Value | Where it comes from |
|---|---|---|
| Measured inputs Observed by a named external dataset. | ||
| Residential electricity priceSourced | 11.92¢/kWh – 44.61¢/kWhyou can change this | U.S. Energy Information Administration — Year to date through May 2026The single most load-bearing input on the site — it prices solar savings, EV charging, heat-pump running cost and battery arbitrage simultaneously. |
| Gasoline priceSourced | $3.60/gal – $5.66/galyou can change this | AAA — Spot price on the retrieval date |
| Annual miles drivenSourced | 6,700 – 21,600 miles/yryou can change this | Federal Highway Administration — 2023 (latest complete release)Miles per licensed driver. Our EV comparison models one driver's annual mileage, which this matches; it is not miles per household or per vehicle. |
| Assumptions Chosen by Payback Math. | ||
| EV efficiencyAssumption | 3.5 mi/kWhyou can change this | Typical mainstream EV before charging losses. |
| Petrol car efficiencyAssumption | 26 MPGyou can change this | Typical mainstream combined figure. The comparison car is a modelling choice, not an observation. |
| Charging efficiencyAssumption | 90% | AC losses between wall and battery. You pay for what leaves the wall, not what reaches the battery. |
| Public fast-charging priceAssumption | $0.48/kWh | Representative DC fast-charging rate. Varies widely by network, session and membership. |
| Share charged at homeAssumption | 80%you can change this | Typical owner with a driveway. The single biggest swing factor in EV running cost. |
| EV comparison periodAssumption | 5 years | Typical ownership span. |
| Outputs Computed from the rows above by the formula in this section. | ||
| Cost per mileCalculated | Calculated from rateCentsPerKwh, EV_MILES_PER_KWH, CHARGING_EFFICIENCY. | |
| Break-even gasoline priceCalculated | Calculated from EV running cost, gallons. | |
Excluded: purchase price, depreciation, insurance, maintenance, tax credits, and the EV registration surcharges several states levy in place of fuel tax. Those often matter more than fuel — this sizes the fuel gap so you can weigh it against the price difference yourself.
Heat pump vs gas furnace
Annual heat demand is derived from heating degree days and a modelled building heat-loss rate, then met two ways.
UA = floor_area × 0.25 (BTU/hr per °F)
heat_BTU = HDD × 24 × UA
therms = heat_BTU / AFUE / 100,000
gas_cost = therms × gas_price_per_therm
seasonal_COP = clamp(3.8 − HDD/5000, 1.8, 3.6)
kWh = heat_BTU / COP / 3412
heat_pump_cost = kWh × electricity_rateCOP falls with climate severity. Applying one flat efficiency nationwide — the usual approach — assumes a mild winter in a cold state.
The full state-by-state consequence of this choice, including a test of the switching condition in every jurisdiction, is set out in heat pump vs gas furnace economics by state.
That climate-varying COP is the single biggest reason published heat-pump savings fail to show up on real bills. A unit works harder per unit of heat as it gets colder, and leans on resistance backup during cold snaps.
| Input | Value | Where it comes from |
|---|---|---|
| Measured inputs Observed by a named external dataset. | ||
| Residential electricity priceSourced | 11.92¢/kWh – 44.61¢/kWhyou can change this | U.S. Energy Information Administration — Year to date through May 2026The single most load-bearing input on the site — it prices solar savings, EV charging, heat-pump running cost and battery arbitrage simultaneously. |
| Residential natural gas priceSourced | $0.74/therm – $5.05/thermyou can change this | U.S. Energy Information Administration — 2025 for 44 states; 2024 for the 7 EIA withheld (CT, ME, MD, NC, OK, RI, SC) |
| Heating degree daysSourced | 0 – 11,003 HDD, base 65°F | NOAA Climate Prediction Center — Published climatological normals (1971–2000 base period)Sets annual heating demand and the climate-adjusted seasonal COP. |
| Assumptions Chosen by Payback Math. | ||
| Modelled home sizeAssumption | 2,000 sq ftyou can change this | A single reference house is used so the state-to-state comparison isolates climate and fuel price rather than housing stock. Census median new-home size is published, but the median *existing* heated floor area by state is not, and heating demand scales almost linearly with it — so this is the input to change first if your home differs. |
| Building heat-loss rateAssumption | 0.25 BTU/hr·°F per sq ftyou can change this | Moderately insulated. Draughty ≈ 0.40, well-sealed ≈ 0.15 — selectable in the calculator. |
| Gas furnace efficiencyAssumption | 92%you can change this | Modern condensing unit. Older furnaces run nearer 80%, which favours the heat pump. |
| Heat pump install premiumAssumption | $4,000you can change this | Extra up-front cost over a like-for-like furnace replacement, before rebates. Highly local. |
| Heat pump analysis periodAssumption | 15 years | Typical equipment life. |
| Negligible-heating thresholdAssumption | 500 HDD | Below this the page reports no meaningful heating season rather than printing noise. |
| Outputs Computed from the rows above by the formula in this section. | ||
| Seasonal COPCalculated | Calculated from hdd. | |
| Annual heating demandCalculated | Calculated from hdd, DEFAULT_HOME_SQFT, HEAT_LOSS_PER_SQFT. | |
Excluded: the cooling benefit (a heat pump replaces your air conditioner too, which can flip the case), rebates, maintenance differences and any electrical panel upgrade.
Home battery
A battery holds one charge and returns it about once a day. It can arbitrage a time-of-use spread or store solar you would otherwise export cheaply — not both with the same stored kilowatt-hour.
usable = capacity × 0.9
peak = rate + spread/2
off_peak = rate − spread/2
arbitrage/cyc = usable × peak − (usable / 0.9) × off_peak
solar/cyc = usable × retail − (usable / 0.9) × retail × export_ratio
annual_value = max(arbitrage/cyc, solar/cyc) × 300
payback = net_cost / annual_valueQuotes that list arbitrage savings and solar savings and then total them are counting one battery twice.
Dividing by 0.9 is deliberate: to deliver one usable kilowatt-hour you must buy about 1.11. Omitting that overstates arbitrage by roughly 11.1%.
Three value streams, never added together. A battery can arbitrage a time-of-use spread, or store solar it would otherwise export, but not both with the same stored kilowatt-hour — so the model takes the larger of the two, not the sum. Backup power is a third stream and is priced separately, never inside payback.
Storing solar is worth what you did NOT sell it for. This is the part most battery maths gets wrong. If power costs 30¢ and exports earn 6¢, moving one exported kilowatt-hour into later household use does not create 30¢ of value — you were already earning 6¢ for it. The gain is the retail purchase you avoid minus the export income you give up, and because delivering one kilowatt-hour means diverting 1.11 into the battery, that is how many exports you forgo.
One consequence is counter-intuitive and worth stating plainly: the less your utility pays for exports, the more a battery is worth. Full retail net metering is the arrangement that makes a battery hardest to justify, because the grid is already storing your power for free. Solar and battery read the same export compensation for a given state — they are pricing the same exported kilowatt-hour, once as income and once as an opportunity cost — so the two calculators cannot disagree about what it is worth.
Backup power is valued separately and never folded into payback. Keeping the lights on during an outage is real value, but it is insurance, not a return. Each state page lets you price an hour of kept power yourself and shows the result beside — not inside — the payback figure.
| Input | Value | Where it comes from |
|---|---|---|
| Measured inputs Observed by a named external dataset. | ||
| Residential electricity priceSourced | 11.92¢/kWh – 44.61¢/kWhyou can change this | U.S. Energy Information Administration — Year to date through May 2026The single most load-bearing input on the site — it prices solar savings, EV charging, heat-pump running cost and battery arbitrage simultaneously. |
| Unresolved inputs Presented as fact, provenance not established. | ||
| Annual outage durationSource unresolved | 2 – 13 hours/yr | Should come from EIA-861 reliability (SAIDI, with major event days stated explicitly). The EIA-861 archive we tried returns a stub. Note SAIDI is average interruption duration per customer — not the same as 'hours without power' for any individual home. Used only to frame backup value, which is deliberately excluded from payback. |
| Solar export compensation policySource unresolved | none / partial / fullyou can change this | The regulatory structure — whether a state credits exports at the retail rate, runs net billing, or leaves it to each utility. Seven jurisdictions are now verified against a primary regulator or DSIRE's published policy notes (California, Arizona, Texas, Idaho, Vermont, New York, Oregon); the other 44 carry the site's earlier three-bucket assumption and are openly flagged as unverified rather than promoted. DSIRE's per-state records sit behind a licensed API and its summary maps encode states as unnamed polygons, so reading 51 classifications out of map colours would be inferring data from a picture. Full per-jurisdiction records in src/data/exportPolicy.js. |
| Assumptions Chosen by Payback Math. | ||
| Time-of-use peak/off-peak spreadAssumption | 0¢/kWh – 28¢/kWhyou can change this | A statewide TOU spread is fake precision: tariffs vary by utility, season, weekday, hour and programme eligibility, and many households are not on a TOU tariff at all. Treated as a baseline to make battery arbitrage tractable, and adjustable on every battery page. |
| Modelled export compensationAssumption | —you can change this | What an exported kWh earns where the state does NOT credit at the retail rate. Modelled in cents rather than as a share of retail, because avoided cost tracks wholesale generation value and does not rise with a state's retail rate — the old percentage model overstated Arizona by about a third and California by roughly 170%, worst exactly where retail rates are highest. Anchored on the only residential export tariffs we verified against a regulator: Arizona's Resource Comparison Proxy (APS 6.171¢, TEP 5.70¢). A baseline, not a measurement of any utility. Solar and battery both read this same figure: they price the same transaction, a residential rooftop kWh exported under the state's DG tariff. For the battery it is an opportunity cost — the income you give up by storing a kilowatt-hour instead of selling it — so a lower export rate makes a battery MORE valuable, not less. |
| Battery capacity modelledAssumption | 13.5 kWhyou can change this | Typical single home battery. |
| Battery installed costAssumption | $1,100/kWhyou can change this | Before incentives. Like solar $/W, this varies more by installer and project than by state. |
| Usable capacityAssumption | 90% | Manufacturers publish usable capacity per product, not as an industry statistic, and the figure differs by chemistry and by how the installer configures a reserve for backup. A representative value is used rather than one vendor's spec sheet. |
| Round-trip efficiencyAssumption | 90% | Delivering one usable kWh means buying about 1.11. Omitting this overstates arbitrage by ~11%. |
| Cycles per yearAssumption | 300 cyclesyou can change this | Near-daily cycling — the optimistic case. |
| Battery warrantyAssumption | 10 years | Reference period for the battery verdict. A payback arriving after the warranty is not one you can rely on. |
| Outputs Computed from the rows above by the formula in this section. | ||
| Battery annual bill savingCalculated | Calculated from touSpreadCents, the jurisdiction's export compensation, ROUND_TRIP_EFFICIENCY. | |
How verdicts are assigned
Where a page shows a plain-language verdict, the thresholds are tied to the product's own lifetime rather than invented bands. A payback is only meaningful relative to how long the equipment lasts.
| Assumption | Value | Why |
|---|---|---|
| Strong | Payback ≤ 40% of analysis period | Cost recovered with most of the equipment's life still ahead. |
| Reasonable | 40–70% of analysis period | Recovered, with useful life remaining. |
| Marginal | 70–100% of analysis period | Only breaks even near end of modelled life. |
| Does not pay back | Beyond analysis period | Never recovered within the horizon we model. |
For batteries the reference is the 10-year warranty, not the analysis horizon — a payback that arrives after the warranty expires is not a payback you can rely on.
Incentives and tax credits
Incentives move these numbers more than almost any modelling choice, and they change frequently. Our position is to model only what we can state precisely, and to say plainly what is excluded.
Federal residential clean-energy credit: 0% for new 2026 installations. Public Law 119-21, enacted 4 July 2025, terminated §25D for expenditures made after 31 December 2025. Under §25D(e)(8)(A) an expenditure is treated as made when the original installation is completed — so paying in 2025 for a system commissioned in 2026 does not preserve the credit. A system finished in 2025 is unaffected and is claimed on the 2025 return, and unused credit from an earlier qualifying year may still be carried forward; neither is a credit for a new 2026 installation, which is what this site models.
What the baseline represents: A homeowner who buys and owns a residential solar system whose installation is completed in 2026. Business clean-electricity credits such as §48E continue on their own timetable, but they are claimed by the owner of the system. In a lease or PPA the installer owns the equipment and may or may not pass the value through in the rate — that is not modelled here, and it is not a credit the homeowner receives.
State and utility incentives are not modelled by default — they are too local and change too often for a national dataset — but the battery and heat-pump calculators let you enter a rebate amount and see its effect immediately.
Proposed legislation is not modelled. H.R. 5862 (119th Congress), introduced 28 October 2025, would reverse the termination. It has not been reported out of committee or passed either chamber, so it is not reflected in these figures. Payback Math publishes the current-law baseline, never a forecast of what Congress might do.
Verified against Internal Revenue Service guidance on (Public Law 119-21, enacted ). Tax eligibility depends on individual circumstances: this is the baseline federal treatment for a typical homeowner-owned installation, not tax advice.
Nothing here should be read as a guarantee that any rebate is available to you. Confirm current programmes before spending money.
Uncertainty
These are estimates from state averages, not quotes for your property. Results move with future energy prices, your actual usage, equipment and installation cost, financing, maintenance, local climate and incentives. The calculators expose the inputs that matter most precisely so you can test how sensitive the answer is to each one.
Where a figure is an informed estimate rather than a sourced measurement, our data sources page says so explicitly, field by field.
Data updated · Calculation model 2026.08.6 · change history