Methodology

Model version v3.1 · as of 2026-09-15

This page states what we calculate with and where every number comes from. The standard is that a specialist can recompute any result — assumptions, formulas and uncertainties are disclosed here in full and repeated in every report.

Data basis

Solar: PVGIS 5.3 from the European Commission's Joint Research Centre, radiation database PVGIS-SARAH3. Wind: New European Wind Atlas (NEWA, 3 km resolution) within Europe, NASA POWER as the fallback outside it. Electricity prices: Eurostat nrg_pc_204. Heating degree days: Eurostat nrg_chdd_a. CO₂ factors: Umweltbundesamt (Germany) and the European Environment Agency. Which source produced a given figure is stated on the result itself; the full list with version, reference date, period and licence is on the Data sources page. Where NEWA is unavailable, or the site lies outside its coverage, the result and the report name NASA POWER as the source actually used and state its coarser resolution of about 50 km. The Global Wind Atlas, which several pages named up to model version v3.0, has never been queried by any code path. Reports produced before v3.0 therefore carry a wrong credit, not a different data basis — their wind figures came from NEWA or NASA POWER as well. If such a report is regenerated and the source actually used was not stored with it, the report says so instead of naming a source retrospectively.

Solar model

PVGIS returns the AC yield for the given capacity, tilt and azimuth. The standard example uses 35° tilt facing south; both are stated on the result, because an east-west array sits 15 to 25 % below that. The loss chain is itemised: reflection at the module (PVGIS l_aoi), spectral effects (l_spec), module temperature and low irradiance (l_tg), 11 % system losses for cabling, mismatch and inverter, then country-specific soiling. Important: PVGIS defaults to 14 % system loss, which already includes dirt. We therefore request 11 % and subtract soiling exactly once — previously it was counted twice, understating the annual yield by 1 to 4.5 %. The performance ratio (AC yield divided by in-plane irradiation times kWp) and the specific yield in kWh/kWp/a are shown on every result. They are the figures with which a third-party calculation can be checked in a minute.

Wind model

Small wind is the classic bad-investment case, so this model is deliberately conservative. 1. The data source gives the mean wind speed at a reference height of 50 m. 2. It is converted to hub height with the logarithmic wind profile: v(z) = v_ref · ln(z/z₀) / ln(z_ref/z₀). The roughness length z₀ follows the European Wind Atlas roughness classes; without further information, suburban terrain (z₀ = 0.4 m) is assumed. Going from 50 m to a 15 m mast costs about a quarter of the wind speed — and, cubed, more than half the power. 3. The Weibull distribution is convolved with the power curve. The reference machine is 10 kW with a 7 m rotor, cut-in 2.5 m/s, rated 11 m/s and cut-out 25 m/s. The power coefficient is not constant: it reaches its maximum of 0.35 only at 9 m/s and falls to zero at cut-in — a small fixed-pitch turbine works near its optimum only in a narrow band. 4. Air density follows from site elevation and mean temperature. 5. Losses: availability 3 %, electrical 5 %, blade soiling and icing 1 %, plus turbulence and terrain complexity between 1 and 12 % depending on roughness class. 6. The net capacity factor is capped at 15 %. The cap is a deliberate product assumption, not a physical limit: a screening without on-site measurement carries no higher figure for a small turbine, and without it a single optimistic wind speed would drive an investment decision. Where the cap binds, the result and the report say so and state the uncapped value alongside, so that two differently good sites do not silently look alike. That puts realistic values at 3 to 8 % inland and 10 to 15 % near the coast, where the top of the range is the cap rather than the physics. Earlier figures of 12 to 23 % came from utility-turbine values in open terrain at around 100 m hub height and were 2 to 5 times too high for a 10 kW machine. Every result states hub height, hub-height wind speed, Weibull shape parameter k, roughness length and air density, so a difference between two nearby sites can be followed. A screening still does not replace an on-site wind measurement.

Economic model

PV investment cost: country reference price at 10 kWp, degressive with system size at an exponent of 0.2. Small systems cost more per kWp, not less — scaffolding, grid connection, documentation and the site visit barely scale. For Germany that gives about 1,610 €/kWp at 5 kWp, 1,400 €/kWp at 10 kWp and 1,220 €/kWp at 20 kWp. Small wind investment cost: 4,000 €/kW at 10 kW, the mid-point of the 3,000–6,000 €/kW range reported for Europe including mast, foundation, grid connection and permitting. Operating cost: insurance, metering and maintenance as an annual amount. Replacements are explicitly not part of it: the inverter swap (150 €/kWp in year 13) and the small-wind overhaul (15 % of the investment in year 12) are charged in the year they fall, because the timing is what NPV is sensitive to. Horizon: 20 years. Residual value: 0 €, deliberately conservative, since a system keeps producing afterwards. VAT: in Germany systems up to 30 kWp carry a zero rate under § 12(3) of the VAT Act, so the investment is a gross figure with no input tax deduction. Other countries use their configured rate. Self-consumption: 30 % by default for solar without storage and 20 % for wind — wind generates at night and in winter, when household demand is low. With storage, 60 % and 40 % respectively. This share is the strongest lever in the whole model, which is why it is shown on every result and can be changed. Discount rate: the model is nominal throughout — revenues escalate with the electricity price, so the rate must be nominal too. Defaults are 3 % for households, 6 % for businesses and 7 % for institutional portfolios. A real rate applied to nominal cash flows would overstate the NPV substantially. Electricity price basis: Eurostat nrg_pc_204, consumption band DC, second half of 2025. The dataset is published twice a year with a six to nine month lag and contains national averages without regional grid fees. Dataset, band and half-year are shown on every result and can be overridden. PV degradation: 0.5 % per year, the median of the NREL review by Jordan and Kurtz. Wind turbines do not degrade in that way; wear and availability sit in the loss chain.

Formulas

Wind annual yield: E = CF_net · P_rated · 8,760 h, with CF_net = min(CF_gross · Π(1 − loss_i); 0.15). Gross capacity factor: CF_gross = ∫ f(v) · P(v) dv / P_rated, with the Weibull density f(v) = (k/A)(v/A)^(k−1) e^(−(v/A)^k) and the power curve P(v) = min(0.5 · ρ · A_rotor · c_p(v) · v³; P_rated). Annual benefit: N_t = E_t · q · p_t + E_t · (1 − q) · f − OPEX − replacement_t, with self-consumption share q, electricity price p_t = p_1 · (1 + e)^(t−1) and feed-in tariff f. E_t = E_1 · (1 − d)^(t−1). Payback, three figures that must not be confused: • Static payback = CAPEX / N_1. Shown on the city pages because many quotes use it. It omits price escalation, degradation and replacement costs. • Cumulative payback = the smallest t with Σ_{τ≤t} N_τ ≥ CAPEX, with N_τ nominal and NOT discounted. It does contain degradation, price escalation and the dated replacement costs. • Discounted payback = the smallest t with Σ_{τ≤t} N_τ / (1 + i)^τ ≥ CAPEX, discounted with the same nominal i as the net present value. All three are evaluated at year end and reported in whole years; nothing is interpolated inside a year. Where the sum is not reached within the horizon, the figure is reported as not reached within the period — never as the horizon itself. Up to model version v3.1 the cumulative figure was labelled "dynamic", which implied a discounting it never performed; the discounted payback is now computed and reported separately. Net present value: NPV = −CAPEX + Σ N_t / (1 + i)^t, with nominal i. Performance ratio: PR = E_AC / (H_i · P_kWp), with in-plane irradiation H_i in kWh/m²/a.

Uncertainty and exceedance levels

A P90 built from weather years alone is systematically optimistic, because it implies the model and the plant are known exactly. The uncertainty budget therefore has three contributions, added in quadrature: σ_total = √(σ_resource² + σ_model² + σ_plant²). Solar: resource per country from interannual variability (EMHIRES, 7 to 9 %), model 6 % (PVGIS states ±4 to 8 % for annual irradiation), plant 4 % for tilt, azimuth, component tolerance and soiling scatter. Wind: resource 6 % interannual, model 15 % for NEWA and 25 % for NASA POWER — a speed error enters the energy at the third power — and plant 8 % for the power curve, the mast height actually built and availability. P50, P75 and P90 are reported. P80 is no longer used; the industry works with P50/P75/P90. There is no band for NPV, return and payback. Those three are scenario values under the assumptions listed on each result — change one assumption and the figure changes. They carry no exceedance level: there is no "P90 payback" here, and a yield quantile must never be relabelled as one. What does exist for the net present value is a one-at-a-time tornado sensitivity over electricity price, investment cost, feed-in tariff, degradation and discount rate, each varied by ±20 % (Pro reports). It shows how far the figure moves when one input is wrong. It is not a probability statement: it prices in neither the self-consumption share nor the dependencies between the inputs.

Regulation

EEG tariffs by system size and full/partial feed-in including the half-yearly degression (1 February / 1 August). Solarspitzengesetz: the suspension of payment during negative market prices is modelled as a configurable deduction on feed-in revenue. Without an intelligent metering system, new systems up to 25 kWp commissioned from 25 February 2025 are limited to 60 % of rated ACTIVE POWER under § 9 EEG; the earlier 70 % rule applies to older systems and is not modelled. A power cap is not an equally large energy loss — only the hours above the threshold are clipped. Absent an hourly simulation the model applies a flat annual energy loss of 2.5 % for it: an estimate for a typical south-facing 30° system with self-consumption, taken from the 1.5 to 3.5 % range reported by HTW and Fraunhofer, not a figure computed for this specific site. All values are versioned with source and reference date and are stated in the report. Only Germany is currently modelled in regulatory detail. For other countries, electricity price, feed-in tariff and VAT rate come from country defaults, and national special rules are not applied. Subsidy programmes are a list, not a calculation. For Germany, Austria and Switzerland the result and the report name the federal and regional programmes matching the location and technology, each with its official source, its verification state and the date it was last checked. No programme amount is deducted from the investment and none enters the payback: grant, loan and tariff are three different things, and a loan is not a reduction in cost. Whether a project meets a programme’s conditions is not checked. Where no list is shown — every country outside DACH — that says nothing about whether funding exists there.

Heat pump

The seasonal performance factor is derived from manufacturer-typical COP curves and the mean outdoor temperature level implied by heating degree days, then corrected to the actual flow temperature. The correction follows the Carnot ratio that also underlies the correction tables of VDI 4650: SCOP(T_flow) = SCOP_35 · [T_flow/(T_flow − T_source)] / [308.15/(308.15 − T_source)] in kelvin. Going from 35 °C to 55 °C costs roughly a third of the performance factor. Flow temperature is the dominant driver of the seasonal performance factor; without it, heat pump economics are arbitrary. The default, absent other information, is 55 °C — radiators in an unrenovated building, the conservative case. Underfloor heating 35 °C, low-temperature radiators 45 °C, old radiators 65 °C. The comparison baseline is a condensing gas boiler with an annual utilisation ratio of 87 % referred to the gross calorific value (Hs) — the basis gas is billed on. Referred to the net calorific value (Hi) that corresponds to about 97 %. The basis is stated explicitly because Hs and Hi are about 11 % apart and the choice decides the whole comparison. Subsidy figures (BEG) are reference values — binding assessment is done by an energy consultant and BAFA.

Limits of the model

What this model does not do: • Small wind is assessed without site measurement. An investment decision needs at least a year of measured wind data; a screening can rule a site out, but cannot prove one. • Shading, roof construction, structural capacity, grid connection capacity and permitting are not included. • Site elevation enters only through air density where it is known; without it, sea level is assumed, which slightly overstates the yield. • The CO₂ factor is an annual average of the grid mix, not a displacement factor. What is actually displaced depends on the hour and needs hourly data. • Bands exist for the yield. NPV, return and payback are scenario values with a sensitivity behind them, not a probability distribution. • Outside Germany, support schemes and regulatory specifics are not modelled.

Updates

Electricity prices are refreshed twice a year with the Eurostat release, CO₂ factors annually, EEG rates on 1 February and 1 August. Changes to the calculation model itself are in the changelog on this page; the model version is carried in every report so an older report stays reproducible.

Model changelog

  • v3.1 · 2026-09-15
    Payback separated into three figures: static, cumulative (undiscounted) and discounted at the same nominal rate as the net present value. The cumulative figure used to be labelled "dynamic", which implied a discounting it never performed. A payback not reached within the horizon is now reported as such instead of "> 20 years". The battery replacement is a dated cash flow and therefore discounted into the NPV; it used to be subtracted from the cumulative benefit afterwards and left out of the NPV entirely. The wind source actually used is named on the result and in the report, including the NASA POWER fallback, and where the 15 % capacity factor cap binds, the uncapped value is shown next to it. The contradictory wind-source and capacity-factor statements on this page were corrected, as was the feed-in cap on the pricing page (60 % active power, not 70 %). Subsidy programmes carry a verification state and a check date and are stated as a list, not as an eligibility check.
  • v3.0 · 2026-09-13
    Wind model replaced entirely: logarithmic wind profile to hub height, small-wind power curve with a speed-dependent power coefficient, Weibull convolution, air density from elevation, an explicit loss chain and a 15 % capacity factor cap. Investment costs are now size-degressive, with a realistic €/kW basis for small wind. Inverter replacement and turbine overhaul are dated cash flows instead of being folded into OPEX. The discount rate is nominal and differentiated by customer type. Uncertainty budget from resource, model and plant; P50/P75/P90 throughout. Soiling is no longer counted twice. Self-consumption is separate for solar and wind and shown on every result. German CO₂ factor updated.
  • v2.1 · 2026-06-12
    Heat pump integration, storage and EV modules.
  • v2.0 · 2026-02-01
    EEG degression, Solarspitzengesetz and the iMSys cap in the model.

EEG rates last reviewed: 2026-09-15. All information without guarantee — no tax, legal or financial advice.