The revenue model in Vind AI calculates the income of a hybrid park: wind, PV and battery on a shared grid connection from the hourly energy at the point of connection. Here is an overview of the different revenue streams, and how it is calculated.
Revenue streams
Each cashflow is broken into named line items so you can see exactly where the money comes from:
Line item | Description |
Market revenue | Energy sold at the capture price you configure in the financial configuration. |
PPA revenue | Energy sold under a power purchase agreement, at the contracted price. Any shortfall against contracted volume is deducted as a penalty. Configure PPA agreements in the financial configuration. |
Capacity price revenue | Fixed annual payments per MW of certified capacity, where the market supports this. |
Battery arbitrage (BESS only) | The extra revenue the battery earns by shifting energy in time, i.e. charging when prices are low, discharging when prices are high. It is calculated using the applied Market data configuration, which can use historical prices or THEMA hourly timeseries (2030). |
Ancillary services (BESS only) | Revenue from reserving battery power or energy for grid services (frequency response, reserve capacity, etc.), shown per service. The estimates per MW can be configured in the Battery strategy configuration. |
Grid charging cost (BESS only) | The cost of energy imported from the grid to charge the battery, shown as its own deduction so arbitrage revenue is visible gross of it. |
Tariffs | Grid tariffs for energy or capacity, configured in the financial configuration. |
Capture price settings
The Capture price in Financial configuration is the price assumption used for Market revenue on production not covered by a guaranteed price. Capture prices are inflated with respect to the Reference year.
Fixed - a single price per MWh applied across the project life.
Fixed hybrid - separate fixed prices for wind and solar.
Variable - a yearly price schedule, optionally with monthly variations.
Variable hybrid - separate yearly price schedules for wind and solar, optionally with monthly variations.
The hybrid options are useful when a site combines both wind and solar.
Spot arbitrage and capture price
The Market data configuration applied to the park provides hourly market prices for the project's bidding zone or region. Historical uses historical day-ahead wholesale electricity prices, while Future uses predicted prices from THEMA hourly timeseries (2030). The only future-data year currently available is 2030.
In the BESS optimisation, the selected hourly prices are used to calculate spot arbitrage revenue. For the capture price, the prices are applied hour by hour against the park's energy production profile. The capture price is the energy-weighted average of the hourly prices and represents what the park would achieve under the selected Market data, rather than what the market averaged.
View the results under Financial analysis → Capture Price.
How the battery's contribution is added to the farm's baseline
We calculate your farm's baseline first, exactly as if there were no battery: Market revenue, PPA revenue, and Tariffs, using whichever price assumption you've configured. This is the "without battery" case.
We separately simulate the battery's operation, year by year, dispatching it against actual or predicted market prices. This gives us, for each year: the battery's arbitrage revenue in absolute currency, any ancillary service revenue, the tariff cost with the battery installed, and the cost of any grid-sourced charging.
We derive a revenue increase rate for each year: the battery's arbitrage revenue expressed as a fraction of that year's simulated market revenue, instead of a currency amount. We use a fraction so the battery's contribution scales correctly with your chosen price assumption and reference year, even if the simulation itself used different pricing internals.
We apply that fraction to your baseline's own Market revenue line for the matching year. The result is added as a new "Battery arbitrage" line. Your baseline "Market revenue" line itself is never edited or replaced, only added to.
Grid charging cost is split out as its own negative line, so "Battery arbitrage" is always shown gross of what it cost to charge the battery.
Tariffs are swapped, not summed: for every year the battery is operating, the baseline farm tariff is replaced by the battery-specific tariff cost, because network charges change once the battery alters your import/export profile. Years before or after battery operation keep the farm-only tariff.
Ancillary service revenue (if configured) and PPA revenue (already part of the baseline) are added on top unchanged.
If the battery's operating life is shorter than the farm's, years after the battery retires drop all battery-related lines to zero and revert fully to the farm-only baseline.
Put together, each year's net cashflow is:
Net cashflow = Market revenue + Battery arbitrage (net of grid charging cost) + PPA revenue + Ancillary services + Capacity price revenue − Tariffs − PPA penalties


