The model covers fixed PV systems below 100 kW receiving the EEG feed-in tariff, not plug-in devices. Systems commissioned before 25 February 2025 retain the previous rules in this path. For new systems, each simulated variant's capacity matters, not maximum roof potential.
Residential methodology — Germany
From accessible guidance to technical documentation: the calculation basis for residential PV, battery, and tariff analysis in Germany.Last updated: September 3, 2026
Overview
Voltary represents the energy system of a German household as a time-resolved sequence of electricity demand, PV generation, battery storage, grid import, and feed-in. Tariffs, operating costs, and investment metrics are calculated from this shared energy balance. This allows PV, battery, and tariff scenarios to be compared on a consistent basis.
The chapters below make the calculation path transparent: from data preparation and the project timeline through battery operation and the Solarspitzengesetz path to economic evaluation. They also document default assumptions, data sources, and model limitations. Every result depends on the selected inputs and assumptions; it is a modeled scenario value, not a guarantee of future savings or returns.
Calculation basis at a glance
This introduction explains without formulas which decisions Voltary supports, why time resolution matters, and how the results should be read.
Voltary considers technical and economic questions together. The aim is not to maximize a single metric, but to identify which configuration best fits the selected objective under the same assumptions.
- How much of the household’s electricity demand can PV and a battery cover?
- How does a battery change grid import, feed-in, and self-consumption?
- Which PV or battery size is economically attractive under the selected assumptions?
- How do electricity prices, feed-in revenue, investment, and operating costs interact?
- Which configuration better fits an objective such as self-sufficiency, total profit, or return?
Annual electricity demand alone is not enough to evaluate PV and battery storage. Two households with the same consumption can obtain different results when demand, PV generation, and prices occur at different times.
Voltary therefore evaluates these quantities together in 15- or 60-minute intervals. This shows whether PV electricity can be used directly or stored, when grid import occurs, and whether time-dependent tariff differences can actually be used.
The exact data basis depends on the selected analysis and the information available. Voltary combines user inputs and measured data with documented product defaults and external data sources.
- Consumption, generation, and grid data from uploads or generated household profiles
- PV capacity, location, orientation, tilt, and location-based yield profiles
- Battery capacity, power limits, efficiencies, reserve, and aging assumptions
- Electricity tariffs, feed-in revenue, dynamic market prices, and the implemented Solarspitzengesetz logic
- Investment, maintenance, analysis horizon, price development, and discount rate
The most informative view is a comparison of scenarios calculated with the same rules and assumptions. Individual metrics answer different questions and should therefore not be read in isolation.
- Differences between scenarios are often more robust than a single absolute result.
- Long-term euro values depend especially on price, cost, and usage assumptions.
- Sensitivity analysis shows whether a decision remains plausible under more cautious assumptions.
- Technical planning, concrete quotes, financing, and contract review remain separate steps.
Voltary compares a limited selection of exact device configurations, not the entire market. Capacity, power limits and connection type have manufacturer sources and review dates. Shared loss and aging assumptions are separate; technical edits are identified as a modified model. This is a simulation, not a product test or a reproduction of proprietary manufacturer energy management.
Modeled balcony PV module profiles allow AC and DC storage in the same comparison. Measured AC generation cannot reveal DC energy already clipped by the inverter and therefore only supports AC retrofit. Regular PV currently uses separate AC storage without replacing the PV inverter. Module compatibility and electrical connection requirements need separate verification.
The prefilled, editable all-in price is a Voltary planning estimate, not a purchase offer. It combines a documented device estimate with an allowance for required accessories, measurement, shipping, installation and applicable taxes. The basis and date are disclosed; replace it with your complete quote. Selecting higher planned AC output updates only an unedited planning price. Commissions do not affect calculations or ranking.
The default comparison idealizes storage: 100% charge/discharge efficiency and usable nominal capacity, no self-discharge, auxiliary consumption or capacity aging. These are not promised product properties; actual savings and rankings can differ. Editable storage efficiencies cover the entire storage path including conversion once. PV generation, direct PV conversion and power limits remain unchanged. Results and reports disclose the actual parameters.
Notional wear remains active: storage investment divided by nominal capacity and assumed reference cycles. It affects dispatch even without capacity aging, but is not an additional cashflow payment. Model-specific cycles carry a manufacturer source and conditions or an explicit Voltary assumption; they are not warranty or lifetime predictions. Compatible load-following household measurement is assumed and must be checked for the actual installation before purchase.
Technical methodology in detail
The chapters below document the implemented calculation through timing and cost conventions, simulation order, formulas, default values, and sources. They provide the precise detail behind the introduction above.
Simulation pipeline
The outputs are produced in a fixed sequence from data intake and normalization to physical simulation and economic evaluation.
1. Inputs
Consumption data, PV configuration, battery parameters, price assumptions, and tariff extras are assembled as model inputs.
2. Normalization
Time stamps, units, and missing values are aligned to a common interval structure so that load, PV, and price series can be compared directly. For uploads without an existing battery, we carry forward into later years the hourly pattern observed in the upload: how much PV directly covers load and in which hours residual load and grid import still remain despite PV. This matters because otherwise hours with strong PV but remaining residual load and grid import would be smoothed away. Those are exactly the spikes a battery can often cover later.
3. PV modelling
Depending on the workflow, we use uploaded measured PV data or calculate new weather-based production curves exclusively from PVGIS 5.3 hourly data with the crystalline-silicon 2025 model (crystSi2025). We send the location and its IANA time zone, every configured surface geometry, the selected mounting type, and the selected system losses to the PVGIS-based backend method. For every unique geometry, it requests a normalized 1 kWp profile and scales the verified values locally to the allocated kWp. The transparent defaults are 14% system losses and free-standing, ventilated mounting. Month selection follows the official PVGIS TMY method under ISO 15927-4 across the 2005–2023 history, and we use the real PVGIS hourly values from the selected source years. When a requested PV size is smaller than the total configured capacity, the backend ranks the surfaces by their site-specific normalized PVGIS annual yield and allocates the requested capacity deterministically in that order. Unavailable, incomplete, or invalid PVGIS data stops the calculation and is never replaced by a synthetic PV curve.
4. Battery dispatch
For each interval, SoC bounds, power constraints, efficiencies, and economic thresholds determine whether the battery charges, discharges, or remains idle. The battery therefore follows a transparent rule-based logic rather than a forecast-optimized controller.
5. Tariff settlement
Import cost, export revenue, and annual fixed components are aggregated under the active pricing model.
6. Evaluation
The model derives metrics such as self-sufficiency, self-consumption, ROI, payback, NPV, IRR, and profit from the simulation results and dated project cash flows, then ranks configurations by the chosen objective.
Project start and timing conventions
The physical simulation and financial calculation use the same confirmed project start, with separate, explicitly defined time axes.
Balcony PV and battery connection
Balcony PV is an explicit system choice: up to 2,000 Wp of modules and an 800 VA PV inverter, without feed-in remuneration. Timing and financial evaluation stay shared. The general battery formulas below describe regular PV; balcony PV instead uses separate AC/DC boundaries with the same reserve-first operating policy where grid charging is supported, and no intentional battery export. Existing systems compare the retrofit with unchanged operation; new systems compare whole-module layouts, including PV without storage and no purchase. Sensor and other retrofit costs enter the budget and investment only for storage candidates.
No additional PV, no existing battery and no feed-in remuneration.
The model assumes a compatible consumption sensor and demand-following operation. Response delays and small control deviations within an interval are not simulated separately. The sensor is not a regulatory smart metering system.
DC storage can use surplus before inverter clipping. AC storage only receives limited AC generation. For modelled PV, the selected losses apply before the inverter; inverter efficiency is then applied exactly once.
AC measurements cannot support a DC battery calculation. First create a PV profile using the existing module surfaces.
Real storage models use editable planning assumptions, not current offers. The total price includes measurement, connection and installation. Check device and sensor compatibility before purchase.
A separate AC battery may have a higher connection rating. This does not automatically qualify the combined system for simplified connection procedures. Check compatibility, connection and registration with the manufacturer and a qualified installer before purchasing.
Battery model
The battery is modelled as a discrete-time storage problem with SoC bounds, charge/discharge power limits, and efficiency losses. Within each interval, the implementation follows this sequence: SoC clipping, direct PV-to-load allocation, self-discharge, reserve restoration, auxiliary demand, economically admissible discharge, PV charging, optional grid charging, and only then export or feed-in limitation.
Usable capacity declines over time even without active cycling. The model captures this effect through the documented aging assumptions and makes it depend on the average SoC of the simulation day.
In addition to calendar aging, cycling reduces the available capacity. The daily SoC path is therefore translated into equivalent full cycles and a daily cycle depth.
The allowable operating band scales with the battery capacity still available at the relevant point in the simulation; minimum and maximum SoC are therefore not fixed kWh values.
Charge and discharge power are first converted into the maximum amount of energy that can be moved during one interval. This limit applies in addition to the SoC bounds.
The implementation spreads battery investment across nominal lifetime cycle throughput given by capacity times guaranteed cycles.
Grid charging is only economical when the purchase price is low enough to cover both wear cost and round-trip losses.
Discharging only makes sense when the avoided import price exceeds wear cost after accounting for discharge losses.
Before the battery reacts, household demand is first covered directly from concurrent PV generation. This yields the residual load for possible discharge and the PV surplus for later charging or export.
Chemical idle losses are modeled separately from charge and discharge efficiency. They reduce stored energy in proportion to the current SoC even when the battery is otherwise inactive.
After household and auxiliary demand, remaining PV restores a reserve deficit first, followed by grid charging within the available charge-power budget. Protective reserve charging is independent of tariff charging.
Auxiliary power is an effective system load. Available PV supplies it before battery charging. The battery covers the remainder only when discharge is permitted by price, reserve and power limits; otherwise the available grid path supplies it.
After direct PV self-consumption is allocated, the model reads the term from the inside out to determine how much energy the battery can physically deliver to load in this interval: first the energy available above the minimum reserve, then that amount capped by the interval discharge-power limit, and then converted with into the energy that actually reaches the load after discharge losses. Residual load is served only up to that amount and only if the current electricity price exceeds the discharge threshold.
PV surplus charges the battery before any possible grid charging. The limiting factors are surplus energy, free storage headroom, and charge power.
Grid charging is evaluated only after PV charging and can use only the remaining charge power in that interval. In addition, the current price must be below the charge threshold.
Any PV surplus left after battery charging is first treated as potential export and then, if required, capped by the active feed-in limit.
In the model, grid import consists not only of residual household demand but also of reserve-restoration charging from the grid, ordinary grid charging, and any uncovered auxiliary demand.
The end-of-interval state of charge is obtained from the clipped starting state after subtracting self-discharge and auxiliary supply from the battery, and after adding reserve restoration as well as ordinary PV and grid charging.
Tariff and cost model
We separate fixed energy prices, dynamic interval prices, and annual fixed components. Price charts usually focus on variable EUR/kWh components; annual base charges are included in annual totals when configured.
Under fixed pricing, annual import cost is the energy price times import volume plus annual fixed components.
Under dynamic pricing, grid import is always priced on the chosen simulation time axis: hourly in hourly simulations and quarter-hourly in 15-minute simulations. Annual fixed charges are then added on top.
Reported metrics
We combine physical and economic performance metrics. The definitions below are the main outputs used for PV-only, battery-only, and combined-system comparison.
Comparison paths: uploaded data can already contain battery behavior. A scenario with 0 kWh of additional battery capacity is therefore not always identical to a pure household-without-battery baseline. Reported battery effects always refer to the matching comparison path.
The self-consumption rate measures how much of total PV generation is used inside the system rather than exported.
Self-sufficiency measures the share of household demand that can be covered without importing electricity from the grid.
Battery benefit compares metered import and export with the same system without the new battery. It includes grid-backed charging and auxiliary demand, plus actual lost feed-in revenue from PV charging and PV-backed auxiliaries. PV that would otherwise be curtailed causes no lost feed-in revenue.
The interval-level battery benefit is first summed across all simulated intervals and only then annualized.
The reported cycle count is based on total net charged energy relative to battery capacity. From that, an expected operating life in years is derived.
Battery savings are the average annual benefit of the battery operation over the full analysis horizon.
Annual PV savings combine the value of self-consumed PV energy and export revenue and average them over the analysis horizon.
ROI relates average nominal battery net cash flow to the investment. Payback is the first zero crossing of cumulative nominal battery cash flow.
Total profit is obtained by summing all nominal PV and battery net cash flows after maintenance and subtracting the relevant investments.
When multiple configurations are compared, the preferred configuration is the argmax of the chosen objective.
Economic conventions
The financial evaluation uses a dated nominal cash-flow path: investments are booked at project start t₀, while operating values and maintenance are booked monthly at the corresponding month-end.
Advanced finance metrics
NPV and IRR use dated nominal cash flows. Upfront CAPEX is booked at t₀; operating cash flows and prorated maintenance are booked at each month-end.
discounts every nominal net cash flow back to t₀ using its actual payment date.
is the annual discount rate that makes equal zero for the same dated cash-flow stream.
In the cumulative cash-flow chart, the dashed discounted line ends at NPV, while the solid nominal line shows the nominal payback path. Displayed yearly rows aggregate the underlying monthly dated cash flows; maintenance is allocated pro rata to the actual project periods.
Solarspitzengesetz
For German residential scenarios, Voltary includes the Solarspitzengesetz path as explicitly documented technical scenario logic.
From commissioning, the 60% limit also applies below 2 kWp. It ends on the date of the grid operator's first successful control test. Battery charging from PV precedes the limit. The separate plug-in-device exemption is not inferred from module capacity.
From exactly 2 kWp and below 100 kW, zero remuneration starts on 1 January after iMSys installation. Below 2 kWp, Section 51 EEG additionally requires a BNetzA determination; without a recorded determination date, the model assumes no future start. Quarter-hour data is settled exactly; hourly data proportionally to negative quarters.
The model counts affected quarter-hours in the statutory period, applies the 0.5 solar factor, and derives the extension from the statutory monthly quotas. If recovery falls after the analysis period, it is estimated as a dated terminal value from the final operating year with continued PV degradation.
Assumptions and current defaults
The values below are documented product defaults when users do not override them. They are model parameters, not physical constants.
- Analysis horizon
- 20 yearsEconomic default; user overrides can replace it.
- Project start
- Confirmed local date t₀New assets are active exactly from t₀; the financial horizon and operating years are measured from that date.
- Time basis
- Fixed-interval simulation at 15 or 60 minutesInput series are normalized to a common 15-minute or 60-minute interval grid before dispatch, depending on the selected or detected dataset granularity.
- Annual fixed tariff components
- Included in annual totals when configuredEUR/kWh charts often show only variable price components.
- SoC bounds
- 10% min / 95% max / 50% initialApplied only when no explicit configuration is present.
- Efficiencies
- 95% charge / 95% dischargeAffect both SoC updates and economic thresholds.
- Self-discharge
- 3.0 %/monthApplied as a compounded interval loss on stored energy before reserve restoration.
- Standby / auxiliary power
- 5 WModeled as direct electrical demand with battery-first coverage above minimum SoC and grid fallback for the remainder.
- Guaranteed cycles
- 6000Used in wear cost and life-expectancy estimates.
- Documented aging assumption
- LiFePO4 (LFP) for all supported storage scenariosThe simulation uses LFP coefficients for calendar and cycle aging. Guaranteed cycles and advanced aging assumptions remain adjustable according to the configuration.
- Battery aging
- Calendar and cycle aging model with a LiFePO4-like default assumptionManual and freely configured batteries use the default assumption; real battery models use more specific catalog data where available.
- Modeled aging stressors
- Average SoC, cycle depth, and guaranteed cyclesTemperature, explicit C-rate, and manufacturer-specific cell or thermal models are not yet modeled separately.
- Aging sensitivity controls
- Calendar 1.0x and cycle 1.0x by defaultOptional user-facing multipliers scale the baseline calendar- and cycle-aging terms for sensitivity analysis, while the literature-based model structure stays fixed.
- PV degradation
- 0.5% per yearDefault used in multi-year PV projections.
Profile and scenario continuation
Notation and units
The notation below is used consistently across the page. Intermediate state markers such as (sd), (reserve), (d), and (pv) denote temporary SoC states inside a single dispatch interval.
- Energy quantity
- UnitkWh
- Power
- UnitkW
- Price or tariff component
- UnitEUR/kWh
- Cost or annual savings
- UnitEUR
- Investment
- UnitEUR
- Total profit over the analysis horizon
- UnitEUR
- Efficiency factor
- Unit1
- Battery state of charge
- UnitkWh
- Simulation interval
- Unitindex
- Analysis horizon
- Unityears
Indices, suffixes, and arrow notation
- energy before efficiency losses
- Example is gross energy charged from the grid.
- energy after efficiency losses or expressed as a net effect
- Example is energy stored net inside the battery.
- remaining quantity after an earlier step
- Example is residual load after direct PV coverage.
- potential export before regulatory limitation
- Example is only later capped to if required.
- dynamic tariff notation or feed-in scaling reference
- Example is the interval price; scales permitted feed-in.
- directed energy flow from source a to sink b
- Example means direct PV-to-load coverage; means battery charging from the grid.
- temporary battery state of charge within the same interval
- Example is after self-discharge, after reserve restoration, after discharge, and after PV charging.
Data sources and model inputs
The methodology combines user-supplied inputs with external data sources. The overview below explains the main sources and their role in the model.
Methodological references
The structure of the aging model and the key modeling assumptions are anchored in the following references. The concrete coefficients and multipliers are still initial calibration values within those literature envelopes, not untouched copies of any single paper.
SAM / NREL battery life
Supports the separation of calendar and cycle aging and DoD-dependent cycle logic.
NREL SAM battery life model overviewLifetime-prediction review
Supports separating calendar and cycle contributions as a robust model structure.
Battery lifetime prediction reviewLFP calendar aging
Supports SoC-dependent calendar aging and low-to-moderate baseline fade for LFP.
LFP storage-aging studySquare-root-of-time calendar aging
Supports the square-root-of-time form for calendar aging and the strong impact of high SoC levels.
Automotive aging studyLFP cycle-life model
Supports using cycle depth as a central driver of cycle aging.
LFP cycle-life modelBattery lifetime benchmark context
Provides reference values for interpreting battery lifetime assumptions.
PNNL / Sandia benchmark
Short worked example
The example below is a deliberately simplified single-interval calculation. It illustrates the battery decision sequence and the economic interpretation without carrying all multi-year effects such as degradation or annual fixed charges.
1. Inputs
Load 4.0 kWh; PV 1.0 kWh; starting SoC 6.0 kWh; capacity 10.0 kWh; SoC bounds 10% and 95%; P_d = 3.0 kW; η_d = 0.95; price 0.30 EUR/kWh.Complete interval state before dispatch.This example isolates one hourly interval; degradation and annual fixed charges are intentionally excluded.
2. Direct coverage and residual load
PV→load = min(1.0, 4.0) = 1.0. Therefore L^res = 4.0 - 1.0 = 3.0.Direct PV coverage 1.0 kWh; residual load 3.0 kWh.The battery only decides after this direct PV allocation has been made.
3. Discharge and grid import
Maximum deliverable to load: 0.95 × min(6.0 - 1.0, 3.0) = 2.85. Remaining grid import: 3.0 - 2.85 = 0.15.Battery discharge 2.85 kWh; grid import 0.15 kWh.Usable discharge is limited by internal reserve above S_min and by discharge efficiency.
4. Updated SoC and interval benefit
S_t = 6.0 - 2.85 / 0.95 = 3.0. Interval benefit: 2.85 × 0.30 = 0.855 EUR.End-of-interval SoC 3.0 kWh; interval monetary value 0.855 EUR.Because there is neither PV opportunity cost nor grid charging in this example, the interval benefit equals the avoided import value.
5. Annual metric
With 720 EUR of operating battery benefit, 120 EUR maintenance per full operating year, and 6,000 EUR investment, nominal net cash flow is 600 EUR. ROI = 600 / 6000 × 100; under deliberately constant nominal cash flows, the cumulative series first reaches zero after 10 years.ROI 10%; nominal payback 10 years.This simplified example shows ROI and cumulative payback. NPV and IRR would additionally use the actual monthly payment dates and the selected discount rate.
Model limitations
- Future electricity prices, levies, and regulation are uncertain. The simulation is therefore a structured scenario analysis, not a price guarantee.
- The Solarspitzengesetz path covers fixed PV below 100 kW with EEG feed-in remuneration. Balcony PV is modeled separately without remuneration; direct marketing and project-specific system aggregation are not modeled. Below 2 kWp, no future BNetzA determination is assumed. Section 51a recovery outside the analysis period is estimated from the final operating year with continued PV degradation. The model is not a legal compliance assessment.
- Current outputs are point estimates under the chosen assumptions, not stochastic ranges, confidence intervals, or uncertainty bands.
- Usable battery capacity ages over the multi-year path based on the documented calendar and cycle aging assumptions. Temperature, charge/discharge rate, and manufacturer-specific cell or thermal models are not yet represented separately.
- If an upload already contains battery flows, we keep that existing battery's measured total charge and discharge fixed in every modeled interval and neither re-optimize nor synthetically age it. When PV degradation reduces the PV energy available for that fixed charging, the shortfall is assigned to grid import. Long-horizon projections with an uploaded existing battery are therefore conditional fixed-dispatch projections rather than a technical battery-aging forecast.
- Household behaviour changes, manual intervention, and manufacturer-specific control strategies are only captured to the extent that they are represented in the inputs and assumptions.
- Installer quotes, financing costs, tax edge cases, and project-specific ancillary costs are outside the baseline equations documented here.
- Advanced finance outputs are pre-tax and unlevered. Taxes, grants, depreciation, salvage value, and replacement logic are intentionally excluded from the current DCF layer.
- The outputs are most informative when comparing configurations under consistent assumptions. Realized absolute values can still differ later.