GridPassport Research · Q1 2026 edition
Q1 2026: where European electricity markets moved most
See where wholesale prices fell below zero most often, which markets recorded the widest daily swings and when the cheapest three-hour windows most often appeared. The comparison uses published observations—not forecasts, household tariffs or modelled savings.
- Period
- Jan 1, 2026–Mar 31, 2026
- Qualifying markets
- 30
- Published dates
- 90/90
- Latest source update
- May 31, 2026, 18:36 GMT+2
What the data says
Three useful signals—not one opaque score.
Negative-price frequency, within-day spread and a recurring cheap window answer different questions, so this report keeps them separate.
53 of 90 qualifying days contained at least one reported interval below €0/MWh.
Mean of each observed day's high-minus-low wholesale reference price. This is not a household tariff spread.
The most frequent label across 537 qualifying market-day observations; individual markets differ.
Q1 2026 findings
The events behind the headline numbers.
This is the first complete quarterly baseline in the archive. Like-for-like change reporting begins with the next edition.
At least one negative interval appeared in 17 of 30 qualifying observed markets.
Mar 30, 2026; one dated market observation, not a typical household price movement.
Negative-price exposure
How often did a market fall below zero?
Top 12 markets by share of qualifying observed days with at least one negative interval. Bar length uses the actual percentage on a 0–100% scale.
Full market table
Negative prices, spread and cheapest window.
| Rank | Market | Observed days | Negative days | Negative intervals | Avg daily spread | Common cheapest 3h | Coverage |
|---|---|---|---|---|---|---|---|
| 1 | SpainJan 1, 2026–Mar 31, 2026 | 90/90 | 58.9%53 days | 0.64%53/8,334 intervals | 91.6EUR/MWh | 12:00-15:0019 days · local time | 100.0%up to 1 price area |
| 2 | PortugalJan 1, 2026–Mar 31, 2026 | 90/90 | 38.9%35 days | 0.53%35/6,644 intervals | 72.4EUR/MWh | 11:00-14:0016 days · local time | 100.0%up to 1 price area |
| 3 | FranceJan 1, 2026–Mar 31, 2026 | 90/90 | 28.9%26 days | 0.31%26/8,258 intervals | 113.2EUR/MWh | 03:00-06:0028 days · local time | 100.0%up to 1 price area |
| 4 | GreeceJan 1, 2026–Mar 31, 2026 | 90/90 | 16.7%15 days | 0.19%15/7,826 intervals | 155.3EUR/MWh | 12:00-15:0021 days · local time | 100.0%up to 1 price area |
| 5 | Germany / Luxembourg bidding zoneGermany household prices · Luxembourg household pricesJan 1, 2026–Mar 31, 2026 | 90/90 | 15.6%14 days | 0.16%14/8,492 intervals | 122.6EUR/MWh | 12:00-15:0018 days · local time | 100.0%up to 1 price area |
| 6 | LuxembourgJan 1, 2026–Mar 31, 2026 | 90/90 | 13.3%12 days | 0.56%12/2,159 intervals | 98.7EUR/MWh | 11:00-14:0023 days · local time | 100.0%up to 1 price area |
| 7 | AustriaJan 1, 2026–Mar 31, 2026 | 90/90 | 13.3%12 days | 0.14%12/8,630 intervals | 134.4EUR/MWh | 02:00-05:0024 days · local time | 100.0%up to 1 price area |
| 8 | SloveniaJan 1, 2026–Mar 31, 2026 | 90/90 | 10.0%9 days | 0.11%9/8,570 intervals | 132.9EUR/MWh | 11:00-14:0022 days · local time | 100.0%up to 1 price area |
| 9 | NetherlandsJan 1, 2026–Mar 31, 2026 | 90/90 | 10.0%9 days | 0.10%9/8,588 intervals | 118.6EUR/MWh | 02:00-05:0021 days · local time | 99.4%up to 1 price area |
| 10 | Great Britain wholesaleJan 1, 2026–Mar 31, 2026 | 78/90 | 9.0%7 days | 0.19%7/3,742 intervals | 77.4EUR/MWh | 02:00-05:0015 days · local time | 100.0%up to 1 price area |
| 11 | CroatiaJan 1, 2026–Mar 31, 2026 | 90/90 | 8.9%8 days | 0.09%8/8,613 intervals | 138.9EUR/MWh | 11:00-14:0022 days · local time | 100.0%up to 1 price area |
| 12 | BelgiumJan 1, 2026–Mar 31, 2026 | 90/90 | 7.8%7 days | 0.08%7/8,608 intervals | 111.7EUR/MWh | 02:00-05:0023 days · local time | 100.0%up to 1 price area |
| 13 | HungaryJan 1, 2026–Mar 31, 2026 | 90/90 | 6.7%6 days | 0.07%6/8,597 intervals | 181.6EUR/MWh | 11:00-14:0025 days · local time | 100.0%up to 1 price area |
| 14 | CzechiaJan 1, 2026–Mar 31, 2026 | 90/90 | 6.7%6 days | 0.07%6/8,610 intervals | 130.6EUR/MWh | 11:00-14:0026 days · local time | 100.0%up to 1 price area |
| 15 | SlovakiaJan 1, 2026–Mar 31, 2026 | 90/90 | 6.7%6 days | 0.07%6/8,612 intervals | 150.7EUR/MWh | 11:00-14:0025 days · local time | 100.0%up to 1 price area |
| 16 | BulgariaJan 1, 2026–Mar 31, 2026 | 90/90 | 5.6%5 days | 0.06%5/8,392 intervals | 171.5EUR/MWh | 03:00-06:0019 days · local time | 100.0%up to 1 price area |
| 17 | RomaniaJan 1, 2026–Mar 31, 2026 | 90/90 | 5.6%5 days | 0.06%5/8,414 intervals | 173.3EUR/MWh | 03:00-06:0018 days · local time | 100.0%up to 1 price area |
| 18 | DenmarkJan 1, 2026–Mar 31, 2026 | 90/90 | 3.3%3 days | 0.02%3/17,144 intervals | 124.5EUR/MWh | 02:00-05:0019 days · local time | 100.0%up to 2 price areas |
| 19 | LatviaJan 1, 2026–Mar 31, 2026 | 90/90 | 2.2%2 days | 0.02%2/8,343 intervals | 199.8EUR/MWh | 02:00-05:0018 days · local time | 100.0%up to 1 price area |
| 20 | LithuaniaJan 1, 2026–Mar 31, 2026 | 90/90 | 2.2%2 days | 0.02%2/8,351 intervals | 199.9EUR/MWh | 02:00-05:0018 days · local time | 100.0%up to 1 price area |
| 21 | SwedenJan 1, 2026–Mar 31, 2026 | 90/90 | 2.2%2 days | 0.01%2/34,244 intervals | 86.6EUR/MWh | 02:00-05:0022 days · local time | 100.0%up to 4 price areas |
| 22 | SwitzerlandWholesale market onlyJan 1, 2026–Mar 31, 2026 | 90/90 | 1.1%1 days | 0.05%1/2,123 intervals | 58.7EUR/MWh | 02:00-05:0034 days · local time | 98.3%up to 1 price area |
| 23 | FinlandJan 1, 2026–Mar 31, 2026 | 90/90 | 1.1%1 days | 0.01%1/8,432 intervals | 110.5EUR/MWh | 02:00-05:0017 days · local time | 100.0%up to 1 price area |
| 24 | EstoniaJan 1, 2026–Mar 31, 2026 | 90/90 | 0.0%0 days | 0.00%0/8,273 intervals | 193.9EUR/MWh | 02:00-05:0017 days · local time | 100.0%up to 1 price area |
| 25 | North MacedoniaJan 1, 2026–Mar 31, 2026 | 84/90 | 0.0%0 days | 0.00%0/1,924 intervals | 127.7EUR/MWh | 02:00-05:0022 days · local time | 95.5%up to 1 price area |
| 26 | SerbiaJan 1, 2026–Mar 31, 2026 | 85/90 | 0.0%0 days | 0.00%0/1,987 intervals | 124.0EUR/MWh | 11:00-14:0020 days · local time | 97.4%up to 1 price area |
| 27 | IrelandJan 1, 2026–Mar 31, 2026 | 90/90 | 0.0%0 days | 0.00%0/2,154 intervals | 105.1EUR/MWh | 03:00-06:0020 days · local time | 99.8%up to 1 price area |
| 28 | MontenegroJan 1, 2026–Mar 31, 2026 | 80/90 | 0.0%0 days | 0.00%0/1,825 intervals | 100.4EUR/MWh | 11:00-14:0020 days · local time | 95.1%up to 1 price area |
| 29 | ItalyJan 1, 2026–Mar 31, 2026 | 90/90 | 0.0%0 days | 0.00%0/51,754 intervals | 82.9EUR/MWh | 02:00-05:0024 days · local time | 100.0%up to 7 price areas |
| 30 | NorwayJan 1, 2026–Mar 31, 2026 | 90/90 | 0.0%0 days | 0.00%0/42,518 intervals | 64.8EUR/MWh | 02:00-05:0022 days · local time | 100.0%up to 5 price areas |
For households
Wholesale movement is a signal, not your bill.
Negative wholesale prices do not automatically mean free household electricity. Supplier margins, network charges, taxes, fixed fees and tariff rules still apply. Timing becomes directly relevant only when a retail tariff passes market changes through quickly enough.
The linked market names open GridPassport's separate household-price benchmarks where Eurostat coverage exists. For the practical layer, read what negative prices can mean at home.
Methodology
Comparable periods, visible limitations.
The rules exclude partial current days and require each displayed market to cover most of the exact report period.
Included observations
Only dates inside Jan 1, 2026–Mar 31, 2026 and rows with at least 80% usable source coverage. Each displayed market needs at least 72 of 90 days (80%).
Negative-price measures
A negative-price day contains at least one reported market interval below €0/MWh. Interval share divides negative intervals by all usable intervals. Resolutions differ, so intervals are not described as hours.
Volatility proxy
Daily spread is the highest minus lowest published wholesale reference point in the market aggregation. Its mean is a descriptive range, not a statistical volatility forecast.
Cheapest three-hour window
For each market-day, GridPassport identifies the cheapest contiguous three-hour wholesale reference window. The most frequent local-clock label is descriptive, not a recommended household schedule.
Market comparison limits
Multi-area markets use GridPassport's existing aggregation. The Germany/Luxembourg bidding zone and the separate Luxembourg source row use distinct source representations; their household links are therefore shown explicitly rather than treating the zone as one country.
No household or ROI claim
Values are wholesale reference prices normalized to EUR/MWh. They exclude retail components and do not calculate household bills, battery value, charging savings or product ROI.
Freshness and sources
Published market data with source links.
The aggregate was built Aug 30, 2026, 01:16 GMT+2 from observations updated as late as May 31, 2026, 18:36 GMT+2. Operators may revise historical values; a later correction can update the same stable report URL.
- Elexon BMRS Open DataData sourceTerms
- ENTSO-E Transparency PlatformData sourceTerms
- SMARD BundesnetzagenturData sourceTerms
- GridPassport transformations and attributionData licence notes
Completed periods only
Quarterly reports.
A quarter appears here only after the full period and coverage checks pass. Monthly evidence remains in the existing wholesale archive rather than a duplicate report series.
Open data
Need the numbers behind this report?
Download one aggregate row per market, including the exact period, denominator, negative-price frequency, spread, recurring window, coverage and source names.
Tomorrow, without checking
Turn the price curve into one useful daily email.
Choose a country, see its cheapest and peak window, then receive the next published day-ahead brief by email.