Posts for Tag: football

2023 NFL Draft Visits, by team and position

I wanted to continue what has become a yearly tradition in looking at NFL Draft visits by team and position. As I have done in years past, the data was pulled from Walter Football and is current as of April 19, 2023. Visits should be ending soon so this is almost a complete list that is available to the public, as a lot of teams are pretty secretive about their visits getting out. But some beat reporter sleuthing and agent promoting has gotten us to this point.

Similar to last year, I assigned points to each type of visit per prospect (ex. virtual visit just worth 1 point, a private workout worth 3 points) and then tallied the total points across a position. Because while an individual prospect's agent might be more promotional than another's, across the board some patterns should emerge by position.

  • Visits worth 1 point = visits where the teams were already there and just talked to a player = Senior Bowl visit, NFL Combine visit, virtual visit
  • Visits worth 2 points = visits where the team sought out the player, but in a group setting = Pro Day visit, Local visits (players that grew up or went to college in the area)
  • Visits worth 3 points = individual visits where the player was brought in or worked out, often the most important = Private visits (teams have 30 of these to use), Workout visits

(the spreadsheet is conditionally formatted by color by position, so a darker color means that particular team paid more attention to that specific position more than other teams)

2022 NFL Draft Visits and Mock Draft

As I have done in previous years, I took a look at aggregating NFL Draft prospect team visits via Walter Football. This year, I awarded points per visit as: 1 point for a virtual or Senior Bowl meeting, 2 points for a Pro Day, Combine, or local prospect meeting, and 3 points for a private visit or workout. This is obviously not an exhaustive list -- as it doesn't include ALL visits, if they weren't reported by the team or if an agent does a better job of broadcasting their clients' visits -- but it does likely lead to team/position insights and can't be dismissed.

Here is the breakdown of visit points per position per team, with the cells conditionally formatted to be darker green if the team has spent more visit points on certain positions over others:

Also, here is my final mock draft for 2022. I wanted to project trades but it becomes too complex too quickly to do that.

Sadness today. Optimism tomorrow.

Step back from the ledge, Chiefs Kingdom.

I know it hurts to see one of your own suddenly taken from you. I realize it pains to see a future you had in mind suddenly vanish.

Today is a day for being sad. You’re allowed to be sad. It doesn’t have to make sense today, sadness makes sense.

So read this tomorrow. Always tomorrow. 

The prospect of tomorrow brings optimism – and sadness is bad, whereas optimism is good.

Today: sadness. Tomorrow: optimism. 

Somewhere in between realism sets in that it was inevitable that the Holy Passing Trinity of Patrick Mahomes + Tyreek Hill + Travis Kelce would break up. But we all thought they had a couple more years together, at least! We all thought we had a couple more years together, at least.

We thought they’d break up tomorrow, not today. We thought we’d break up tomorrow, not today.

But, unfortunately, sadness doesn’t come tomorrow. The sickle of sadness comes today.

Tomorrow is for optimism. 

Optimism that maybe defenses really had figured out how to stop the Holy Passing Trinity + Band of Others and that – maybe, just maybe – the passing attack needed to be blown up. (Whaaaaaaaat! *gasp*)

Not today though, we hoped. Blown up tomorrow. Maybe.

Maybe we could get a player or two in free agency + the draft and keep the Holy Passing Trinity together and actually improve! I mean, yeah, that would require all three of the aerial triumvirate to be happy with their contracts + require hitting on that other free agent (JuJu) + draft pick (?). And the former would hinge on Hill agreeing to an extension.

But… Hill didn’t want to agree to KC’s extension. Uh oh. 

He wasn’t supposed to tell us that! Not today, at least. Tell us that tomorrow.

The reality is that Tyreek saw others getting more money and wanted to be compensated similarly. Which is… fair? KC could always pay him more money, of course, and push off salary cap pain to future years. They wouldn’t ever really have to face the financial music, because the cap isn’t real. 

The cap isn’t real…right? RIGHT?!?

We wouldn’t have to find out if the cap was real or not today at least. Tomorrow, maybe.

So what was Brett Veach & Co. supposed to do? Well, we saw today what leaders do in tough situations: they don’t push off making hard decisions until tomorrow, they know the best time – hell, the only time – to deal with tough situations is now. Right now. Today.

Make the hard decision today, pay the price today, be sad/mad/angry today. You’ll be happier tomorrow.

Tomorrow is for optimism, today is for sadness.

Tomorrow is for moving on, today is for breaking up.

Tomorrow is for looking at WR draft highlights, today is for looking at Hill’s Chiefs highlights.

Tomorrow we’ll talk about how this draft is loaded with legit starting potential in rounds 2, 3, and 4 (picks 33-143, or 111 in total) and how now the Chiefs have 8 (EIGHT!) of those 111, including numbers 29 and 30 with 5th year options. 

With 32 NFL teams, you would expect 3.47 picks per team in that 111 pick range, giving the Chiefs over double the amount of picks that you’d expect. In one of the deepest drafts for WR/CB/DE/LB/OT in recent memory (all areas the Chiefs need help).

We’ll talk about all those things tomorrow. Today, we mourn.

Today, sadness. Tomorrow, optimism.


Explaining the Worst Big Data Bowl Submission of 2022

Me, scrolling twitter, September 2021 and I see a @statsbylopez tweet that says this year’s Big Data Bowl will be starting soon and will be about special teams:

“Awesome, I’d love to dig into some punting data, this will be cool!”

(some time passes)

Me, scrolling twitter, January 2022 and I see a @statsbylopez tweet that says the 2022 Big Data Bowl submission deadline was in 6 days:

“Shit!”



(I’ll preface this post with some quick excuses: While I’m experienced in Excel, I’ve only had a couple guided trips into the deep sea of R and JMP about 5-7 years back, so I’m still a data analysis novice I’d say. Plus, I have never made tracking simulations or models before – which is what most of the Big Data Bowl submissions seem to be – so I knew anything I could pull together in a week would be strictly Excel-based.

I’ve also never submitted a notebook or dataset in Kaggle before and I submitted the wrong notebook format for the Big Data Bowl. I just copy-pasted from a word doc to the notebook and uploaded all(?) of my Excel data – initially private then re-uploaded to make it public smh. So I probably should’ve looked at that earlier than 15 minutes before the deadline.)

: /

But I was able to find out a couple things from the Big Data Bowl 2022 dataset regarding an idea to move the punter back from 15 yards behind the snap to 20 yards should result in:

  • more fair catches

  • less returns (and less chance of the return scoring)

  • less touchbacks

  • the same amount or slightly less blocked punts



A couple years back, I asked a good friend of mine – who punted in college and privately coaches high school punters today – a question about punting that had been bugging me: if special teams coaches are scared of the punt being blocked or giving up a big return, why don’t they move the punter move back 5 yards to punt? 

The thinking is that this should make it harder for the punt to be blocked as well as produce more fair catches. (The theory for more fair catches is that moving the punter back 5 yards would increase the time that the gunners have to get closer to the returner as well as move the returner 5 yards closer to the gunners.)

Not only should we expect less blocks and more fair catches, but there should also be second-order benefits like reducing the number of chances of a return for a touchdown and reducing the amount of injuries to your coverage unit.

My friend wasn’t as convinced of the merits of this idea; he immediately brought up some downsides in that there’s no guarantee that it would decrease the number of blocked punts (since the punter is 5 yards further back, the same angle of punt block attack could result in the punt block team spreading further out) and you would very likely be accepting a decrease in total and net punting distance (since the ball is punted 5 yards further back).

But the more I’ve thought about it I think if I was a coach I’d be ok with accepting a lower punting distance – since this should also come with less risk (of a block or a long return). Less punt distance for less risk doesn’t sound like a bad trade. Plus I think the net punting distance drop would be much less than 5 yards, since it would increase the number of fair catches (thus decreasing return yardage) and decrease the number of touchbacks.

Let’s see if the Big Data Bowl dataset can offer any clues.



There were 7 punt outcomes for a subtotal of 5,919 punts, as seen in Table 1, over 759 games – for an average of 7.79 total punts (by both teams) per game, as seen in Figure 1 – that came from a team’s decision to punt (and not run a fake punt) in the dataset of 5,991 total punts:

  1. the punt is blocked before it is punted

  2. the punt is downed by the punting team

  3. the punt goes out of bounds

  4. the punt goes into the opponent's end zone for a touchback

  5. the punt is fair caught

  6. the punt is returned

  7. or the punt is attempted to be returned but is muffed by the returner



specialTeamsResult

COUNTA of ID_ALL

COUNTA of ID_ALL

Blocked Punt

39

0.66%

Downed

830

14.02%

Fair Catch

1640

27.71%

Muffed

154

2.60%

Out of Bounds

587

9.92%

Return

2286

38.62%

Touchback

383

6.47%

Grand Total

5919

100.00%

Table 1


Figure 1


I then got rid of the punts that didn’t have an outcome where the returner had a decision to make: when the punt is either downed, goes in for a touchback, is fair caught, or is returned. (This was my second mistake: I wrongly eliminated muffed punts. For some reason, I thought that specialTeamsResult meant the punt was muffed by the punter, and not the returner – ideally I should’ve added the muffed punts to the number of returned punts. In total, this wrongly deleted 154 muffed punts (additional return decisions) from the dataset)




To begin investigating the merits of moving the punter back 5 yards, let’s look at punt outcomes and their proportions given what line of scrimmage (LOS) the ball was at. I started by converting the yardline to a “total distance-to-go” metric – since both a LOS of 30 (yards) was used to represent 30 total yards to go AND 70 total yards to go. This was done with a “=if” formula to classify if the LOS was on the punter’s team’s half of the field or the opponent’s, and if it was the punter’s side 50 additional yards were added to the yardline. This metric is TOTALyardsToGo.

When I did a PivotTable of the number of punts that have occurred from each TOTALyardsToGo, it showed the total number of punts per outcome at each TOTALyardsToGo yardline. This wasn’t very useful but then I changed the output format from a raw count to a proportion per outcome. This was more helpful to visualize what happens on each TOTALyardsToGo yardline, as you can see in Figure 2 below.

Figure 2




That is cool and all but not helpful in proving whether moving the punter back would be advantageous or not. It’d be more helpful to look into specific punt stats – things like average snap time, punt operation time (punter catching the punt, taking their prep steps, and then actually punting the ball), and hang time for all punt outcome types and see if there’s anything that stands out. 

I created a snap2puntTime metric that is the addition of the snap and operation (punter catches the snap, takes their prep steps, and punts the ball) times. I then added the snap2puntTime and hang times to get a totalPuntTime from snap of the ball to catch/down of the ball.


Average time (in seconds)

Avg. snapTime

Avg. operationTime

Avg. snap2puntTime

Avg. hangTime

Avg. totalPuntTime

COUNT

Blocked Punt

0.864

2.159

3.023

2.080

5.150

39

Downed

0.863

2.128

2.991

4.166

7.157

830

Fair Catch

0.864

2.132

2.996

4.478

7.474

1639

Muffed

0.857

2.128

2.985

4.320

7.305

154

Out of Bounds

0.859

2.131

2.989

4.147

7.136

587

Return

0.859

2.135

2.994

4.323

7.317

2286

Touchback

0.862

2.112

2.974

4.417

7.390

383

Grand Total

0.861

2.131

2.992

4.332

7.324

5918


Table 2


Looking at Table 2 above, you can see that the average snapTime for a punter standing 15 yards behind the LOS is pretty consistently ~0.86 seconds, as NFL long snappers are professionals and have practiced this highly specialized skill many, many, MANY times. This means the ball travels at an average speed of 17.44 yards/second.

The average operationTime doesn’t vary much – understandably as punters are professionals (too!) and have practiced this catch-steps-punt motion many, MANY times. But the small amounts it does vary tell you a little bit. Notice the average operationTime for a Blocked Punt is highest at 2.159; this is likely when a punter hasn’t handled the snap catch or prep steps properly or had a bad snap. 

Initially, what I don’t get is why the average operationTime for Touchbacks are the shortest. You would think punters would want to hold onto the ball more if they were kicking with a possibility of a Touchback, thus giving their gunners more time to get down the field and down the ball before it rolls into the endzone. Maybe the punt return team is rushing all 11 players and not attempting to field short punts, thus the punter tries to get a quick punt off similar to being backed up in their own end zone?

The shortest hangTimes for Blocked Punts make sense since a partially blocked punt won’t travel nearly as far as a normal punt. Also, the longest hangTimes for Fair Catches makes sense as this long hangTime allows the punt team gunners to get further down the field, or closer to the returner. Plus it disrupts the normal punt returner routine – making them feel like they have less time and cushion to return the punt before they’re hit – and therefore it likely causes more fair catch decisions. The 2nd-longest hangTimes for Touchbacks doesn’t really make sense though, unless the punter just mistakenly punted a better ball (longer distance and hang time) than they intended?

Finally, the longest totalPuntTimes for Fair Catches makes sense because this longer period of time once again reduces the time the returner has before they can begin returning the ball and I’d assume they feel less safe, which leads them to playing it safe and making that fair catch decision.




Ok ok, that’s better data and insights but nothing too helpful either way, we did get a couple insights that:

  1. long snappers are incredibly consistent

  2. longer totalPuntTimes would likely lead to more fair catches by the punt returner

So a new thesis emerges: a punter could (theoretically) increase the amount of their punts that are fair caught – and thus decrease the number of potentially dangerous returns – by increasing their totalPuntTime.

To try and look into that theory, I looked at only two binary punt returner decision outcomes: either a return or a fair catch. Creating a scatterplot (Figure 3 below) of the % of fair catches by totalPuntTime shows a fairly strong correlation between longer totalPuntTimes and more fair catches, with a R-squared of 0.312.

Figure 3


Obviously correlation doesn’t automatically equal causation, but don’t dismiss the correlation as useless in this scenario. Longer totalPuntTimes are more associated with a higher % of punts being fair caught, so naturally one thinks the punter should just hold onto the ball longer and take as much time as they can operationally (from snap to punt), thus increasing the totalPuntTime and leading to more fair catches. 

This isn’t always practical in the real world, as the punter can’t just hold onto the ball forever, as there’s this little detail of 7+ guys running full speed at them trying to take their head off! Punters – just like players do at every position – function better in rhythm and want to keep their operationTime as consistent as possible, so the simple action item of “Hey, hold onto the ball as long as possible” isn’t particularly good advice.

The other way a punter might try and increase their totalPuntTime is by simply punting the ball higher and further to have more hang time. Great idea genius! Haha this suggestion isn’t novel at all as punters practice every day to try and increase their hang time. Hang time is incredibly important to punters because the longer the hang time of the punt, the more fair catches there should be. Let’s look real quick to see if this is true or not with a scatterplot of hangTime vs. % fair catch.

Figure 4


As seen above in Figure 4, this relationship has a higher R-squared of 0.489, it shows that a longer hangTime is more associated with a higher % of fair catches (vs. returns) than a longer totalPuntTime is (0.312). So, ideally the punter just punts the shit out of the ball and skies it and gets a massive hangTime, but punters try to get that every single time so that’s nothing new.

But what if you could increase the totalPuntTime a different way? Well, that’d be great, but how??



This is where our thesis picks up: we should increase the snapTime by moving the punter back 5 yards – so they’re standing 20 yards behind the LOS instead of 15 – as this would increase the snap2puntTime and, subsequently, the totalPuntTime while still allowing them to go through their normal punt operation routine and not disrupting their normal rhythm (thus giving them the best chance to get a great punt with a maximum hang time).


I see some initial hesitations to this idea and have listed them below:

  1. the long snapper isn’t used to snapping 20 yards

  2. the increased time from snap to punt would result in more blocked punts

  3. if the punter changed nothing else, the ball would land 5 yards shorter than a normal punt, thus decreasing punting distance


Let’s dig into the data to see if those are real concerns or if they can be alleviated. 

1. Even though the long snapper is not used to snapping 20 yards, I don’t think this would be a hard adjustment for them as they are very specialized professionals who are used to snapping anywhere from 7-15 yards. Of the 5,919 punts in the dataset, Table 3 below shows that over 92% of the snaps are on target, thus indicating that the long snapper can adjust to the situation and deliver an accurate ball. I have few doubts that long snappers could snap 20 yards with comparable accuracy numbers. A bigger question would be about the speed of a 20 yard snap compared to a 15 yard snap – this is something that we need to look at below.


snapDetail

COUNTA of ID_ALL

High

2.30%

Left

1.30%

Low

3.13%

OK

92.09%

Right

1.18%

Grand Total

100.00%

Table 3


2. The second worry is that the increased snap time could potentially lead to more blocked punts. Referencing Table 2 from the beginning, the average snapTime is around ~0.86 seconds for a 15 yard punt (average speed of 1.74 yards per 1/10th second) and does not vary much. Linear extrapolation would put a 20 yard snap at ~1.15 seconds; this is incorrect however as ball snap speed does not degrade linearly but logarithmically, with the snap starting out faster and getting slower and slower.

You can see in Figure 5 below that for a sample of 10 random snap speeds, the average snap starts off at ~1.64 yards per 1/10th second and slows to about ~1.5 yards per 1/10th second after 7/10th seconds. After that, the speed continues to drop off faster and faster. 


Figure 5


In order to calculate the amount of time a 20 yard snap should take, we can estimate it with calculus and the graph below! To start, notice the polynomial trendline correlation is astoundingly high of 0.998, so if we take the integral of this trendline over a varying number of 1/10th seconds, the total is the number of yards the ball would travel over that timeframe. 

Using an online integral calculator (Figure 6 below) for 13.5/10th seconds (or 1.35 seconds) gives an estimated snap length of 19.97 yards. Thus a 20 yard snap should take about 1.35 seconds, or an increase of 57% in snap time over the 15 yard snap of 0.86 seconds! According to the polynomial trendline calculation, plugging in 13.5 for x would give a final ball snap speed of 1.17 yards per 1/10th second. So the average snap speed of a 20 yard snap should start out at 1.64 yards per 1/10th second and drop to 1.17 yards per 1/10th second after 1.35 seconds.


Figure 6


Let’s now look at how this new increased 20 yard average snapTime of 1.35 seconds changes the total snap2puntTime and totalPuntTime. The average snap2puntTime for a 15 yard snap is 2.99 seconds (0.86 avg snapTime + 2.13 avg operationTime). Making the average snapTime 1.35 seconds would make this new snap2puntTime average at 3.48 seconds, or an increase of 16% in total snap2puntTime. This would also subsequently increase the totalPuntTime from a 15 yard snap average of 7.32 seconds to 7.81 seconds, or an increase of 6.7%. 

Using the “totalPuntTime vs. % fair catch” linear trendline from before (and keeping in mind the R-squared was 0.312), we can get a rough estimate for an expected % increase in the number of fair catches. To do so, let’s find the expected % fair catch for the current 15 yard snap average of 7.32 seconds – it looks like it would be 0.38, or 38% of the time there would be a fair catch with an average 7.32 second totalPuntTime. Now if we run the same projection for the new 20 yard totalPuntTime of 7.81 seconds, we get 0.49, or 49% of the time we should get a fair catch. This would be an increase in fair catches of nearly 29%!

(Also bonus benefit: I believe this would also decrease the number of touchbacks that a punting team gets, as the additional totalPuntTime would allow the punt coverage to get further down the field and be able to down the ball before it rolls into the endzone. This would drastically increase the net punting distance, as the touchback yardage is also subtracted (as well as the return yardage) from the total punt distance. So less touchbacks + more fair catches – thus less return yardage – should increase the net punting distance.)

Immediately, you might be saying: let’s do it! Let’s move the snap back to 20 yards and increase the total punt time by a half a second, and hopefully get more fair catches as a result! However, there’s a problem that my punting friend brought up that special teams coaches aren’t going to like: wouldn’t increasing the snapTime by 57% and subsequently increasing the snap2puntTime by 16% also increase the chance of the punt getting blocked? Let’s dig into the player tracking data to see if it would matter at all.

To be able to see if this added time for the snap would increase the chances of the ball getting blocked, let’s start by looking at the tracking data to see if we can get a top player speed. The tracking data I looked at for 2020 showed the fastest player speed of 9.07 yards a second for players at the instant the ball was punted – or ~0.91 yards a 1/10th second. This means that the additional 0.49 seconds (1.35 - 0.86) for the snap to have to travel the additional 5 yards for a 20 yard snap would mean the fastest player could travel only 4.46 yards, thus increasing the distance between the punter and the rushers. 

(For reference, the fastest overall player speed is 10.95 yards a second, or ~1.1 yards a 1/10th second. This would put the distance for them at 5.39 yards for 0.49 additional seconds on the 20 yard snap. So technically this is more than the added 5 yards but this speed was likely by a gunner after many seconds to get up to speed. If you average them, (4.46+5.39)/2 = 4.93 yards, so still less than 5 yards)

All in all, I’d imagine the block % would be similar to the current % of 0.66%, or less than 1% of the time (Table 4 below). So probably not a worry anyways, especially since the player tracking data shows that the ball snap speed will always be faster than the fastest player speed.


specialTeamsResult

COUNTA of ID_ALL

Blocked Punt

0.66%

Downed

14.02%

Fair Catch

27.71%

Muffed

2.60%

Out of Bounds

9.92%

Return

38.62%

Touchback

6.47%

Grand Total

100.00%

Table 4


3. Finally, let’s get around to the worst reality of moving the punter back to 20 yards behind the LOS: accepting that you will end up with a shorter total punt distance average (5 yards less, assuming nothing else changes about the punt). However, that’s the total punt distance average, not the net punting average; the net punting average would likely drop fewer than 5 yards for a couple reasons. Not only would the increased time from snap to punt decrease the amount of time a punt returner has to decide whether to fair catch or return (since the gunners are unchanged and should be roughly 5 yards closer to the returner), but the gunners would have more time to get down and cover a punt to avoid it bouncing into the endzone for a touchback.

First off, let’s not scoff at the increase in total punting time (including hang time) in this new 20 yard punt. The total punt time average should be about 7.81 seconds (1.35 20 yard snap avg + 2.13 operation avg + 4.33 hang avg). This is roughly 6.7% more time than the current total punting time average of 7.32 from Table 2 at the beginning again.

To really find how moving the punter back 5 yards would affect the net punt distance average, we would have to create a simulation and model the change. There are many submissions to the Big Data Bowl that could probably find this new expected net distance by simply moving the punt returner 5 yards closer to the LOS while also making the punt coverage team X yards closer for the extra 0.49 seconds of totalPuntTime. I believe this would drastically reduce the amount of cushion that a returner would have when making that all-important fair catch or return decision, thus increasing the % of fair catches.

Unfortunately, I did not create these simulations, I only had time to do some calculations on this reduced punt returner “catch cushion” distance for a few punts via tracking data, you can see in Figure 7 below that for a random punt return example, moving the X-distance of where the returner receives the ball 5 yards closer to the punter causes the distance between gunners and the returner to drop dramatically as well. For this very rough estimation, I made the assumption that the distance the gunners running towards the ball would get closer by increased by 0.4*their speed in yards a second (since a 0.4 second increase in running time at their last speed is a good extrapolation but I should’ve done 0.49 seconds - oops).


Figure 7




When I started out this journey, my thesis was that coaches could reduce the amount of blocked punts by moving the punter back 5 yards. When looking at the tracking data, this doesn’t appear to be the case – the amount of blocks would likely be the same at 0.66% of all punts.

But the thesis changed from the biggest advantage being less blocked punts to being that the additional totalPuntTime should increase the amount of fair catches (and decrease the amount of touchbacks). 

In conclusion, moving the punter back from 15 yards behind the snap to 20 yards should result in:

  • more fair catches

  • less returns (and less chance of the return scoring)

  • less touchbacks

  • the same amount or slightly less blocked punts

While this would lower the total punt distance 5 yards assuming a normal punt, the net punt distance drop should be a lot less (and potentially even not a drop but a gain). If I were a NFL special teams coach, I believe this slight net punt distance decrease (with more fair catches and less touchbacks) would be more preferable than the normal punt net average as I would take the increase in peace of mind and decrease in risk of a dangerous punt return.