As a lifelong Ferrari and Formula 1 enthusiast, this project is more than just a technical case study—it’s a tribute to a childhood passion.
In 2023, I had the chance to visit Maranello, the heart of the Prancing Horse. Walking through the Ferrari Museum, seeing the legendary F1 cars up close, and breathing in decades of racing history lit a spark.
This project explores the historical performance of Scuderia Ferrari in Formula 1 from 1950 to today, using real-world data to deliver insightful visualizations and interactive reporting tools.
Through this case study, I aimed to:
I designed a normalized relational database in SQLite to structure the racing data, using the following main tables:
drivers
: driver informationconstructors
: constructor informationraces
: Grand Prix calendarcircuits
: circuit names and locationsresults
: race results (position, driver, constructor, points, status)lap_times
, pit_stops
, qualifying
)Example of a SQL query :
SELECT year, COUNT(*) AS wins
FROM results
JOIN races ON results.raceId = races.raceId
WHERE constructorId = (SELECT constructorId FROM constructors WHERE name = 'Ferrari')
AND position = 1
GROUP BY year;
The data pipeline is fully automated via Python scripts that:
The process is reusable and easily updatable as new seasons become available.
Using Streamlit, I created a dashboard with multiple pages to explore Ferrari’s performance over time. Key components include:
Copyright © 2025