Joshua Blewitt

F1 2022 Data Science Part 3 - the performance of Hamilton and Russell (so far)

Welcome back to part 3 of my small data science project looking at the 2022 season of F1!

This time, I’m going to be looking at the performance of the two Mercedes drivers; Lewis Hamilton and George Russell. This will be a shorter blog post this week as I am super busy with other things.

As always, be sure to check out the GitHub repo if you want to take a look at the work done so far.

For those who don’t know, Lewis has been driving with Mercedes for years and is a world champion. Meanwhile, George has been driving for Williams for a few years and is the newest member on the Mercedes team this year.

The Williams team has had a rough few seasons, even scoring as low as zero points in the 2020 season and were bought in 2020. Meanwhile, it seemed that Mercedes were unstoppable. Winning countless races and championships.

So I thought it would be interesting to take a look at their performance. It would be interesting to look how George is doing in a better car.

And the results, were interesting to say the least. This season so far hasn’t been going well for Mercedes, in comparison to other seasons. Lewis is struggling to break into the top 5 overall and the team is sitting in third place (and who knows, they could end up in fourth place this season).

George meanwhile, has been consistently been in the top 5 of each race so far. And the difference in points gained in each race can be shown with this graph:

Which was generated with the following:

# create plot
plot = sns.relplot(data=mercedes_df, kind='line', x='Race', y='PTS', hue='Driver', markers=True)
plot.set_xticklabels(rotation=90)

And if you wanted to look at the average amount of points gained in each race so far…

mercedes_df.loc[mercedes_df['Driver'] == 'George Russell']['PTS'].mean()

12.0
mercedes_df.loc[mercedes_df['Driver'] == 'Lewis Hamilton']['PTS'].mean()

7.142857142857143

…you’d think that George would be outperforming Hamilton. In terms of points gained per race, yes. But if we take a look at the fastest lap and average speed per race…

# create plot
plot = sns.relplot(data=mercedes_fastest_lap_df, kind='line', x='RACE', y='FL', hue='DRIVER', markers=True)
plot.set_xticklabels(rotation=90)

# create plot
plot = sns.relplot(data=mercedes_fastest_lap_df, kind='line', x='RACE', y='AVG_SPEED', hue='DRIVER', markers=True)
plot.set_xticklabels(rotation=90)

…they look to be on par with each other.

In most cases, their speed has remained the same in average speed and the fastest lap. There have only been a few moments where Hamilton had the faster lap than his teammate and the reverse can be said for average speed for each race.

So if their performance is close, then how come the point difference is so big? Is it down to skill and George is wanting to impress? Or is it that Mercedes just don’t have the best car this year?

There are still plenty of races left in the current F1 season so I’ll revisit this area towards the end of the year.

Until next time 👋

Tags:

Python

A photo of me!

I'm Joshua Blewitt, I'm passionate about product, a technology advocate, customer champion, curious mind and writer. I've worked for companies such as Rightmove, Domino's Pizza and IQVIA.

Let me know your thoughts!
More about me