Energy QC clean AI-training-safe

European Negative Price Hours

Every interval the day-ahead price went negative, per European bidding zone - the renewable-glut events that batteries, flexible load and curtailment desks live for. A clean event table pre-filtered from the full price history.

70K
rows
33
zones
2017-2026
coverage
1.5 MB
download
Source
derived
Licence
Redistributable open data
Updates
Intraday
Data through
2026-08-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

  • Only negative-price intervals - the renewable-glut event table
  • All EU bidding zones, 2018-present; one row per negative-price interval
  • Derived from European day-ahead prices
  • Source: ENTSO-E (CC-BY, derived)

Schema

ColumnTypeDescriptionFilledDistinct
zone str Bidding zone 100.0% 33
ts timestamp (UTC) Interval 100.0% 22,535
price_eur_mwh float Negative day-ahead price, EUR/MWh 100.0% 6,561
unit str Unit 100.0% 1
res_min int Native resolution (15/30/60) 100.0% 3

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-negative-price-hours_sample.parquet")
df.info()   # typed columns, gap-aware, ready to join
⬇ Download free Parquet sample or CSV for Excel
Coverage: 33 zones

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