50Hertz Program¶
Snapshot, not the authority
This page describes 50Hertz's current challenge schedule and rewards.
The API is always authoritative - read gate_closure, start_datetime and
end_datetime from the challenge you are targeting rather than hard-coding
anything below.
Resources: 50Hertz assets · Timezone: CET/CEST · Forecast variables: Q10, Q50, Q90
Forecast targets & data sources¶
50Hertz runs two resources. Both are control-area totals for the 50Hertz
zone in eastern Germany (ENTSO-E bidding zone 10YDE-VE-------2), scored against
the ENTSO-E Transparency Platform, the public European register of realised
generation.
germany_solar_50hertz_ca¶
Actual solar generation across the whole 50Hertz control area.
| Quantity | Realised solar generation, control-area total |
| Unit | MW, mean power over the interval |
| Resolution | 15 min |
| Local time | Europe/Berlin (CET/CEST) |
| Boundary | Bidding zone 10YDE-VE-------2 (50Hertz) |
Ground truth. ENTSO-E Transparency Platform,
actual generation per production type:
document type A75, process type A16 (realised), PSR type B16 (solar),
in-domain 10YDE-VE-------2.
Why overnight values are a real zero, not a gap
ENTSO-E encodes these curves as curveType A03: a position whose value
repeats the previous one is omitted from the XML. Solar at night is a
flat 0, so the platform ships one position and then jumps hours ahead. The
ingestion rebuilds the full 15-minute grid by carrying the last value
forward, exactly as the Transparency Platform portal does, so the target
reads 0 MW overnight rather than missing.
germany_wind_50hertz_ca¶
Actual wind generation across the control area, onshore and offshore combined.
| Quantity | Realised wind generation, control-area total |
| Unit | MW, mean power over the interval |
| Resolution | 15 min |
| Local time | Europe/Berlin (CET/CEST) |
| Boundary | Bidding zone 10YDE-VE-------2 (50Hertz) |
Ground truth. Same endpoint and codes as solar, with PSR types B18 (wind
offshore) and B19 (wind onshore). ENTSO-E publishes the two separately and the
target is their per-timestamp sum; where one series is missing a point, its
last value is carried forward before summing, matching the portal's own display.
Revisions & settlement¶
Measurements are not final when first published. Both resources are re-imported daily over a rolling 35-day window as ENTSO-E revises, then frozen after day 6 of the following month. A daily score can still move until the month's scores are locked, on day 7 of the following month at the latest (see Score recalculation); revisions after that point do not change the monthly ranking.
To pull the history yourself, see Downloading Raw Data.
Challenge schedule¶
Market sessions open every hour on the hour (see Sessions & Challenges). 50Hertz publishes a single Day-Ahead (D+1) challenge per day:
| Category | Target window | Published at (gate closure, CET) |
|---|---|---|
| Day-Ahead (D+1) | The next calendar day (00:00 → 24:00 local). | 15:00 (day before target) |
No intraday or extended (D+N) challenges are published.
Live schedule
The table above is a snapshot of the current configuration. For the exact, current openings of a specific resource, open the Schedule page in your dashboard (https://predico.inesctec.pt/schedule, login required).
Eligibility & missed-day rules¶
- At most 5 missed days per month to remain eligible for the monthly league. Daily rewards remain available regardless.
- For each missed day, the day's peer 75th-percentile score is substituted into your monthly average.
Prize distribution¶
Each market resource has a €7,000 monthly prize pool, paid entirely to participating forecasters. The reward mechanism is identical to the Elia program (see Rewards); 50Hertz publishes only the Day-Ahead horizon, so the pool covers two envelopes rather than four.
Where the €7,000 goes¶
The pool is split by track (deterministic vs probabilistic). With a single published horizon, each track is a single envelope:
| Track | Day-Ahead (D+1) | Track total |
|---|---|---|
| Deterministic (Q50 · RMSE) | €3,500 | €3,500 |
| Probabilistic (Q10/Q90 · MWI) | €3,500 | €3,500 |
| Horizon total | €7,000 | €7,000 |
A forecaster therefore competes for two independent €3,500 envelopes per resource each month - one per track. Each envelope is distributed identically (see below), so the rules only need to be understood once.
How each €3,500 envelope is distributed¶
The probabilistic envelope absorbs the max-error allocation into a larger Elite pot (€1,750 vs €1,550). Daily, Challenger, and Runner-Up amounts are identical across both tracks.
The full breakdown by league and monthly rank:
Deterministic (Q50 · RMSE)¶
Per €3,500 envelope.
| League | Monthly Rank | Budget | Budget Allocation | Extra | Daily Rewards |
|---|---|---|---|---|---|
| Elite | 1st | €1,550 | €560 (36%) |
€200 to the Elite forecaster with the lowest peak error (split equally if tied) |
Daily pool: €1,000 per envelope, per month. Split evenly across the days of the month, then distributed to the top 5 by daily rank:
|
| 2nd | €360 (23%) | ||||
| 3rd | €250 (16%) | ||||
| 4th | €200 (13%) | ||||
| 5th | €180 (12%) | ||||
| Challenger | 6th | €700 | €140 each Evenly split (20% each) |
- | |
| 7th | |||||
| 8th | |||||
| 9th | |||||
| 10th | |||||
| Runner-Up | 11th | €50 | €50 (100%) | - | |
| Outside | 12th+ | €0 | - | - |
Probabilistic (Q10/Q90 · MWI)¶
Per €3,500 envelope.
| League | Monthly Rank | Budget | Budget Allocation | Extra | Daily Rewards |
|---|---|---|---|---|---|
| Elite | 1st | €1,750 | €600 (34%) | - (deterministic track only) |
Daily pool: €1,000 per envelope, per month. Split evenly across the days of the month, then distributed to the top 5 by daily rank:
|
| 2nd | €400 (23%) | ||||
| 3rd | €300 (17%) | ||||
| 4th | €240 (14%) | ||||
| 5th | €210 (12%) | ||||
| Challenger | 6th | €700 | €140 each Evenly split (20% each) |
||
| 7th | |||||
| 8th | |||||
| 9th | |||||
| 10th | |||||
| Runner-Up | 11th | €50 | €50 (100%) | ||
| Outside | 12th+ | €0 | - |
Why a stepped Elite split and a flat Challenger split?
By design, the worst Elite forecaster (rank 5: €180 Det / €210 Prob) still earns more than any Challenger forecaster (€140 each, ranks 6–10). This rewards consistent month-long top performance over a single strong day.
Fewer than 11 forecasters?
Unfilled league places roll over to that envelope's daily-reward pool; every place that is filled is still paid. Example: with 8 qualified forecasters, ranks 6-8 each receive their Challenger share, and the shares for places 9 and 10 plus the Runner-Up prize are added to the daily pool.