WinAnalyst: Post-Race Profile Deep Dive
π Project Overview
WinAnalyst is a data-driven dashboard application developed using Python and Dash designed for competitive analysis in motorsport. It moves beyond simple timing sheets to provide a detailed, quantitative comparison of any driver's performance profile against the Race Winner's established "Optimal Profile" or Winning DNA.
The tool is built to empower drivers and race engineers by translating raw telemetry data (sector times, lap averages, consistency metrics) into actionable, prioritized insights to close performance gaps.
β¨ Features
Winning DNA Quantification: Calculates and displays the benchmark performance vector (Average Best 10 Pace, Sector Averages, Lap Consistency
Real-Time Comparative Analysis: Uses dynamic callbacks to instantly visualize the selected driver's profile against the winner's across a multi-axis Radar Chart .
Actionable Insights Engine: Automatically identifies key areas of time loss or gain, providing specific, color-coded recommendations (e.g., "Major time loss in Sector 2," or "Consistency Risk identified").
F1-Inspired UI/UX: Features a sleek, high-contrast dark theme optimized for clarity and professional review.
βοΈ Installation and Setup for Judges
To run the WinAnalyst dashboard locally, please follow these steps.
Prerequisites
Ensure you have Python 3.8+ installed on your system.
Step 1: Clone the Repository
Clone this repository to your local machine using git:
git clone https://github.com/AaronTide/WinAnalyst cd toyota-dashboard
Step 2: Install Dependencies
pip install pandas plotly dash
The core dependencies include:
pandas for data manipulation
dash and dash-core-components for the web application and layout
plotly for advanced data visualization
Step 3: Data Structure
The application requires specific CSV files in a data/ subdirectory. These files contain the mock telemetry data used for the analysis.
File Name
Description
Required Metrics
sections.csv
Raw sector times and lap data for all drivers.
S1, S2, S3 times, Driver ID
best10.csv
Calculated average time for each driver's best 10 consecutive laps (Pace metric).
Average Time, Driver ID
provisional_results.csv
Final race standings (Used for Driver List).
Total Time, Driver ID
Note: The provided repository includes these necessary data files for immediate demonstration.
Step 4: Run the Application
Execute the main Python script (app.py) to launch the Dash server:
python app.py
Step 5: View the Dashboard
Once the script is running, the application will be accessible in your web browser. Open the following address:
Press Ctrl+C in the terminal to stop the server when finished.
π Project Structure
WinAnalyst/ βββ data/ β βββ best10.csv β βββ provisional_results.csv β βββ sections.csv | βββ lap_times.csv βββ app.py # The main Dash application logic and dashboard layout βββ requirements.txt # List of required Python packages
π οΈ Built With
Python - Programming Language
Dash - Web Application Framework for Python
Plotly - Visualization Library
Pandas - Data Analysis and Manipulation