Energy QC clean AI-training-safe

European Power Price Blocks

The block structure European power is actually traded in, per bidding zone per month: baseload, peak (Mon-Fri 07:00-19:00 UTC, the CET business block) and off-peak average prices, plus the peak/off-peak spread - the premium every block trader, PPA pricer and utility hedger quotes. Derived cleanly from day-ahead prices across ~40 European zones, 2018-present, one row per zone × month × block. Licence-clean and AI-training-safe.

16K
rows
40
zones
2017-2026
coverage
1.0 MB
download
Source
derived
Licence
Redistributable open data
Updates
Monthly
Data through
2026-07-01
Quality
QC clean · 0 failures
Format
Apache Parquet + dictionary

Safe to train on

Built only from a named, redistributable official source under a documented open licence - not scraped web data. No copyright grey zone, no personal data. Ships machine-readable Croissant metadata (ML Commons - loads in Hugging Face / Kaggle / Google), an AI training-licence manifest documenting source, licence and provenance for your model's data governance, and a machine-readable data dictionary (drop it into an agent / RAG prompt so the model knows every column) - all inspectable before you buy.

What's included

  • Baseload, Peak, Off-peak average price + Peak/off-peak spread - per zone × month
  • Peak = Mon-Fri 07:00-19:00 UTC (the EEX-style CET business block); baseload = all hours
  • ~40 European bidding zones, 2018 → present, monthly
  • The block/premium structure power is traded and hedged in - one row per zone × month × block
  • Derived purely from day-ahead prices; licence-clean & AI-training-safe

Schema

ColumnTypeDescriptionFilledDistinct
zone str Bidding zone 100.0% 40
ts timestamp (UTC) Month (start) 100.0% 104
variable str Baseload / Peak / Off-peak price or Peak-off-peak spread 100.0% 4
value float EUR/MWh 100.0% 10,141
unit str Unit (EUR/MWh) 100.0% 1
res_min int Native resolution (monthly) 100.0% 1

Sample & preview

Every purchase ships as Apache Parquet with a data dictionary and the full QC report. A free sample (first rows + schema) is downloadable here - confirm fit before you buy. Source: derived (redistributable open data; attribution passes through - see our Licence).

Don't trust screenshots - drop the sample into your notebook right now.

import pandas as pd
df = pd.read_parquet("european-power-price-blocks_sample.parquet")
df.info()   # typed columns, gap-aware, ready to join
⬇ Download free Parquet sample or CSV for Excel
Coverage: 40 zones

AT · BE · BG · CH · CZ · DE_LU · DK1 · DK2 · EE · ES · FI · FR · GR · HR · HU · IE_SEM · IT_CALA · IT_CNOR · IT_CSUD · IT_NORD · IT_SARD · IT_SICI · IT_SUD · LT · LV · NL · NO1 · NO2 · NO3 · NO4 · NO5 · PL · PT · RO · SE1 · SE2 · SE3 · SE4 · SI · SK