Statistics


Purely from a personal fan perspective, a better week than others. Both of the teams I follow won this weekend. Atlanta squeaked by Tampa Bay, and Dallas demolished Jacksonville. Why Jacksonville single covered Cole Beasley is anyone’s guess.

Kansas City fell from the ranks of the unbeaten and Baltimore, with a terrific defensive performance, kept its high ranking at the top of the SRS charts.

Just as a reminder, SRS as calculated by this code corresponds exactly to the old version used by Pro Football Reference. You can test this by using the Wayback Machine to say, 2012 and comparing results.

Looking at ESPN’s QBR stat, do you get the impression it is heavily influenced by a couple huge games? Ryan Fitzpatrick is still the fifth ranked quarterback in the whole league.

Global Statistics:
Games  Home Wins HwPct Winning_Score Losing_Score Margin
93         59     63.4      28.73        18.46     10.27

Calculated Pythagorean Exponent:  2.69


Rank  Team    Median  GP   W   L   T  Pct   Pred   SRS    MOV   SOS
------------------------------------------------------------------------
1     LA       9.5     6   6   0   0 100.0  79.7  11.27  13.00 -1.73
2     KC       7.5     6   5   1   0  83.3  64.6   8.12   7.17  0.95
3     NO       6.0     5   4   1   0  80.0  66.3   5.09   8.00 -2.91
4     BAL     12.5     6   4   2   0  66.7  86.4  11.87  12.67 -0.79
5     LAC      6.5     6   4   2   0  66.7  62.8   4.43   5.17 -0.73
6     CIN      5.5     6   4   2   0  66.7  56.5   4.41   2.67  1.74
7     NE       5.0     6   4   2   0  66.7  61.4   3.73   4.67 -0.94
8     MIA      5.0     6   4   2   0  66.7  42.7  -1.67  -2.50  0.83
9     WAS      6.0     5   3   2   0  60.0  51.3  -1.17   0.40 -1.57
10    CHI      2.0     5   3   2   0  60.0  73.0   6.65   8.60 -1.95
11    CAR      2.0     5   3   2   0  60.0  54.0   0.44   1.40 -0.96
12    PIT      1.5     6   3   2   1  58.3  57.0   5.91   2.83  3.08
13    MIN      1.0     6   3   2   1  58.3  46.3  -3.79  -1.33 -2.46
14    GB       0.5     6   3   2   1  58.3  51.8  -2.05   0.67 -2.72
15    NYJ      2.0     6   3   3   0  50.0  61.3   2.54   4.33 -1.79
16    PHI      1.0     6   3   3   0  50.0  60.5  -0.87   3.33 -4.20
17    JAX      1.0     6   3   3   0  50.0  40.4  -2.14  -2.83  0.69
18    TEN      1.0     6   3   3   0  50.0  36.4  -4.41  -3.33 -1.08
19    SEA      0.5     6   3   3   0  50.0  63.2   4.93   4.33  0.59
20    HOU      0.0     6   3   3   0  50.0  49.0  -3.71  -0.33 -3.38
21    DAL     -0.5     6   3   3   0  50.0  61.7   1.62   3.33 -1.71
22    CLE     -1.5     6   2   3   1  41.7  39.1  -0.18  -3.83  3.65
23    DET     -2.0     5   2   3   0  40.0  43.9  -2.37  -2.40  0.03
24    TB      -3.0     5   2   3   0  40.0  36.6  -3.49  -6.40  2.91
25    ATL     -3.5     6   2   4   0  33.3  40.7  -2.25  -4.17  1.91
26    DEN     -3.5     6   2   4   0  33.3  33.8  -0.54  -5.67  5.13
27    BUF     -9.0     6   2   4   0  33.3  16.7  -9.94 -10.33  0.39
28    SF      -5.5     6   1   5   0  16.7  37.5  -5.69  -5.17 -0.52
29    IND     -6.0     6   1   5   0  16.7  38.8  -3.85  -4.67  0.82
30    NYG     -6.0     6   1   5   0  16.7  29.4  -7.43  -7.50  0.07
31    ARI     -6.5     6   1   5   0  16.7  19.5  -7.47  -9.50  2.03
32    OAK    -12.0     6   1   5   0  16.7  22.0  -7.96 -11.00  3.04
Advertisements

In the chase for teams that might approach the 1950 Los Angeles Rams as the highest scoring team in history, the Saints are now scoring at a pace of 36.0 points a game. The LA Rams and Kansas City Chiefs are just a few points behind. That said, it’s an odd season. The Falcons are 1-4, the whole NFC East is in a bad way, and it’s reasonable to ask if John Gruden trading Khalil Mack didn’t flip everything for the Chicago Bears.

Global Statistics:
Games  Home Wins HwPct Winning_Score Losing_Score Margin
78         50     64.1      28.31        18.35      9.96

Calculated Pythagorean Exponent:  2.96


Rank  Team    Median  GP   W   L   T  Pct   Pred   SRS    MOV   SOS
------------------------------------------------------------------------
1     LA      12.0     5   5   0   0 100.0  84.4  11.84  15.00 -3.16
2     KC      10.0     5   5   0   0 100.0  71.2   9.91   9.20  0.71
3     CIN     10.0     5   4   1   0  80.0  61.8   5.13   4.60  0.53
4     NO       6.0     5   4   1   0  80.0  67.8   6.51   8.00 -1.49
5     CAR      5.0     4   3   1   0  75.0  59.8   1.76   3.25 -1.49
6     CHI      4.5     4   3   1   0  75.0  83.0   9.02  11.50 -2.48
7     BAL     12.0     5   3   2   0  60.0  83.2  11.62  11.00  0.62
8     NE       7.0     5   3   2   0  60.0  65.0   2.77   5.00 -2.23
9     MIA      7.0     5   3   2   0  60.0  37.9  -3.11  -3.60  0.49
10    JAX      5.0     5   3   2   0  60.0  62.4   5.05   3.20  1.85
11    TEN      3.0     5   3   2   0  60.0  50.9  -3.31   0.20 -3.51
12    LAC      2.0     5   3   2   0  60.0  53.9   1.03   1.40 -0.37
13    TB       1.5     4   2   2   0  50.0  34.5  -2.34  -6.75  4.41
14    WAS      1.0     4   2   2   0  50.0  46.5  -2.94  -1.00 -1.94
15    PIT      0.0     5   2   2   1  50.0  55.4   6.18   2.00  4.18
16    GB       0.0     5   2   2   1  50.0  50.6  -2.77   0.20 -2.97
17    CLE      0.0     5   2   2   1  50.0  50.7   4.63   0.20  4.43
18    MIN      0.0     5   2   2   1  50.0  39.2  -6.14  -3.60 -2.54
19    DET     -2.0     5   2   3   0  40.0  43.2  -3.86  -2.40 -1.46
20    SEA     -2.0     5   2   3   0  40.0  51.3   1.97   0.40  1.57
21    PHI     -2.0     5   2   3   0  40.0  49.3  -4.08  -0.20 -3.88
22    HOU     -3.0     5   2   3   0  40.0  44.4  -4.49  -1.80 -2.69
23    DAL     -3.0     5   2   3   0  40.0  39.4  -4.31  -2.60 -1.71
24    NYJ     -4.0     5   2   3   0  40.0  61.5   3.75   3.60  0.15
25    DEN     -4.0     5   2   3   0  40.0  31.0  -1.93  -6.20  4.27
26    BUF    -11.0     5   2   3   0  40.0  13.5 -10.91 -11.00  0.09
27    ARI     -3.0     5   1   4   0  20.0  16.6  -6.78  -9.40  2.62
28    IND     -4.0     5   1   4   0  20.0  38.6  -4.72  -4.00 -0.72
29    NYG     -5.0     5   1   4   0  20.0  35.1  -3.90  -4.80  0.90
30    ATL     -6.0     5   1   4   0  20.0  35.4  -2.90  -6.00  3.10
31    SF      -8.0     5   1   4   0  20.0  34.7  -6.77  -5.60 -1.17
32    OAK     -8.0     5   1   4   0  20.0  27.3  -5.91  -8.40  2.49

Somewhere around the third or fourth game the Simple Ranking System begius to resolve, and it did resolve on the third week, but the results were weird. What to think of New England as the 29th team in the NFL? Not as much. Even the fourth week will have its oddities, as it considers the Baltimore Ravens as the best team in the league, probably off the massive win in week 1. The other early story line is whether or not this is a historic season for scoring. Last I checked, the 1950 Las Angelas Rams held the scoring lead for a season at 38.8 points a game, and the 2018 Rams are clipping along at a mere 35 points a game. Not quite there yet.

Global Statistics:
Games  Home Wins HwPct Winning_Score Losing_Score Margin
63         38     60.3      28.21        18.30      9.90

Calculated Pythagorean Exponent:  3.16


Rank  Team    Median  GP   W   L   T  Pct   Pred   SRS    MOV   SOS
------------------------------------------------------------------------
1     LA      16.0     4   4   0   0 100.0  91.2  12.78  18.25 -5.47
2     KC       7.5     4   4   0   0 100.0  67.6   4.77   7.50 -2.73
3     BAL     12.5     4   3   1   0  75.0  88.3  13.59  14.50 -0.91
4     JAX      8.0     4   3   1   0  75.0  80.7   6.43   8.00 -1.57
5     MIA      7.5     4   3   1   0  75.0  42.7  -3.32  -2.00 -1.32
6     CIN      6.0     4   3   1   0  75.0  58.5   9.26   3.25  6.01
7     NO       4.5     4   3   1   0  75.0  59.7   1.97   4.00 -2.03
8     CHI      4.5     4   3   1   0  75.0  84.5   8.87  11.50 -2.63
9     TEN      3.0     4   3   1   0  75.0  52.1   0.41   0.50 -0.09
10    WAS     14.0     3   2   1   0  66.7  76.6   4.77   6.67 -1.89
11    CAR      8.0     3   2   1   0  66.7  63.0   6.32   3.67  2.65
12    GB       0.5     4   2   1   1  62.5  58.1   0.74   2.25 -1.51
13    TB       1.5     4   2   2   0  50.0  33.5  -4.03  -6.75  2.72
14    PHI      0.5     4   2   2   0  50.0  51.0   0.37   0.25  0.12
15    SEA      0.0     4   2   2   0  50.0  53.8   0.34   1.00 -0.66
16    DEN     -1.5     4   2   2   0  50.0  38.8   0.31  -3.25  3.56
17    NE      -2.0     4   2   2   0  50.0  59.6   0.48   2.75 -2.27
18    DAL     -3.0     4   2   2   0  50.0  39.2  -4.28  -2.50 -1.78
19    LAC     -4.0     4   2   2   0  50.0  43.9  -3.04  -2.25 -0.79
20    CLE     -1.5     4   1   2   1  37.5  48.5  -1.63  -0.50 -1.13
21    PIT     -2.5     4   1   2   1  37.5  40.0  -0.32  -3.50  3.18
22    MIN     -3.5     4   1   2   1  37.5  34.6  -6.80  -5.00 -1.80
23    DET     -2.5     4   1   3   0  25.0  35.2  -8.34  -5.00 -3.34
24    ATL     -3.5     4   1   3   0  25.0  46.0   2.98  -1.50  4.48
25    IND     -3.5     4   1   3   0  25.0  45.1   1.14  -1.50  2.64
26    HOU     -4.0     4   1   3   0  25.0  40.8  -3.85  -3.00 -0.85
27    OAK     -4.5     4   1   3   0  25.0  32.0  -4.47  -6.50  2.03
28    SF      -5.0     4   1   3   0  25.0  37.2  -7.85  -4.50 -3.35
29    NYJ     -6.0     4   1   3   0  25.0  50.0  -1.72   0.00 -1.72
30    NYG     -6.0     4   1   3   0  25.0  30.3  -5.43  -5.50  0.07
31    BUF    -16.5     4   1   3   0  25.0   8.5 -12.88 -14.00  1.12
32    ARI    -10.5     4   0   4   0   0.0   5.0  -7.56 -14.25  6.69

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’ll continue posting my odds, though this has not been the best season for them. Jacksonville continued to be best modeled by their median point spread, as opposed to their playoff formula. Philadelphia outperformed any reasonable prediction of their play once Wentz went down.

My system gives an edge to New England. Philadelphia played a tougher schedule but lacks playoff experience by my system. There is no home field in the Superbowl.

Super Bowl Playoff Odds
Home Team Visiting Team Score Diff Win Prob Est. Point Spread
New England Patriots Philadelphia Eagles 0.586 0.642 4.3

Outside of the New England game, all the games were good and exciting, from the final goal line stand by the Eagles, to the win with ten seconds left by the Vikings. The Jacksonville Jaguars are just not well managed by this system. It was easy to see that through the year that they were a boom or bust team. They could win big or lose big, and in the game with the Steelers, they were enough in “win big” mode that the Steelers could not keep up.

Philadelphia won because of their stout defense, a Nick Foles that gave them a AYA of 8.2 for the game, much akin to Carson Wentz’s average.

To remind people, the 2017 worksheet is here, and the methodology is here. The odds for the next round are below.

Conference (NFC/AFC) Playoff Odds
Home Team Visiting Team Score Diff Win Prob Est. Point Spread
Philadelphia Eagles Minnesota Vikings -0.604 0.353 -4.5
New England Patriots Jacksonville Jaguars 1.872 0.867 13.9

The first round is over and in terms of predicting winners, not my best (by my count, 1-2-1, as we had Jax and Bills in a de facto tie). I was pleased that the model got Rams and Atlanta correct, and the Sunday games all came down to the wire. One or two plays and my formal results would have been impressive. Still, back to the predictions for this week.

To add some spice, we will predict results for New Orleans normally, and also as if Drew Brees is elite. Values in parentheses are the elite numbers. With elite status or no, Minnesota is still favored in this data set.

The only home team not favored is Philadelphia. We discussed this in part in this article.

Second Round Playoff Odds
Home Team Visiting Team Score Diff Win Prob Est. Point Spread
Philadelphia Eagles Atlanta Falcons -0.878 0.294 -6.5
Minnesota Vikings New Orleans Saints 1.231 (0.484) 0.774 (0.619) 9.1 (3.6)
New England Patriots Tennessee Titans 1.674 0.842 12.4
Pittsburgh Steelers Jacksonville Jaguars 1.915 0.872 14

Next Page »