working-with-data

How we turned EURO 2024 data into a cool visualization project

· 60 minutes

  days
:
  hours
:
  minutes
:
  seconds
 

About this event

This year, EURO 2024 set a new record for the fastest goal ever scored in a European Championship match! We wanted to take a closer look at the championship, so we dug into the data, ran some analysis, and created a real-time monitoring dashboard in Metabase.

In this webinar, we walked through each step of this project.

Guest

Thomas Schmidt

Thomas Schmidt

Analytics Engineer, Metabase

Thomas Schmidt is an Analytics Engineer at Metabase with previous data science roles at Shopify and DeepL. He excels in data modeling, analytics, and storytelling, with expertise in various programming languages and cloud computing.

Summary

In a recent webinar, Thomas Schmidt, an analytics engineer at Metabase, walked us through the process of building a data visualization project in Metabase from the ground up. In this summary, you will find key takeaways.

Introduction to the Project

Thomas starts by introducing the project: creating a data visualization dashboard for the Euro 2024 championship. The goal was to demonstrate the full ETL (Extract, Transform, Load) process — taking data from multiple sources and turning it into a dashboard using Metabase. This project serves as a template for any other data visualization project in Metabase.

End-to-End Data Flow

  1. Data Extraction: The project starts with pulling raw data in JSON format from the dashboard, a provider of sports data. This data included nested details like game events, goals, and player statistics.
  2. Data Transformation: Next, the raw data was cleaned and transformed. This involved standardizing timestamps, handling floating-point precision, and adding new columns to simplify data joining.
  3. Data Loading: The transformed data was then loaded into a PostgreSQL database, ready to be visualized in Metabase.

Data Modeling

  1. Simplifying Analysis: Thomas highlighted the value of data modeling in making analysis easier. By setting up pre-built data models, you can avoid repetitive tasks and reduce the chance of errors.
  2. Custom Columns and Business Logic: Integrating custom columns and business logic within your data models standardizes calculations and ensures consistency across your organization.

Visualization tips

  1. Heat Maps: A standout feature was the use of heat maps to visualize ball coordinates on a soccer pitch. This required creating a custom region map using GeoJSON files.
  2. Image Display in Tables: Thomas also showed how to display images, like team logos and player photos, within tables in Metabase by setting the right semantic types and display options.

User Experience Enhancements

  1. Interactive Filters: The dashboard included interactive filters that allowed users to zoom in on specific data points. For example, selecting a season automatically filtered the available games and teams.
  2. Conditional Card Display: To improve the user experience, cards with no data were hidden, reducing clutter and keeping the focus on relevant information.

Advanced Customization

  1. Click Actions: Thomas showed how to customize click actions on dashboard elements, allowing users to navigate smoothly to detailed views or other dashboards.
  2. Linked Filters: By linking filters, the dashboard ensured that changes in one filter dynamically updated the options in others, creating a better user experience.

Practical Tips

  1. Documentation and Semantic Types: Proper documentation and setting semantic types can significantly improve the usability of your dashboard for end users.

We highly recommend you watch a recording of this event as Thomas provided a complete guide to building a data visualization project in Metabase from scratch. Whether you're working with sports data or any other dataset, the principles and techniques shared are broadly applicable. For those eager to dive deeper, the open-source code and additional resources are available on GitHub. Happy visualizing!