Methodology: How We Calculate

Our Promise

Every number on this site is derived from public data, physics, and honest math. We show our assumptions. We show our sources. We update when data changes.

We do not take money from installers, manufacturers, or energy companies.

Contents

  1. Solar Yield Calculation
  2. Electricity Price Data
  3. Country Coverage
  4. Heat Pump Modeling
  5. Payback Calculation
  6. Battery Economics
  7. Equipment Lifespans
  8. Self-Consumption Model
  9. Subsidy Tracking
  10. Comparison to Installer Quotes
  11. Known Limitations
  12. Updates & Corrections
  13. Sources
  14. License

Download the Spreadsheet

Every calculation on this page can be reproduced in a spreadsheet. We have built an Excel version with 39 country presets, 5 PVGIS climate zones, 8,760 hourly rows, and 25-year financials with all formulas exposed.

Available on request. Email us and we'll send you the preview. We'll publish a direct download once it's ready for self-service use.

Disclaimer: All figures on this page are modeled estimates based on publicly available data and stated assumptions. They are not guarantees of future performance. Solar yields, electricity prices, equipment costs, and carbon intensities vary by location and change over time. Consult a qualified professional before making investment decisions.


Solar Yield Calculation

Source: PVGIS (European Commission JRC)

We use the Photovoltaic Geographical Information System (PVGIS) developed by the EU Joint Research Centre. It is the scientific standard for solar yield estimation in Europe.

Quick vocab: A kilowatt-peak (kWp) is how much power a solar panel can produce in perfect midday sun. An 8 kWp system is about 20 panels on a typical roof. A kilowatt-hour (kWh) is the energy you actually use β€” like running a 1,000-watt heater for one hour. Your electricity bill is in kWh.

Why PVGIS:

What we input:

What PVGIS outputs:

What we add:


Electricity Price Data

Source: Eurostat, National Regulators

Feed-in tariff: The price the grid pays you for excess solar you export. Think of it as the wholesale price the power company buys your electricity for β€” usually much lower than what they sell it to you for.

Country Source Update Frequency
All EU Eurostat nrg_pc_204 Semi-annual
Hungary MEKH (Hungarian Energy Authority) Monthly
Poland URE (Energy Regulatory Office) Monthly
Germany Bundesnetzagentur Annual
etc. ... ...

What we show:

What we don't do:


Country Coverage

Our calculator covers 42 European countries plus an EU Average profile. Data is sourced from Eurostat and national regulators for each market.

Countries

Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Luxembourg, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, plus Albania, Belarus, Bosnia and Herzegovina, Estonia, Iceland, Latvia, Lithuania, Macedonia, Moldova, Montenegro, Norway, Russia, Serbia, Switzerland, TΓΌrkiye, Ukraine, and the United Kingdom.

EU Average

The EU Average is a composite profile using median electricity prices, equipment costs, and solar yields across the EU-27. It is useful for rough estimates when you don't know your exact country, but country-specific data is always more accurate.

What varies by country

Factor How it differs
Electricity price €0.08–0.37/kWh (Finland to Ireland)
Feed-in tariff €0.03–0.12/kWh (some countries have none)
Solar yield 750–1,700 kWh/kWp/year (north to south)
Equipment cost €600–1,200/kWp installed
VAT / taxes 0–27%
Subsidies Country-specific grants and tax deductions
Net metering rules Net total, net billing, or per-phase

Heat Pump Modeling

SCOP = 4.6 (Constant)

We model heat pumps with a constant Seasonal Coefficient of Performance (SCOP) of 4.6. This means 1 kWh of electricity produces 4.6 kWh of heat over the heating season.

SCOP vs COP: COP is an instantaneous measure that changes with outdoor temperature. SCOP is the regulated seasonal average β€” like EPA miles-per-gallon for a car, it averages across all conditions. A SCOP of 4.6 means you get 4.6 units of heat for every 1 unit of electricity, averaged across the year. A modern condensing gas boiler is ~0.9–0.95; older non-condensing boilers are ~0.8. Electric resistance is 1.0.

Why constant? Real-world performance varies with outdoor temperature (lower in cold weather, higher in mild weather). We use 4.6 as a realistic annual average for modern air-to-air heat pumps in Central European climates. Caveat: Air-to-water heat pumps in Northern Europe (Finland, Sweden) typically achieve SCOP 2.5–3.5. Our model overestimates their performance. A future version will add climate-dependent SCOP curves.

How heating demand is distributed

  1. You input your total annual heating demand (thermal kWh needed to heat your home)
  2. We distribute this across the year using a seasonal factor based on day length and a heating-season curve
  3. Demand is concentrated in October–April, with peaks in January
  4. The heat pump's electrical demand = thermal demand Γ· 4.6

Why this changes everything

Without heat pump With heat pump
Annual electricity: ~3,000 kWh Annual electricity: ~8,000–12,000 kWh
Battery charges most days year-round Battery often charges zero in December–January
Self-consumption: 40–60% Self-consumption: 20–35%
Solar covers most of your demand Solar covers heating first, little left for other uses

This is why adding a heat pump to an existing solar system often makes the economics look worse β€” your demand doubled but your solar stayed the same.


Payback Calculation

The Honest Formula

Dynamic Payback (years) = First year where Cumulative Net Savings β‰₯ Total Upfront Cost

What this means: We simulate every year of your system's life, accounting for panel degradation, price changes, and equipment replacements, then find the exact year when you've broken even. This is more honest than the simple "cost Γ· year-1 savings" formula most installers use.

Total Cost includes:

  1. System cost (panels + inverter + installation)
  2. Battery cost (if applicable)
  3. Inverter replacement (at year 12, 50% of original)
  4. Annual maintenance (€100–200/year)
  5. Insurance premium increase

Annual Savings includes:

  1. Self-consumption: kWh Γ— electricity price
  2. Export: kWh Γ— feed-in tariff

What we DON'T include (because it's dishonest or not yet modeled):

NPV Calculation

NPV = -Upfront + Ξ£ (Annual Net Benefit / (1 + discount_rate)^year)

Where Annual Net Benefit is:

(Baseline electricity cost βˆ’ Actual grid import cost + Export revenue βˆ’ O&M costs)

Baseline electricity cost = (base load + heating capped at heat-pump efficiency) Γ— electricity price

Why we cap heating in the baseline: Without this cap, resistive electric heating (COP 1.0) would inflate NPV by creating 4.6Γ— more electricity demand for solar to offset. This made resistive heating look like a better investment than a heat pump, which is absurd. The baseline uses the minimum of your actual heating electricity and the heat-pump-efficient equivalent (heatingDemand / 4.6). This means:

NPV honestly reflects whether solar is a good investment β€” independent of heating efficiency choices.

NPV in plain English: Would you rather have €7,000 in your bank account earning interest, or spend it on solar panels? NPV adds up all your solar savings over 25 years, then subtracts what you could have earned by investing the same money at 6% instead. If the result is positive, solar beats the bank. If negative, keep your money in the bank.

If NPV > 0, the investment is financially justified. If NPV < 0, it loses money.


Battery Economics

How We Model Batteries

Our calculator simulates the battery hour-by-hour within the full year, not as a separate spreadsheet calculation:

  1. Midday: Solar exceeds demand β†’ excess charges battery (up to max charge rate)
  2. Evening: Solar drops, demand peaks β†’ battery discharges to cover deficit
  3. Night: Battery depleted β†’ grid imports resume
  4. Round-trip efficiency: 85% (2,569 kWh in β†’ 2,181 kWh out = 15% loss, matching real Li-ion batteries)

Battery Utilization Reality

A 10 kWh battery does not cycle 10 kWh every day. We model an effective capacity factor that scales with your solar-to-demand ratio. This is not a cycling metric β€” it is a capacity adjustment that reflects the reality that an oversized battery relative to available solar excess cannot be filled every day:

This is a simplified proxy for weather variability. A more sophisticated model would simulate individual cloudy days explicitly.

When We Say "Battery Doesn't Pay Back"

In flat-rate countries (Hungary, most of Eastern Europe):

Flat-rate tariff: You pay the same price for electricity whether it's 3 AM or 6 PM.

In time-of-use countries (Netherlands, some UK):

Time-of-use (TOU): Electricity costs different amounts at different times.


Equipment Lifespans

Component Lifespan Source
Solar panels 25–30 yr NREL degradation studies
Inverter 10–15 yr NREL/PVEL reliability data
Battery (LiFePOβ‚„) 10–15 yr Calendar aging, not cycles
Mounting 25 yr Galvanized steel specs
Cabling 25 yr Insulation degradation

Replacement cost assumption:


Self-Consumption Model

We use a 365-day hourly simulation (8,760 timesteps = 365 days Γ— 24 hours). Every single day of the year is modeled hour-by-hour using a single unified engine that powers both the interactive calculator and the build-time country reference data.

Self-consumption: The percentage of your solar energy you use directly in your home instead of exporting to the grid. Higher is better β€” every kWh you self-consume saves you the full retail price. Every kWh you export only earns the low feed-in tariff.

How it works

  1. Solar profile: Half-sine curve during daylight hours, scaled to daily PVGIS production. Each of the 365 days has its own daylight duration (January β‰ˆ 8.5h, July β‰ˆ 15.5h) and production level based on the seasonal cycle.
  2. Base load profile: Hourly shape based on occupancy (see below). Peaks in morning and evening, low during work hours. Scaled to the user's annual base electricity input.
  3. Heating profile: Distributed across heating-season days using a temperature-driven seasonal factor. Heat pump electricity demand is computed from thermal demand divided by SCOP 4.6. Runs whenever outdoor temperature is below the heating threshold.
  4. Battery simulation: Hour-by-hour state of charge for all 365 days. Charges from midday excess, discharges in evening/night. Round-trip efficiency: 85%. Battery utilization scales with solar-to-demand ratio (see Battery Economics above).
  5. Net metering: The engine computes hourly self-consumption, export, and import, then values them at retail price and feed-in tariff. It does not currently model annual netting, virtual offset, or per-phase balancing. Country-specific net metering rules are documented in our data files but not applied in the simulation.

Occupancy profiles

Profile Solar-hour demand Typical user
Regular (default) ~36% Family, some home during day
Away all day ~24% Commuters, empty house 9–5
Work from home ~43% Remote worker, high daytime use
Full time occupancy ~43% Always someone home
Retired ~43% Home all day, moderate use
Weekend only ~28% Holiday home, rarely there

Winter reality check

With a heat pump in January, a 5 kWp system produces ~3 kWh/day while heating alone demands ~30 kWh/day of thermal output (β‰ˆ 6.5 kWh of electricity at SCOP 4.6). The battery often has nothing to charge from β€” every watt of solar goes straight to heating. Our simulation shows ~47 zero-charge days per year for typical heat-pump households.

Even a 10 kWh battery is usually empty by 4 AM. From 4 AM to 9 AM, all heating comes from the grid β€” solar hasn't started yet and the battery is depleted. This is why "solar + heat pump + battery" is still heavily grid-dependent in winter.

Why this matters: Most online calculators use monthly averages that smooth over this gap. Our 365-day simulation captures the brutal reality of December week-by-week. See our Self-Consumption Reality guide for why other calculators show 60–90% and we don't.


Subsidy Tracking

We track subsidies by country from official sources:

Status codes:

We update when programs change. We do NOT estimate future subsidies.


Comparison to Installer Quotes

Why Installers Show Better Numbers

Tactic What They Do What We Do
Optimistic yield Assume 1,200 kWh/kWp in Hungary Use PVGIS: ~1,050
Ignore degradation Assume 100% output forever Apply 0.5%/year
Ignore inverter No replacement cost Include inverter replacement at year 12
Blended payback Solar+battery together Separate calculation
Price growth Assume 5–10%/year Show flat AND growth scenarios
Maintenance Not mentioned €100–200/year
Self-consumption Assume 70–80% Model hourly, profile-specific 20–70%
Heat pumps Ignored or "add 2,000 kWh" Full hourly heating demand simulation

How to Check an Installer's Quote

  1. Ask for their solar yield assumption β†’ Check against PVGIS
  2. Ask if inverter replacement is included β†’ Should be
  3. Ask if battery payback is separate β†’ Should be
  4. Ask what electricity growth rate they use β†’ Should show sensitivity
  5. Ask for reference customers β†’ Call them

Known Limitations

No model is perfect. Here are the limitations we know about:

  1. Shading: We assume zero shading. Real roofs have chimneys, trees, and neighboring buildings.
  2. DC:AC ratio / inverter clipping: We assume no inverter clipping. Oversized arrays (common practice) may clip peak output.
  3. Inter-annual weather variability: PVGIS yields vary Β±5–10% year-to-year. We present a single deterministic number.
  4. Temperature-dependent SCOP: We use a constant 4.6. Real heat pumps perform worse in cold weather (SCOP may drop to 2.5–3.5 at -10Β°C).
  5. Soiling: We assume clean panels. Dust, pollen, and bird droppings can reduce output 2–8%.
  6. Net metering rules: Country-specific rules (annual netting, per-phase balancing) are documented but not simulated.
  7. H-tarifa (Hungary): Installing solar cancels the discounted heat-pump tariff. Our engine models this by pricing HP electricity at the discounted H-tarifa rate in the baseline, and all post-solar grid import at the full A1 rate. H-tarifa only applies to heat-pump electricity β€” resistive heating is not eligible for the discount and is priced at the standard retail rate in the baseline.
  8. Gas boiler comparison: We use 0.8 efficiency (old non-condensing fleet average). Modern condensing boilers are 90–95% efficient, making heat pumps look slightly better than they are.
  9. Dynamic payback formula: We track cumulative net savings year-by-year over the full system lifetime, including degradation, price growth, and replacements. This is more honest than simple payback (upfront cost Γ· year-1 savings), which ignores degradation and replacements.
  10. NPV heating baseline: We cap heating demand in the NPV baseline at heat-pump efficiency (SCOP 4.6). This prevents resistive heating from artificially inflating solar NPV, but it also means NPV does not reward switching from gas/wood to resistive electric heating.

Updates & Corrections

Last updated: 2026-05-28 Next review: 2026-11-23

2026-05-28 β€” NPV baseline cap for heating

If you find an error, contact us. We correct mistakes publicly.


Sources

Data Type Primary Source Backup
Solar yield PVGIS JRC DWD (Germany), MeteoSwiss
Electricity prices Eurostat National regulators
Equipment specs Manufacturer datasheets Independent tests
Reliability data NREL, Fraunhofer PVEL, TÜV
Subsidies National agencies EU Commission
Real-world performance Academic studies Open datasets

License

All calculations, data, and methodology are published under [CC-BY-SA]. You may use them for any purpose, commercial or non-commercial, with attribution.