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/market 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. Calculated using historical market prices. |
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. |
Market prices
Market revenue is calculated from your price assumption configured in the financial configuration.
Fixed — a single price per MWh applied across the project life.
Variable — a yearly price schedule, optionally with monthly adjustment factors.
Hybrid — separate prices for wind and solar, useful when a site combines both.
Spot arbitrage and capture price
Spot arbitrage in the BESS optimisation is calculated from historical day-ahead wholesale electricity prices for your project's bidding zone or region, applied hour-by-hour against your energy production profile.
The capture price is the energy-weighted average of the hourly prices. It represents what this park achieves, not what the market averaged. You can view the historical capture prices for your park in the
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 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


