Skip to content

MySQL-based Formula 1 analytics project with Python data analysis and Streamlit dashboard, designed to model Formula 1 teams, drivers, races, and performance data. It focuses on writing efficient SQL queries for analytics such as driver standings, team standings, lap times, pit stop analysis, and tyre strategies.

Notifications You must be signed in to change notification settings

ANU5565/F1-analyticss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏎️ F1 Analytics Database Project

A structured Formula 1 analytics database designed to store, analyze, and visualize race, driver, team, and performance data. This project is ideal for SQL practice, analytics dashboards, and Backend integration, python, streamlit. Season-wise performance dashboards built using MySQL + Python + Streamlit


πŸ“Š Dashboard Preview

F1 Analytics Dashboard


πŸ—‚οΈ Project Structure

f1-analytics/
β”‚
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ schema.sql      # Tables, indexes, views
β”‚   β”œβ”€β”€ seed.sql        # Sample data inserts
β”‚   β”œβ”€β”€ queries.sql     # Analytics queries
β”‚
β”œβ”€β”€ README.md
└── .gitignore

🧱 Database Highlights

  • Teams & Drivers – championships, wins, podiums
  • Races & Circuits – season-based race tracking
  • Lap Times – per-lap performance analysis
  • Pit Stops – tyre compound & duration insights
  • Tyre Stints – strategy-level data
  • Qualifying Results – Q1/Q2/Q3 performance
  • Views for driver & team standings

What I Learned

  • Designing a relational database using MySQL
  • Writing analytical SQL queries with joins and aggregations
  • Connecting MySQL with Python
  • Performing data analysis using Pandas
  • Visualizing data with Matplotlib
  • Building an interactive dashboard using Streamlit

πŸ“Š Key Analytics Supported

  • Driver standings by total points
  • Team championship standings
  • Fastest laps per driver
  • Average pit stop duration
  • Tyre compound usage trends
  • Season-wise performance dashboards

πŸš€ How to Use

  1. Create the database and schema

     source database/schema.sql;
  2. Insert sample data

     source database/seed.sql;
  3. Run analytics queries

     source database/queries.sql;
  4. Connect database with Python

     python/db_connect.py
    
  5. Run the dashboard

     python/dashboard.py

πŸ› οΈ Tech Stack

  • Database: MySQL
  • Database connectivity: python, streamlit
  • Design: Relational schema (3NF)
  • Use Cases: SQL analytics, dashboards, backend APIs

🌱 Future Enhancements

  • Add season-wise points calculation
  • Integrate with Django REST API
  • Power BI / Tableau dashboards
  • Real-time race data ingestion
  • Advanced SQL (CTEs, window functions)

πŸ‘€ Author

ANUROOP DASARI Aspiring backend & data-focused developer with an interest in real-world system design and analytics.


⭐ If you like this project, consider starring the repo!

About

MySQL-based Formula 1 analytics project with Python data analysis and Streamlit dashboard, designed to model Formula 1 teams, drivers, races, and performance data. It focuses on writing efficient SQL queries for analytics such as driver standings, team standings, lap times, pit stop analysis, and tyre strategies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages