We are currently allocating resources to Porpo for the 2023 Formula 1 season.
Meet porpo, a data collection and visualization tool.
porpo is an application that utilizes the [FastF1](https://github.com/theOehrly/Fast-F1) package and is designed to easily pull telemetry data and create beautiful visualizations for analysis. It allows you to look through historic and current race data, make comparisons across specific laps, fastest laps, or full sessions. Soon, it will let you visualize the track as a map, allowing you to more clearly see where on track an event took place.
*Note*: [Python3](https://www.python.org/downloads/) (v.3.8 or greater) is required.
What does porpo mean?
'porpo' is a shortened form of the word 'porpoise'. In short, in the context of Formula 1, when a car is going "too fast", it creates so much downforce that it slams into the ground and bounces back up, only to get sucked right back down to the ground. The violent up and down movement is referred to as 'porpoising'. This same movement applies to the end point on a graph as the X value increases, and so - porpo.
For simplicity, I highly recommend simply downloading Visual Code Studio and installing Python plugin and the necessary packages listed on in the requirements.txt
file (only the top 2 need to be downloaded, the rest come with the Python plugin).
After you do that, download the porpo source code .zip
. Extract the contents wherever you want, but keep in mind that is your working directory, so something like /Documents
would be better than your Desktop.
Now, open Visual Studio Code, and open a the folder you just extracted.
Visual Studio Code should build out the file hierarchy on the left side, if something else happens, take a screenshot and let me know, we will figure it out.
If you have:
- Downloaded Visual Studio Code
- Installed the Python plugin and any required packages in
requirements.txt
- Downloaded and extracted the source files
.zip
- Properly opened the directory
You should be good to go.
All you need to do now is hit the play button in the top right of your screen and the app should start.
Note: Because the app downloads and filters large chunks of data to cache on the first use, the app actually gets faster the more you use it. Expect some wait times when first loading a Grand Prix.
Porpo allows you to individually set all the variables for evaluation.
You start by selecting the year the Grand Prix took place.
Load the list of GPs for that season. Load the list again any time you want to evaluate a different season.
Select the Grand Prix you want, and select the session from the Grand Prix.
Note: Sprint not available for every Grand Prix.
Now load the list of drivers for your Grand Prix and session. Load the list again any time you want to evaluate a different Grand Prix.
Decide if you're going to evaluate the full session, or a specific lap, or easily select the fastest lap set by your chosen driver.
Note: Check the FastF1 documentation to see the data values available for each option.
The last step is to select which variables you want displayed on the axes (X and Y). Be aware that although you can select any available data as either variable, some combinations may not perform as expected - or at all.
Click 'Confirm All' to update selected values, and 'Analyse' to see your visualization.
The plot will show up in a new window, and automatically save to your export directory when the window is closed.
If you're unsure where your export directory is, the default relative path is:
~/Documents/F1 Data Analysis/Export/
To change this directory, edit the export path in the preferences window. For now, if you want a different directory, you need to do this every time you open the app or it will reset to default.
You can easily pull and visualize data for a single lap of a session.
Max Verstappen speed on Lap 54 of the 2022 Bahrain GP. We can see he was losing power throughout the lap, up until the moment he completely lost power, and went into the pitlane.By default, you can quickly do analysis of the fastest lap set by the selected driver during a session.
Max Verstappen speed on the fastest lap he set in 2022 Bahrain GP. We can the difference between this lap and lap 54, when he retired.You can also quickly do an analysis of a driver's performance through an entire session.
Max Verstappen laptime over the course of the Imola GP. We can see as the track began to dry, laptimes began to fall very quickly.