HomeHome Energy & Electrical › Solar Payback Calculator

Solar Payback Calculator

Estimates the annual generation of a photovoltaic system from its size and specific yield, the first-year savings from self-consumed electricity and exported energy, the simple payback period, and a year-by-year table with panel degradation and electricity price escalation over the analysis period, including the levelised cost of the solar electricity.

When to use

You want to judge a solar quote: how many years until the system has paid for itself, what it saves over its life, and what its electricity costs per kWh.

Do not use when: You need the daily output of a panel array from irradiance (use solar-panel-output), a financed system with loan interest, or discounted cash-flow measures; results are estimates, not financial advice.

Formula

annual_generation_kwh = system_size_kw × annual_yield_kwh_per_kw; generation_y = annual_generation_kwh × (1 − annual_degradation_percent/100)^(y−1); savings_y = generation_y × (self_consumption_percent/100 × electricity_price_per_kwh × (1 + price_escalation_percent/100)^(y−1) + (1 − self_consumption_percent/100) × feed_in_tariff_per_kwh); simple_payback_years = system_cost / savings_1; lifetime_savings = Σ savings_y; net_benefit = lifetime_savings − system_cost; lcoe_per_kwh = system_cost / Σ generation_y

Undiscounted cash-flow model with linear-geometric degradation (NREL median 0.5 %/year) and no inverter replacement, maintenance or financing costs; the specific yield should come from a site tool such as NREL PVWatts. Informational estimate, not financial advice.

Inputs

ParameterTypeUnitRequiredDescription
system_size_kwnumberkWpyesRated DC capacity of the array in kilowatts-peak. Range: > 0, ≤ 100000
system_costnumberyesInstalled cost after rebates and tax credits, in your currency. Range: > 0, ≤ 1000000000
annual_yield_kwh_per_kwnumberkWh/kWp/yeardefault 1400Annual generation per kWp: about 900–1,100 in northern Europe, 1,300–1,600 in the southern US and southern Europe, up to 1,900 in deserts (PVWatts gives a site value). Range: ≥ 300, ≤ 2500
electricity_price_per_kwhnumberper kWhyesRetail price per kWh that self-consumed solar electricity displaces. Range: ≥ 0, ≤ 100
self_consumption_percentnumber%default 100Share of generation used on site (100 with net metering; 30–50 without a battery; higher with one). The rest is exported at the feed-in tariff. Range: ≥ 0, ≤ 100
feed_in_tariff_per_kwhnumberper kWhdefault 0Payment per exported kWh. Range: ≥ 0, ≤ 100
annual_degradation_percentnumber%/yeardefault 0.5Yearly loss of output; 0.5 % per year is the NREL median for crystalline silicon. Range: ≥ 0, ≤ 5
price_escalation_percentnumber%/yeardefault 0Yearly increase of the retail electricity price (the feed-in tariff is held constant). Range: ≥ -10, ≤ 20
analysis_yearsintegeryearsdefault 25Years in the savings table (25 matches typical panel performance warranties). Range: ≥ 1, ≤ 25

Outputs

OutputTypeUnitDescription
annual_generation_kwhnumberkWhsystem_size_kw × annual_yield_kwh_per_kw.
first_year_savingsnumberGeneration × (self-consumed share × price + exported share × feed-in tariff).
simple_payback_yearsnumberyearssystem_cost / first_year_savings.
cumulative_payback_yearsnumberyearsYear (interpolated) in which cumulative savings reach the system cost; absent when not reached within analysis_years.
lifetime_generation_kwhnumberkWhSum of yearly generation over analysis_years with degradation.
lifetime_savingsnumberSum of yearly savings over analysis_years.
net_benefitnumberlifetime_savings − system_cost.
lcoe_per_kwhnumberper kWhsystem_cost / lifetime_generation_kwh (undiscounted, no maintenance costs).
yearlylistPer year: year, generation_kwh, savings, cumulative savings.

Example

6 kW for 12,000 at 1,400 kWh/kWp, 0.30 per kWh, 100 % self-use: {"system_size_kw":6,"system_cost":12000,"annual_yield_kwh_per_kw":1400,"electricity_price_per_kwh":0.3,"self_consumption_percent":100}{"annual_generation_kwh":8400,"first_year_savings":2520,"simple_payback_years":4.76,"lifetime_savings":59361,"net_benefit":47361,"lcoe_per_kwh":0.0606}

10 kW, 40 % self-use, 0.08 feed-in, 3 % escalation, 20 years: {"system_size_kw":10,"system_cost":18000,"annual_yield_kwh_per_kw":1100,"electricity_price_per_kwh":0.25,"self_consumption_percent":40,"feed_in_tariff_per_kwh":0.08,"price_escalation_percent":3,"analysis_years":20}{"annual_generation_kwh":11000,"first_year_savings":1628,"simple_payback_years":11.06,"lifetime_savings":38129.87,"net_benefit":20129.87,"lcoe_per_kwh":0.0858}

GET https://tttkmbb.com/api/v1/calculate/solar-payback?system_size_kw=6&system_cost=12000&annual_yield_kwh_per_kw=1400&electricity_price_per_kwh=0.3&self_consumption_percent=100

Machine access

Sources

FAQ

Where do I get the specific yield?

Run NREL PVWatts (or PVGIS in Europe) for your address, tilt and orientation; it returns annual kWh per kW of installed capacity.

What is self-consumption and why does it matter?

It is the share of solar output used in the house instead of exported. Self-consumed energy is worth the retail price; exported energy only earns the feed-in tariff, often a third of it.

Why does the payback with degradation differ from the simple payback?

Simple payback assumes first-year savings repeat forever; the cumulative version applies yearly panel degradation and price escalation, so it is longer without escalation and can be shorter with it.

Related calculators