You are browsing as a guest. Sign up (or log in) to start making projects!

6h 29m 4s logged

PitWall Devlog 4 Circuit DNA and Qualifying Analysis

What I built

Qualifying Analysis

get_quali_improvement tracks a driver’s best lap time across Q1, Q2 and Q3 using session.results which returns the results from the three sessions. chart_quali_improvement calculates each driver’s progression between 2 sessions (Q1 and Q2 and so on)

get_perfect_lap gets its own chart chart_perfect_lap shows the perfect theoretical lap vs actual best lap where the best lap is the three fastest sectors overall per driver

Circuit DNA

It classifies a circuit based on its traits (power track, high/low df, high/low drag and so on) get_circuit_dna analyzes the fastest lap telemetry from any session and extracts 6 metrics: full throttle percentage, braking percentage, top speed, average corner speed, low speed corner percentage and high speed cornering percentage.

classify_circuit uses those metrics to label a circuit as High Speed, Power Track, High Downforce, Stop/Go or Balanced. Tested across a few circuits as well

chart_circuit_dna shows a radar chart overlaying multiple circuits so you can visually compare their personalities

get_team_circuit_affinity and get_driver_circuit_affinity calculate average qualifying positions per team and driver based on circuit type

Results

  • Silverstone: High Speed — 65% full throttle, 162 km/h avg corner speed
  • Monaco: High Downforce — 34% low speed corners, 27% braking
  • ANT is the strongest qualifier across all circuit types in 2026
  • Mercedes dominant on Balanced circuits, Ferrari strong on High Speed

Problems I hit

  • FastF1 doesn’t support Q1/Q2/Q3 as separate session types so i had to use session.results which has cleaner segment times
  • Circuit classifier kept misclassifying Silverstone as Power Track in the if/elif part of the code
  • Team affinity chart showed each team 3 times in the legend fixed it with dict.fromkeys() to remove the duplicates
0
4

Comments 0

No comments yet. Be the first!