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.

I suspect this whole narrative was kick started by an article in Cowboys Nation that invented something they called the even 4-3. That nothing prior to CN ever talked about a Tom Landry even 4-3 did not stop them, nor did books that mentioned that Tom Landry’s first two defenses were the 4-3 inside and the 4-3 outside. Again, you don’t have to believe me. Read Peter Golenbock’s book on the Dallas Cowboys. We’ll start quoting from page 47 (1).

As a player Landry would not have been presumptive enough to try to formally teach his system to the other defensive players, but as defensive coach, it became his job. He designed a defense he called “the inside 4-3” and “the outside 4-3”.

Going to stop. He didn’t call his defense the even 4-3. The names were 4-3 inside and 4-3 outside.

It was revolutionary because everyone in the past everyone played man-to-man defense. In the past brute strength had been the requisite. You lined up opposite your man, and you tried to beat the crap out of him, using a forearm or your shoulder or a headslap or grabbing him by the jersey and throwing him to one side in an attempt to get by him to make the tackle.

Note that a “gladitorial style” has a lot in common with a modern two gap. It’s a head on collision with the man in front of you.

So what were these revolutionary new assignments? Turns out we know because Vince Lombardi took the 43 inside and outside to Green Bay and those defenses he used for the rest of his coaching career. Later, a book called “Vince Lombardi on Football” was written and in that book, every assignment of every player was documented. We’ll borrow some images from my article on the 43 Flex.


To note, the 4 linemen in the 4-3 inside/outside are not flush on the line. The tackles are flexed, or about three feet behind the line.

Assignments for the line are single gaps. In the inside, the tackles take an A gap and the middle linebacker takes the B gaps. In the outside, the tackles take a B gap and the middle linebacker is responsible for the two A gaps.


Vince Lombardi on the 4-3 inside


Vince Lombardi on the 4-3 outside

Ok, so maybe his first defenses were one gap defenses. Perhaps the even 4-3 was a change of pace? Perhaps the Flex was a two gap defense? Again, the evidence suggests otherwise. Golenbock, quoting Dick Nolan (2).

What Tom came up with was the Flex, a combination of the 4-3 inside and the 4-3 outside defenses. On one side you’re playing an inside, and on the other side, you’re playing an outside.

We had been a strictly an inside-outside 4-3 team, like the old Giants, and then in ’64, we used the Flex as a change-up defense…

So, no, Dallas didn’t use a third defense, and neither did the Tom Landry Giants. Those defenses were one gap defenses, and so was the Flex. This can be confirmed by Lee Roy Jordan himself (1).

In a nutshell, here is the best layman way I can describe the Flex. There are eight natural gaps on the front line, and in the 4-3 that most teams were using, the four down linemen were asked to control two gaps each. In essence, Coach Landry created a picket fence look, with our right end and left tackle lined up in the conventional spot on the line but the left end and right tackle lined up a few feet off the line, giving them better pursuit angles. The linemen had to control only one gap. The middle linebacker spot now had to control the two gaps on either side of the center. The defense allowed the defensive backs and linebackers to force the play to go where the running backs didn’t want to go. It sure helped me make a lot of tackles during my career. It was a revolutionary defense and created a lot of the motion and spread offenses you see today.

If the description seems confusing, please note that hard core Tom Landry disciples describe the defense “as a QB might see it”, as opposed to the more conventional “as a MLB might see it”. So, in the description above, Bob Lilly or Randy White would have been the left tackle, whereas in conventional notation, they would be considered right tackles.


43 flex. Left to right, front is “4-2-2-5”.

Just to be sure, I got on Facebook and asked Pat Toomay about the notion that Tom used two gap defenses. He replied. To quote Pat:

In a straight inside or outside 4-3, linemen take outside shoulders while MLB has two gap. Not a good run defense, although slanting one way or another was an option for other teams but not for Landry. Hence the Flex. Outside blow-and-go 4-3 was for obvious passing situations. In 3-4 defenses, everybody up front has 2-gap. You need fire-plug linemen for that one. By comparison, Landry’s guys were tall and quick, who were required to take a shoulder rather than go head up, a battle they were unlikely to win, if that makes sense.

In summary, Tom’s defenses were all one gap defenses, where the middle linebacker covered two gaps. As Pat Toomay astutely points out, his linemen were not built to handle a two gap. They were chosen to penetrate and be disruptive. But as Lee Roy Jordan does point out, other defenses of his era did two gap. So the search for the 43 two gap really should extend to other innovative defenders of the era, which would be the Clark Shaughnessy/George Allen Chicago Bears or perhaps the elite defensive teams of the Detroit Lions. I would suggest looking to those teams using 4-3 over and under defensive fronts, as having a tackle over the center lends itself to such a scheme.


1. Golenbock, p 47
2. Golenbock, p. 233
3. Jordan and Townsend, chapter 10, “The Summer of 1964”.


Flynn, George L (ed), Vince Lombardi On Football, Wallynn Inc, 1973

Golenbock, Peter, Cowboys Have Always Been My Heroes, Warner Books, 1997

Jordan, Lee Roy and Townsend, Steve, Lee Roy: My Story of Faith, Family, and Football, Wood Publishing, 2017 [ebook]

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.

Intended to be anecdotal and also suitable for families, I didn’t expect to get a lot from this book.


As many drinking stories as have accumulated with respect to Bobby Layne, I was worried that all I would get would be anecdotes. But no, a careful reading of this small book yields some real information on the history of play in the NFL. For example, this bit from his chapter on defenses (1):

During the early 1950’s, the big years for the Detroit Lions, the defenses were not as complicated as today. The flanker back, who is really an end, revolutionized pro football. Until this innovation, and I don’t know who started it, defenses were mostly the same. Nearly every team played a 5-2 with four guys deep to take care of the passes.

Of course there were adjustments but basically the five men up front were keyed to stop any inside running plays. The two linebackers were responsible for the outside and short passes, while the four men in the backfield played tight to help out with a tackle or be ready for a pass.

Later, in a chapter called “Coaching”, he talks about the difference between the rush coming from a five man versus a four man line(2):

Even in the past five years, play has changed considerably. There used to be nothing but five man lines, with two linebackers, and four deep men. The day of the five man line is gone, simply because the offense introduced a new receiver with the flanker back.

There used to be tough, agile ends – guys like Bill McPeak, now coach of the Redskins; Norm Willey of the Eagles and Ed Sprinkle of the Bears, who could escape the blockers by force and guile. It was the end’s job, in those days, to put pressure on the quarterbacks.

With the coming of the four man line, the ends disappeared altogether. Guys like McPeak, Willey and Sprinkle would be linebackers today. The four man line is made up of the biggest men on the team. Besides being big, today’s four defensive linemen are usually so tall, you’d think they would be playing basketball instead of harassing quarterbacks.

In today’s game, you will see those tall linemen charging up the middle. The toughest job for a quarterback is to see over or under them, so he can spot his receivers.

There are sections where he discusses the increasing specialization of the NFL “no such thing as a triple threat back in professional football” and the single wing “good offense, but it takes as much out of you as the opposition”. He makes it clear he prefers to call plays, talks about the art of play calling, gives his opinions of the GOAT, as far as QBs go (Sammy Baugh. Joe Schmidt is his linebacker GOAT). Overall, not as much coaching info as a coaching guide, but it’s arguable that Bobby Layne was the one of the best QBs of the 1950s, and the opinions of such an expert do carry some weight.

It’s useful on a coaches or fan’s bookshelf. Just enough technique to be useful.

Notes and References

1. Layne and Drum, pp 52-53
2. Layne and Drum, pp 118-119


Bobby Layne and Bob Drum. “Always on Sunday”, Prentice-Hall, New York, 1962.

I was originally looking for as much information on Robert Neyland’s methods of playing football as I could find. The best reference is probably Andy Kozar’s “Football as a War Game” but finding cheap copies these days is next to impossible. Dr Kozar’s book is made of annotated notes of General Neylands, and originally could be had for $75.00. On Amazon these days, one copy is being offered for a bit more than $2800.00. So, that said, I read Dan Gilbert’s book, which is a decent history of the man but a mediocre football book.


All that said, it became evident that there was an early standout on Robert Neyland’s teams, and that man was Bobby Dodd. Bobby Dodd was a quarterback on 3 of Neyland’s best teams, and later became a coach with the Georgia Tech Yellowjackets. In 1952, Bobby Dodd won a college national championship and in 1954, he wrote a book on football.


The timing of the book is useful, as it’s between the 1950 publication date of Don Faurot’s book and the 1957 publication of Wilkinson’s tome on defense. Anything that can give me a snapshot in time of what people think is useful, and this gives an opinion of a respected, Neyland educated coach. Interestingly, when Bobby Dodd retired from coaching Georgia Tech, his replacement was Bud Carson, the same Bud Carson who became the well known defensive coordinator for the 1970s Pittsburgh Steelers (and where the first versions of the Tampa 2 appeared).

If I had to hazard a guess, from the amount of space devoted to it, then I would say that Bobby understood the 6-2 better than any other defense. It was the first defense he introduces, and in the shifted 6-2, the defense he recommends against the single wing. The next base defenses he introduces are the 5-3-2-1, as he calls it (the 5-3) and the image that follows shows a 5-3 from an offensive context.


Later he introduces the defense he calls the 5-4-2, and later says the best of them is the 5-4 Oklahoma. For Dodd, it was a defense against the split T.


His final base defense was his goal line defense. Against spreads, he gives advice that would feel at home with anyone who has read Dana Bible’s book.


There is a lot in Bobby Dodd’s book, that I haven’t covered, as he gives an enormous amount of drill, and then also his philosophy of football, which was that it had to be fun, or else the students wouldn’t enjoy it. In many of the psychological aspects of football, his approach is very modern, and the book would not hurt any coach to have on his bookshelf.

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


class Playa:
    def __init__(self, oldid=0):
        self.value = random.randrange(1,101)
        self.pos = self.getposition() = 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.pos, self.value )

    def out(self):
        return "id:{0:3d} pos:{1:s} val:{2:3d}".format(, 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.