enerlyzer

European Energy Market Dashboard • Solar capture & negative hours
Negative price hours
Avg market price
Capture price
Capture (floor €0)
Capture rate
Solar @ neg price
Negative price hours
Avg market price (€/MWh)
Capture price (€/MWh)
Capture floor €0 (€/MWh)
Capture rate (%)
Solar @ neg price (%)

Day view — 15-minute solar & price

How to view a single day in 15-minute resolution:

1. Select a specific bidding zone   2. Select a specific month   3. Click any day bar in the charts above.

The chart then overlays the 15-minute solar generation with the day-ahead price curve and highlights the periods with negative prices.

What is enerlyzer?

enerlyzer is a dashboard for analyzing the European energy market, with a focus on solar power economics. The platform tracks and visualizes key metrics across European bidding zones, providing insights into market dynamics, negative pricing events, and renewable energy capture rates.

Why this matters

As Europe accelerates its transition to renewable energy, the dynamics of electricity markets are changing rapidly — especially with the rise of solar. New patterns are emerging and are reshaping how energy systems operate. Negative price hours, for example, highlight both the challenges and opportunities that come with a power system increasingly driven by weather-dependent generation.

This project aims to shed light on these evolving dynamics and make them easier to understand. Building the app also gave me the opportunity to explore energy datasets more deeply using SQL and Python and to experiment with ways of visualizing market behavior.

The work is ongoing, and I plan to expand the tool step by step with new features, more analytics, and additional market indicators.

This dashboard helps investors, researchers, and policymakers understand:

  • Where and when negative pricing occurs
  • How solar generators are affected by market dynamics
  • The gap between average market prices and solar capture prices
  • Trends across different European markets

Data source

All data is sourced from the ENTSO-E Transparency Platform, the official source for European electricity market data. The dashboard updates daily with the latest market information.

Marian Willuhn

Marian Willuhn

Hi, I'm Marian Willuhn, an energy nerd with a background in political science and international law, currently working as a journalist at the intersection of electricity markets, regulation, and data. Over the past years, I've been exploring how energy systems evolve: how prices form, where flexibility is needed, and which role storage, grids, and digitalization play in the transition towards a renewable future.

I have been exploring data-driven market and price analysis and have been building tools that make public energy datasets more accessible. In doing so, I worked with Python and SQL, and I developed APIs and data infrastructure to visualize trends and uncover insights. This app is part of that journey — a way to turn raw electricity market data into something transparent, interactive, and useful.

My motivation is to turn complex energy topics into something everybody understands. I enjoy breaking down technical or regulatory issues and turning them into clear insights that help people grasp what is happening in the power system and why it matters.

If you have ideas, want to collaborate, or need help with energy data analysis or market research, feel free to reach out.

How we calculate the metrics

Negative price hours

Hours where the day-ahead electricity price falls below €0/MWh.

Neg Hours = Σ (hours where Price < 0)

For 15-minute resolution data, each interval counts as 0.25 hours.

Average market price

The arithmetic mean of all day-ahead prices in the selected period.

Avg Price = Σ(Price) / Count(Intervals)

Capture price

The volume-weighted average price received by solar generators.

Capture Price = Σ(Generation × Price) / Σ(Generation)

At 15-minute resolution: energy per interval = MW × 0.25 h. Monthly and yearly values are volume-weighted over the full period (not an average of daily capture prices).

Capture price (floor €0)

Same as capture price, but negative prices are floored at €0.

Capture Floor = Σ(Generation × max(Price, 0)) / Σ(Generation)

Capture rate

The ratio of capture price to average market price.

Capture Rate = (Capture Price / Avg Market Price) × 100%

Solar volume at negative prices

Share of solar generation that occurs during negative price hours.

Solar @ Neg = (Gen during neg hours / Total Gen) × 100%

Get in touch

Have questions about the data, methodology, or interested in collaboration? Feel free to reach out through any of the channels below.