Has the NFL Combine’s 40 yard dash gotten faster ?
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Last week on one of my favourite podcasts, ESPN’s Football Today, Matt Williamson & Kevin Weidl discussed the standout prospects from the NFL Combine. A lot of the conversation was around how the 40 yard dash times have improved year on year due to better training technique and specific training for the combine activities.
I wanted to see for myself and found Combine results for all participants going back to 1999 at nflcombineresults.com including last week’s 2013 results. This data set has key data for all 4,283 participants during this period and is a gold mine for analysis. The data needed a bit of cleaning up to get it into a data frame but if you’d like a copy then leave a comment or message via twitter (@minimalrblog) – I haven’t spent the time to work out how to use github to share datasets.
I compared the 40 yard dash times of 1999 and 2013 and initally didn’t see real improvements as the 5 best times were:
Name | College | Position | Draft Year | 40 Yard Time |
---|---|---|---|---|
Rondel Menendez | Eastern Kentucky | WR | 1999 | 4.24 |
Marquise Goodwin | Texas | WR | 2013 | 4.27 |
Champ Bailey | Georgia | CB | 1999 | 4.28 |
Jay Hinton | Morgan State (MD) | RB | 1999 | 4.29 |
Karsten Bailey | Auburn | WR | 1999 | 4.33 |
The Combine class of 1999 had 6 of the best 10 times. However looking at the quartiles and plotting the 2 distributions showed a real improvement over the 14 years – while the fastest runners didn’t get faster, the rest of the field did benefit from improved training and technique.
Draft Year | Fastest Time | 1st Quartile | Median | 3rd Quartile | Slowest Time |
---|---|---|---|---|---|
1999 | 4.24 | 4.61 | 4.78 | 5.09 | 5.84 |
2013 | 4.27 | 4.55 | 4.71 | 4.99 | 5.65 |
The overlapping distribution was generated using the ggplot2
library.
library(ggplot2)
CombineData19992013 <- data.frame(CombineData[CombineData$Year == 1999 | CombineData$Year == 2013,])
ggplot(CombineData19992013, aes(X40Yard., fill = Year)) + geom_density(alpha = 0.2)
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.