# satyamkumar457/f1-2026-prediction architecture

> Architecture diagram of the GitHub repository satyamkumar457/f1-2026-prediction, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/satyamkumar457/f1-2026-prediction
- Repository: https://github.com/satyamkumar457/f1-2026-prediction

## Overview

This is a notebook-era F1 race-outcome prediction project, organized as per-Grand-Prix Python scripts. Its documented workflow uses historical race, qualifying, and telemetry information to engineer features, predict finishing standings, rank drivers, and evaluate predictions. The sampled EDA code confirms cleaning, feature engineering, and writing training data; other stages and integrations are represented from the README and file tree, so their links are dashed where implementation flow was not shown.

Main entry points: [`Race`](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race) (Race EDA)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Race data"]
  node_history[("Historical race data")]
  node_etl["Race ETL"]
  node_race_data[("Race data files")]
end

subgraph group_features["Feature analysis"]
  node_eda["Race EDA"]
  node_training_data[("Training data")]
  node_feature_analysis["Feature visualizations"]
end

subgraph group_prediction["Prediction and evaluation"]
  node_trainer["Model training"]
  node_model["Trained model"]
  node_predictor["Race prediction"]
  node_evaluator["Model evaluation"]
end

subgraph group_outputs["Race outputs"]
  node_results["Predicted results"]
  node_plots["Prediction plots"]
end

node_user(("Analyst"))
node_fastf1["FastF1 API"]

node_fastf1 -.->|"supplies sessions"| node_etl
node_history -.->|"supplies results"| node_etl
node_etl -.->|"writes data"| node_race_data
node_race_data -->|"reads data"| node_eda
node_eda -->|"writes features"| node_training_data
node_eda -.->|"analyzes features"| node_feature_analysis
node_training_data -.->|"trains from"| node_trainer
node_trainer -.->|"fits model"| node_model
node_model -.->|"predicts standings"| node_predictor
node_predictor -.->|"ranks drivers"| node_results
node_results -.->|"compares outcomes"| node_evaluator
node_evaluator -.->|"visualizes results"| node_plots
node_user -.->|"requests prediction"| node_predictor

click node_etl "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_race_data "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_eda "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_training_data "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_feature_analysis "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_trainer "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_model "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_predictor "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_evaluator "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_results "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"
click node_plots "https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_history,node_etl,node_race_data toneBlue
class node_eda,node_training_data,node_feature_analysis toneAmber
class node_trainer,node_model,node_predictor,node_evaluator,node_fastf1 toneMint
class node_results,node_plots toneRose
class node_user toneIndigo
```

## Components

### Race data

- **Historical race data**
- [Race ETL](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Race data files](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`

### Feature analysis

- [Race EDA](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Training data](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Feature visualizations](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`

### Prediction and evaluation

- [Model training](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Trained model](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Race prediction](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Model evaluation](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`

### Race outputs

- [Predicted results](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`
- [Prediction plots](https://github.com/satyamkumar457/f1-2026-prediction/tree/main/Race): `Race`

### Other components

- **Analyst**
- **FastF1 API**

## Connections

- FastF1 API → Race ETL: supplies sessions (evidence: `README.md`)
- Historical race data → Race ETL: supplies results (evidence: `README.md`)
- Race ETL → Race data files: writes data
- Race data files → Race EDA: reads data (evidence: `Race/20.BrazilGP/EDA.py`)
- Race EDA → Training data: writes features (evidence: `Race/16.BahrainGP/EDA.py`)
- Race EDA → Feature visualizations: analyzes features (evidence: `README.md`)
- Training data → Model training: trains from (evidence: `README.md`)
- Model training → Trained model: fits model (evidence: `README.md`)
- Trained model → Race prediction: predicts standings (evidence: `README.md`)
- Race prediction → Predicted results: ranks drivers (evidence: `README.md`)
- Predicted results → Model evaluation: compares outcomes (evidence: `README.md`)
- Model evaluation → Prediction plots: visualizes results (evidence: `README.md`)
- Analyst → Race prediction: requests prediction
