Analysis


Bill traded up to pick 7 to get QB Josh Allen.

Josh Allen Trade
Buffalo Bills Buccaneers Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
7 32 12 35
53 22
56 19
Total 32 Total 76
44 2.38

~~~
The Cards moved up to pick 10 to draft Josh Rosen
~~~

Josh Rosen Trade
Cardinals Raiders Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
10 41 15 28
79 18
152 9
Total 41 Total 55
14 1.34

~~~
Saints move up to get Marcus Davenport, DE
~~~

Marcus Davenport Trade
Saints Packers Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
14 29 27 25
147 8
(25) 24
Total 29 Total 57
28 1.97

~~~
Bills go up to get Tremaine Edmunds
~~~

Tremaine Edmunds Trade
Bills Ravens Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
16 32 22 27
154 12 65 21
Total 44 Total 48
4 1.09

~~~
Packers trade again to get Jaire Alexander
~~~

Jaire Alexander Trade
Packers Seahawks Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
18 29 27 25
248 5 76 17
188 5
Total 34 Total 47
13 1.38

~~~
Titans trade up for Rashaan Evans
~~~

Jaire Alexander Trade
Packers Seahawks Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
18 29 27 25
248 5 76 17
188 5
Total 34 Total 47
13 1.38

~~~
Ravens trade 2019 assets to get their QB
~~~

Lamar Jackson Trade
Ravens Eagles Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
32 23 52 22
132 11 125 15
(48) 25
Total 34 Total 62
28 1.82

The first version of my Open Source Draft Simulator I wrote in time to analyze the draft of 2001, and it was based on C++. Later on, in 2007, while trying to get a job, I rewrote the simulator in Ruby because I was trying to impress people that I could learn the language. I didn’t get the job. The Ruby simulator isn’t as statistically versatile, but it works on multiple sports.

I pulled out that ten year old code, in part to see if it still works, and part to see if I could make use of the data I had received from Ourlads. Ourlads does a 32 team needs list, which in general is the hardest part of setting up a draft simulator.

The ruby code, as downloaded, has a dependence on the module ‘rdoc/usage’. It is not essential, and I recommend you comment out or delete the line that says ‘require ‘rdoc/usage”. At that point you’ll have a working program. If all the warnings at the beginning bother you, remove the -w flag from the hash bang (first) line.

On Linux create all the files and then get rid of the ^Ms at the end of the lines. I had originally developed this sim on Windows. You can use perl to remove the ^M characters with something like perl -pre ‘s/\r//g’.

Data sources? Sports Illustrated has a top 100 list that works well. The top 100 list from NFL Draft Scout also yields useful results. I used Ourlads as my ‘serious’ set of needs, but Lance Zierlein has a set, as do other sites.

A typical rule file in my current setup is:

#
# rule file for Cleveland Browns.
#
rule need
#
needlist QB RB OL DB DE
#
cond QB max 1 high 
#
cond RB max 1

To note, with the SI top player set, if you don’t set QB to a “high” need, you’ll end up drafting Saquon Barkley number one. That’s one of the things I like about my own code. Slight changes in the needs of a single team can cause ripple effects throughout the draft.

A typical mock draft using this setup is:

ruby rubysim.rb -y 2018 -s football

This mock draft was made by rubysim.rb on 2018-04-16


Round 1.

1. Cleveland Browns select Sam Darnold, QB.
2. New York Giants select Bradley Chubb, DE.
3. New York Jets select Baker Mayfield, QB.
4. Cleveland Browns select Saquon Barkley, RB.
5. Denver Broncos select Josh Allen, QB.
6. Indianapolis Colts select Quenton Nelson, G.
7. Tampa Bay Buccaneers select Minkah Fitzpatrick, S.
8. Chicago Bears select Roquan Smith, LB.
9. San Francisco 49ers select Calvin Ridley, WR.
10. Oakland Raiders select Denzel Ward, CB.
11. Miami Dolphins select Vita Vea, DT.
12. Buffalo Bills select Josh Rosen, QB.
13. Washington Redskins select Josh Jackson, CB.
14. Green Bay Packers select Derwin James, S.
15. Arizona Cardinals select Connor Williams, OT.
16. Baltimore Ravens select Mike McGlinchey, OT.
17. Los Angeles Chargers select Tremaine Edmunds, LB.
18. Seattle Seahawks select Marcus Davenport, DE.
19. Dallas Cowboys select Da'Ron Payne, DT.
20. Detroit Lions select Harold Landry, DE.
21. Cincinnati Bengals select Leighton Vander Esch, LB.
22. Buffalo Bills select Courtland Sutton, WR.
23. New England Patriots select Derrius Guice, RB.
24. Carolina Panthers select Isaiah Oliver, CB.
25. Tennessee Titans select Maurice Hurst, DT.
26. Atlanta Falcons select Taven Bryan, DL.
27. New Orleans Saints select Christian Kirk, WR.
28. Pittsburgh Steelers select Rashaan Evans, LB.
29. Jacksonville Jaguars select Kolton Miller, OT.
30. Minnesota Vikings select Arden Key, DE.
31. New England Patriots select Isaiah Wynn, G.
32. Philadelphia Eagles select Justin Reid, S.

Round 2.

33. Cleveland Browns select James Daniels, C.
34. New York Giants select Lamar Jackson, QB.
35. Cleveland Browns select Mike Hughes, CB.
36. Indianapolis Colts select Jaire Alexander, CB.
37. Indianapolis Colts select Ronnie Harrison, S.
38. Tampa Bay Buccaneers select Carlton Davis, CB.
39. Chicago Bears select D.J. Moore, WR.
40. Denver Broncos select Hayden Hurst, TE.
41. Oakland Raiders select Donte Jackson, CB.
42. Miami Dolphins select Ronald Jones II, RB.
43. New England Patriots select Mike Gesicki, TE.
44. Washington Redskins select Will Hernandez, G.
45. Green Bay Packers select Orlando Brown, OT.
46. Cincinnati Bengals select Billy Price, C.
47. Arizona Cardinals select Chukwuma Okorafor, OT.
48. Los Angeles Chargers select Rasheem Green, DT.
49. Indianapolis Colts select Sam Hubbard, DE.
50. Dallas Cowboys select James Washington, WR.
51. Detroit Lions select Brian O'Neill, OT.
52. Baltimore Ravens select Jessie Bates, S.
53. Buffalo Bills select Deon Cain, WR.
54. Kansas City Chiefs select Tim Settle, DT.
55. Carolina Panthers select Lorenzo Carter, DE.
56. Buffalo Bills select Martinas Rankin, OT.
57. Tennessee Titans select Armani Watts, S.
58. Atlanta Falcons select Harrison Phillips, DT.
59. San Francisco 49ers select Uchenna Nwosu, LB.
60. Pittsburgh Steelers select Dallas Goedert, TE.
61. Jacksonville Jaguars select Anthony Averett, CB.
62. Minnesota Vikings select DeShon Elliott, S.
63. New England Patriots select Tyrell Crosby, OT.
64. Cleveland Browns select Ogbonnia Okoronkwo, DE.

Round 3.

65. Buffalo Bills select Darius Leonard, LB.
66. New York Giants select Sony Michel, RB.
67. Indianapolis Colts select Desmond Harrison, OT.
68. Houston Texans select Mark Andrews, TE.
69. New York Giants select Mason Rudolph, QB.
70. San Francisco 49ers select Dante Pettis, WR.
71. Denver Broncos select Kerryon Johnson, RB.
72. New York Jets select Nick Chubb, RB.
73. Miami Dolphins select Jerome Baker, LB.
74. San Francisco 49ers select Equanimeous St. Brown, WR.
75. Oakland Raiders select Malik Jefferson, LB.
76. Green Bay Packers select Michael Gallup, WR.
77. Cincinnati Bengals select Ian Thomas, TE.
78. Washington Redskins select Frank Ragnow, C.
79. Arizona Cardinals select Geron Christian, OT.
80. Houston Texans select Kyzir White, S.
81. Dallas Cowboys select Jamarco Jones, OT.
82. Detroit Lions select Jeff Holland, DE.
83. Baltimore Colts select Josh Sweat, DE.
84. Los Angeles Chargers select Trenton Thompson, DT.
85. Carolina Panthers select D.J. Chark, WR.
86. Kansas City Chiefs select Braden Smith, G.
87. Los Angeles Rams select Kemoko Turay, DE.
88. Carolina Panthers select Dorance Armstrong Jr., DE.
89. Tennessee Titans select Tarvarus McFadden, CB.
90. Atlanta Falcons select Chad Thomas, DE.
91. New Orleans Saints select Jordan Lasley, WR.
92. Pittsburgh Steelers select Shaquem Griffin, OLB.
93. Jacksonville Jaguars select Rashaan Gaulden, CB.
94. Minnesota Vikings select Tre'Quan Smith, WR.
95. New England Patriots select Anthony Miller, WR.
96. Buffalo Bills select Simmie Cobbs Jr., WR.
97. Arizona Cardinals select Joseph Noteboom, OT.
98. Houston Texans select Nick Nelson, CB.
99. Denver Broncos select Rashaad Penny, RB.
100. Cincinnati Bengals select Jaylen Samuels, RB.

There are a number of ways to analyze a draft trade. You can do it by comparing the actual players selected (though that takes time), you can do it by trade value, as measured by a trade chart, or you can do it by using the Pro Football Reference statistic approximate value. There are charts of approximate value per draft choice and those charts can be used to calculate trade values and risk immediately.

The recent blockbuster trade by the Jets involves substantially more risk than the last five major trade ups in the NFL (here, here and here). To make these calculations I assume the Jet’s pick next year will be the 10th pick in the second round, hence the 42nd pick.

Trade for 3rd Pick
Jets Colts Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
3 45 6 39
37 28
49 20
42 25
Total 45 Total 112
67 2.49

 

With a risk ratio of 2.7 2,5, the risk incurred by the Jets is a bit less to what Washington put up with in the RGIII trade. It’s also comparable to the Earl Campbell trade. The last two trades were high risk – never paid back kinds of trades (though with Earl Campbell, the team’s competitiveness during his peak years may have been enough emotionally for the Oilers).

Update: recalculated risk, which now stands at 2.5 instead of 2.7.

I’m doing a brief review of Python again, as it relates to things that draft fans might like, and note that the random and statistics modules all seem pretty useful.

So, the design goal here is: can we make a good enough simulation to tell us something about draft strategy. Can we learn something about BPA versus need by using Python code? Right now I don’t have an answer, but I can show you some of the approach so far.

One thing I’ve found if you’re moving from another language into Python, that you can eliminate a lot of scope issues if you’ll do certain substantial bits of work in a Python class. The scope of self variables is easy to measure and then you’re not wondering whether the common variable in Python has exactly the same scope, as say, a lexical in Perl.

So for now, we present the Playa class, a “draftable” object.


import random
from statistics import mean
from pprint import pprint

random.seed()

class Playa:
    def __init__(self, oldid=0):
        self.value = random.randrange(1,101)
        self.pos = self.getposition()
        self.id = oldid + 1
        self.drafted = False
        self.meanshift = -1000.0

    def __repr__(self):
        return "Playa id:{0:3d} pos:{1:s} val:{2:3d}".format( self.id, self.pos, self.value )

    def out(self):
        return "id:{0:3d} pos:{1:s} val:{2:3d}".format( self.id, self.pos, self.value )

    def getposition(self):
        poslist = ["QB","RB","WR","FL","SR","TE","LT","LG","RT","RG","OC"]
        return poslist[random.randrange(0,11)]

    def draft(self):
        self.drafted = True

This object will allow us to generate players and then associate them with teams. Players can be identified by their id, a draft value can be derived from their real value (1-100), and a logical variable shows whether they are drafted or not.

I’m only using offensive positions in this simulation. And since more and more teams use a slot receiver as opposed to a fullback, we have “SR” in our position charts.

If with 32 teams, you generate 320 players per draft, then the values of 1 to 100 break nicely, as real value of 91 to 100 are first round talent, 81 to 90 are second round talent, and so on.

This would have been done earlier, but Pro Football Reference dropped its very handy chart of draft position versus AV. I started missing it more and more, and using the Wayback Machine I found it here.

The three major QB trades of 2017 were the trade for Mitch Trubisky, Patrick Mahomes, and Deshaun Watson. We will analyze them in sequence.

Mitchell Trubisky Trade
Chicago Bears 49ers Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
2 46 3 45
67 19
111 12
(71) 21
Total 46 Total 97
51 2.11

 

The Bears have a trade risk comparable to a typical trade for a #1 draft choice and a quarterback at that. The trade has less fundamental risk than Goff or Wentz. The comparable that comes to mind is Eli Manning. By contrast, the delta AV of the other two trades are substantially less.

Patrick Mahomes Trade
Chiefs Bills Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
10 41 27 25
91 17
(25) 24
Total 41 Total 66
25 1.61

 
Mahomes merely has to give six seven good years, and the trade ends up warranted. The issue in the case of Deshaun Watson is keeping him upright. A fistful of whole years almost as good as his freshman year in the NFL and he would end up bordering on Hall of Fame numbers.

Deshaun Watson Trade
Texans Browns Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
12 35 25 24
4 44
Total 35 Total 68
33 1.94

 

So here is wishing Deshaun Watson a healthy career from now on.

I didn’t expect another trade of this magnitude, and so quickly. But let’s crunch the numbers on this trade, and compare them to the 2016 Titans-Rams trade.

The Browns received from the Eagles, the #8, #77 and #100 picks in this draft. In 2017 they receive the Eagles first round pick. In 2018 they receive the Eagles 2nd round pick. The Eagles have received the #2 pick in this draft, and the Browns 4th round pick in 2017.

For the purposes of this calculation, we assume the Eagles will pick 20th in 2017 and 2018, and that the Brown in 2017 will rise from 2nd to 10th.

 

The AV costs of the 2016 Eagles Browns trade.
Eagles Browns Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
2 46 8 40
(138) 8 77 12
100 17
(20) 29
(52) 22
Total 54 Total 120
66 2.22

 

The Delta AV for both trades are the same, but since the Eagles received a lot less AV, the relative ratio of AV given to AV received is higher. The trade cost is the same, but the purchase is more highly leveraged.

Determining how to assess draft trades in the NFL is not hard (see here, here, and here). Ever since Pro Football Reference went through the trouble of determining what average AV can be assigned to a draft slot, it’s merely a matter of counting. The technique has some variance, as the draft slot of a future pick is not known. Even so, with a bit of conservative extrapolation, you can still get a feel for the overall cost of a trade.

 

First, the numbers:

 

The AV costs of the 2016 Rams Titans trade.
Rams Titans Results
Pick Average AV Pick Average AV Delta AV Risk Ratio
1 51 15 28
113 14 43 24
177 5 45 25
76 17
(20) 29
(84) 13
Total 70 Total 136
66 1.94

 

In the data above, we assume that the Rams will improve 5 slots in draft placement, so that the first and third they sent to the Titans would be picks 20 and 84. If the Titans end up 18th or 23rd, it’s notable that the difference in value at this point is less than the point-to-point deviation, so that kind of change won’t affect the calculation much. Pro Football Reference’s raw data are moderately noisy.

The Rams total investment is 136 AV, roughly equal to the career value of John Elway. That’s not entirely accurate, as the Rams actually received three picks in return, and if the other two return 19, then the player they pick at #1, to return the value of the investment, only has to yield 117 AV.Now, 117 points is about mid in between Phillip Rivers and Aaron Rogers in value.

Update: Johnny Unitas, at 114, is a closer comparable.

In terms of risk, the trade is riskier than the Eli Manning trade, and less risky than the RG III trade or the Earl Campbell trade. For 9 more AV than the RG III trade, they received 24 more AV in return.

Best of luck to the Rams. I hope their picks work out well for them.

The NFL draft is a kind of auction, with auction-like dynamics. It’s also akin to a marriage. It only takes one, not a crowd, to get married and the opinion of the one outweigh the many. When analyzing the draft, I’ve been known to say things like between three players of the same true value, the one that gets drafted is the one whose value is most overestimated (1). I’ve also said things like one scouting opinion isn’t important, but the envelope of opinions is. The distribution of those opinions is crucial to knowing when a player can be drafted (2).

The distribution of player rankings can affect the possible draft positions of a player.

The distribution of player rankings can affect the possible draft positions of a player. Hand drawn curves on a brand new pen tablet, so they’re not perfect curves. Imagine the purple curve with more extensive tails.

In the diagram above, there are three distributions, with different peaks, means and spreads. Player A, in black, has a tight distribution of values and barring any issues with uniqueness of position, there is a consensus where he will be drafted. Player B, in red, has a broader distribution, but is unlikely to suffer more than half a round of variance in draft position. Player C, in purple, has an envelope encompassing two whole rounds of the draft. It’s the player C types that create a lot of controversy.

Did_Dallas_Draft_A_Player_Or_A_Band_Im_Not_So_Sure

Travis Frederick and ZZ Top: Separated at birth?

The player the Dallas Cowboys drafted in the first round, Travis Frederick, is exactly one of those types. He was highly ranked before the combine, but suffered because of his bad 40 time. People like Gil Brandt, who had him ranked 27th best at the time, dropped him because of his 40 time. Perusing various links, such as this one, you see rankings ranging from 31 (Gary Horton) into the 90s. Now please note that draft pundits really don’t count, NFL teams do. But for the sake of argument, we’re using media scouts as an estimator of the envelope of NFL opinions. And that envelope of values encompass two whole rounds of variance.

So, what happens when you must have a player whose valuation envelope is a broad distribution? This player must be taken pretty far from the mean, in the tails of the “high value” side, or else you risk losing him (3). What is guaranteed though, is that the pundits on the other side of the mean from you will undoubtedly scream bloody murder. That’s because a draft pundit’s opinion is his life’s blood, and they make their money validating and defending that opinion, usually in print, and sometimes on television. That it’s one of many doesn’t matter if that’s how you make your living. So of course pundits will scream.

2013 was a draft with few good players. If estimates are valid that there were only 16 or so players truly worth a first round pick, then by default you’re overdrafting your quality by a half round by the middle of the first round. If the span of Frederick’s valuations really ran from, say, mid second to the beginning of the fourth, then the so-called overdraft is not, it’s entirely the function of three things: first, the perceived need for the player and second, such a broad valuation envelope that Dallas had to draft him in the tails of the distribution. Third factor, the lack of talent overall in the draft that led to overdrafting in general.

~~~
Footnotes

1. Jonathan Bales, before he became a New York Times contributor, favored this comment (common sense, IMO) and used it to help validate a pet drafting theory of his. I never saw enough rigor in his theory to separate it from the notions of BPA or need, as it was more a collective efficiency concept. IMO the notion hardly led to the invalidation of BPA or needs based drafting.

2. In the early 2000s, I wrote a Monte Carlo simulator of the draft, which explicitly used those distributions to estimate where players would be drafted. More discussion of that code, released as a Sourceforge project, is here.

3. Let me note that in “must have” situations, teams whose draft record no one complains about .. New England say .. will draft players above their worth. Belichick’s rationale, given in the link, is instructive. An excerpt is:

Now, the question is always, “How much do they like him and where are they willing to buy?’ I’m sure for some teams it was the fourth round. For some teams it was the third round. But we just said, ‘Look we really want this guy. This is too high to pick him, but if we wait we might not get him, so we’re going to step up and take him.’

PS – tskyler, a Cowboys Zone forum contributor, has a very nuanced fan analysis of the Frederick draft here, one worth reading.

This has been part of an ongoing conversation among Dallas fans, and perhaps among any of the 9 teams, from the Redskins to Patriots to the Vikings, that traded up in the first round of the 2012 NFL draft. There are some new tools for the analyst and the fan, and these include: (1) Pro Football Reference’s average AV per draft choice list, (2)  Pro Sports Transactions’ NFL draft trade charts, and (3) The Jonathan Bales’ article on Dallas Cowboys.com where he analyzes a series of first round trades up from 2000 to 2010. He concludes that in general, the trade up does not return as much value as it gives.

I suspect that Jonathan’s conclusion is also evident in the fantasydouche.com plot we reposted here. The classic trade chart of Jimmy Johnson really does overvalue the high end draft choices. You’re not paying for proven value, but rather potential when you trade up. I suspect by the break even metric we chose, comparing relative average AVs, that many draft trades never pay off, in part because people pay too much for the  value they receive. This is most evident in trading a current second or third and a future first for a current first round draft choice. These trades tend almost to be failures by design, and smack ultimately of desperation, true even when the player obtained (e.g. Jason Campbell) actually has some skills.

That said, how many of these players exceed the average abilities of the slot in which they were drafted? Now that we have the PFR chart, this is another question that can be asked of the first round players. Note that Jonathan Bales’ study doesn’t really answer the question of how good the player becomes, in part because the time frame chosen doesn’t allow the player adequate development. I started in the year 2000 1995, ended in the year 2007. I identified 67 players in that time frame, and I compared the AV for each player as given by the weighted average on the PFR player page. I’ll note that the player page and the annual draft pages do not agree on players’ weighted career accumulated value, so I assumed the personal pages were more accurate.

As far as a scale, we’re using the following:

AV relative to average Ranking
-25 AV or more Bust
-24 to -15 AV Poor
-14 to -5 AV Disappointing
-4 to +4 AV Satisfactory
+5 to +14 AV Good
+15 to +24 AV Very Good
+25 AV and up Excellent

 
Note there are some issues with the scale. Plenty of players from 1995 through 2007 are still playing, and their rankings are almost certainly going to change. In particular, Eli Manning at +24 and Jay Cutler at +23 have a great chance to end up scored as Excellent before the next season is over. Jason Campbell is at +19, and if he starts for a team for one season, he will end up with a ranking of Excellent. Santonio Holmes (+19) also has a shot at the Excellent category.

Players in the years 2006 and 2007 in lower categories (Manny Lawson at +7, Joe Staley at +4, Anthony Spencer at 0 ) could end up as Very Good, perhaps even Excellent if their careers continue.

The scoring ended up as

Scale Number Percent as Good Percent as Bad
Excellent 14 20.9 100.0
Very Good 9 34.3 79.1
Good 13 53.7 65.7
Satisfactory 10 68.7 46.3
Disappointing 7 79.1 31.3
Poor 5 86.6 20.9
Bust 9 100.0 13.4

 
Data came from the sources above. A PDF of these raw data is here:

NFL Trade Ups

Update: Increased the dates of players considered from 2000-2007 to 1995-2007. Moved Ricky Williams back to 1999.

These are numbers that have been published before, but not presented as artfully as this. PFR has the average draft value of a draft pick on a per draft slot basis. They then find a representative player with that AV. Also, they’ve listed the best picks in the slot as well. Looking to pick a world beater?

The url for this page suggests that  the page is temporary. Hopefully it will become a permanent part of Pro Football Reference.

Update: The url has been removed from the Pro Football Reference site, but is available from the Wayback Machine here.

Next Page »