Finland Electricity Market Analysis

Sep 9, 2026

View Repository

Building My First End-to-End Data Project

I am finishing my Master's degree in Data Analytics, and I started looking for junior data jobs a while ago. I noticed something quickly: almost every job post asked for experience with a data platform and with Power BI. I had some knowledge from my studies, but not much hands-on experience. So I decided to build my own project to fix that.

Why This Project

I wanted a project that used real data, not a sample dataset from a course. I am also interested in economics and energy topics, so electricity market data felt like a good fit. Finland has open data from Fingrid (grid operator) and ENTSO-E (European electricity market data), so I used both.

The goal was simple: build a real data pipeline from raw data to a finished Power BI report, using tools that companies actually use.

What I Built

I used Databricks to store and process the data with PySpark, and Power BI to build the final report. The project follows a common pattern in data engineering called the medallion architecture. Raw data goes in first (Bronze), then it gets cleaned (Silver), and finally it gets shaped into a simple star schema for reporting (Gold).

The Power BI report has three pages: an overview, a page about daily and seasonal patterns, and a page about price behavior.

I will not go into all the technical details here. If you want to see the code and the architecture, the full project is on GitHub.

Problems I Did Not Expect

A few things did not go as planned, and fixing them taught me more than the parts that worked on the first try.

The Nordic electricity market changed its price resolution from hourly to 15-minute in October 2025. This meant one part of my data did not match the rest, so I had to understand why before I could fix it. One of the APIs skips a data point when the price does not change, instead of repeating it. My code had to handle this correctly, or I would have silently lost data. Splitting requests into monthly chunks caused some days to be pulled twice. I had to check the data carefully to catch this.

None of these were things I could have known in advance. I only found them by testing the data step by step and checking if the numbers made sense.

What I Can Do Now

Before this project, I knew the theory behind data pipelines and star schemas, but I had not built one from start to finish. Now I have done it with real APIs, real data problems, and a real BI tool.

I can now:

  • Pull data from a REST API, including handling pagination and rate limits
  • Clean and transform data with PySpark
  • Store data using Delta Lake and organize it with Unity Catalog
  • Build a star schema for reporting
  • Connect Power BI to a data platform and write DAX measures
  • Explain why the data looks the way it does, not just how to query it

That last point matters more than I expected. It is one thing to follow a tutorial. It is another thing to look at a strange result and figure out whether it is a bug or just how the real world works.

If you want to look at the code, the notebooks, and the full report, everything is in GitHub.