How Revenue Is Calculated
Mirox calculates a plant's revenue with one calculation, wherever the money is shown. The revenue page of a plant, the euro values on the dashboard and the answers of the AI assistant therefore always agree. This page explains what goes into that calculation, where each price comes from, how Mirox estimates what is not known yet, and when a figure becomes final.
Where the Values Appear
- Revenue page of a plant — the full breakdown per stream, month or year.
- Dashboard — the euro values on the production and curtailment cards, for all plants in view.
- AI assistant — revenue answers and plan comparisons.
- Data export and reports — the revenue series of each stream and Total revenue (the three streams added up), from the quarter hour to the year. They carry the config badge: Mirox values them with your plant settings when they are read, so they are not available through direct access to the time-series database.
Reports and data exports use settled values only. They never contain an estimate; their own readiness rules are described under Data Readiness.
The Three Revenue Streams
Together, the three streams are the revenue your plant receives. On the dashboard each has its own card, and the sum of the three cards is the total revenue. Produced energy and curtailed energy never overlap, so no euro appears on two cards.
| Stream | What it is | Paid by | How it is valued |
|---|---|---|---|
| Production | The energy the plant fed into the grid | Your direct marketer (Marktwert or contract price, minus its fee) and the grid operator (market premium from the EEG account). Older plants with a fixed feed-in tariff are paid entirely by the grid operator. | Marktwert × energy − direct-marketing fee + market premium (per EEG band), or energy × feed-in tariff |
| Grid operator curtailment | Compensation for reductions ordered by the grid operator (redispatch) | The grid operator that ordered the curtailment | Settled curtailment energy × BDEW blended price (Mischpreis) + the lost market premium |
| Direct marketer curtailment | Compensation for reductions by your direct marketer | Your direct marketer, as agreed in the contract | Settled curtailment energy × the contract price or the Marktwert − fee + the lost market premium |
The market premium (Marktprämie) is calculated per EEG band: the band's applicable value minus the Marktwert, never below zero, weighted by the band's share of the plant. Where a band is subject to the negative-price rule (§ 51 EEG), no premium is paid for periods in which the day-ahead price stayed negative for at least the band's threshold (6 h, 4 h, 3 h, 2 h, 1 h or 15 min).
Each value uses the plant's own settings: its EEG bands, its direct-marketing contract and fee, and its grid operator's settlement method (see Market & Tariffs). These settings are applied when the value is shown, never stored with it — so if you correct a tariff or a contract, every period is re-priced immediately, including past ones.
A year is the sum of its months: each month is valued with its own Marktwert and the settings that applied in that month.
Prices and Where They Come From
| Price | Official source | Published | Used until it is published |
|---|---|---|---|
| Marktwert (monthly, per technology) | netztransparenz.de | around the 10th working day of the next month | the projection (Hochrechnung) or an estimate from ENTSO-E spot prices; for a month with no value at all yet, the newest published month |
| Jahresmarktwert (for plants settled on the annual value) | netztransparenz.de | in January of the next year | the newest published year |
| BDEW blended price (Mischpreis, grid curtailment) | netztransparenz.de | usually 25–30 working days after the month | an estimate from the balancing price (reBAP, about 20 days later), else from the AEP estimator (about 30 minutes later) |
| Day-ahead spot price | ENTSO-E (energy-charts as fallback) | the day before delivery | — |
| Direct-marketing fee | your contract | — | a dynamic fee uses the month's average spot price |
Working days are Monday to Friday. The settled curtailment itself comes from the digital twin — see Live and Settled Curtailment Figures.
Estimates
Until everything is settled and officially priced, Mirox estimates — always with the best information available, and always marked as an estimate:
- Curtailment not settled yet — the live estimate from your plant's own settlement method, see Live and Settled Curtailment Figures.
- Mischpreis not published yet — the estimated blended price for each quarter hour.
- Negative-price rule not settled yet — estimated from the day-ahead prices: a run of negative quarter hours at least as long as a band's threshold suspends that band's premium for the whole run.
- Marktwert not published yet — the projection, or for a month without any value the newest published month.
Where you see it: the dashboard cards show an ⓘ when a value contains an estimate; the revenue page shows Includes estimates from date. Estimates are replaced automatically as settled values and official prices arrive.
When Money Becomes Final
Money is energy × price, and the two become final independently:
- The energy of a month can be corrected until the settlement deadline: the end of the 4th working day of the next month.
- The prices are final when the official values have actually arrived from netztransparenz — Mirox checks for them; no calendar date stands in for them.
| State | Meaning |
|---|---|
| Estimated | At least one estimated price or not-yet-settled value is included |
| Provisional | All prices are official, but the settlement can still be corrected |
| Final | The settlement deadline has passed and the official Marktwert and Mischpreis are in |
A plant setting you change later still re-prices a final month — "final" describes the data, not your settings.
German Market Only
All prices and rules above are those of the German market (bidding zone DE-LU, EEG, the BDEW blended price). Mirox has no market prices for other countries yet, so for a plant outside Germany no money is calculated: its revenue page shows the energies only. On the dashboard, its production is valued at the flat indicative rate; its curtailment stays on the cards as energy without a euro value, because whether and how curtailment is compensated there depends on that country's rules.
Mirox places a plant by its coordinates, otherwise by its timezone, otherwise by its address country. A plant with none of these is treated as German and named in the ⓘ of the dashboard's production card — set its location in the plant's core data. The same applies to a plant without an accounting framework under Market & Tariffs: it is valued as a German EEG plant. Data exports and reports print a note for both assumptions next to the values.
Flat Indicative Rate
The dashboard uses a single flat rate of 5.8 ct/kWh in one case only: the production of plants outside Germany, where Mirox has no market prices. Energy that was sold has a market value, so the flat rate is a reasonable stand-in that gives you a sense of scale.
The flat rate is never used for curtailment, and never for energy that is already valued. Energy that cannot be valued stays on its card without a euro value:
- curtailment of plants outside Germany,
- direct-marketer curtailment of a plant without a contract in Mirox,
- the energy of plant types without a revenue calculation (battery storage).
The ⓘ on each dashboard card names the affected plants and why.
The grid loss card is not revenue. It shows the energy the plants did not produce compared with the expected production, and its euro value is an indicative estimate of that lost value at the flat rate. It is not part of the three revenue cards and not included in their total.
Plants Without a Direct-Marketing Contract
Curtailment by a direct marketer is settled even when no contract is set up in Mirox. Without the contract Mirox does not know what your direct marketer pays for it: the plant's revenue page shows no direct-marketer revenue, and the dashboard shows the energy on the direct-marketer card without a euro value and names the plant in the card's ⓘ. Add the contract under Market & Tariffs to include it.
Related Features
- Market & Tariffs — the plant settings the calculation uses
- Live and Settled Curtailment Figures — when curtailment energy changes
- KPI Dashboard — the cards that show these values
- Reports — settled-only reporting and its readiness timeline