After writing The Peak Age for an NFL Running Back, I became intrigued with how age affects running backs and how predictable the decline is. Data analysis programming languages, like Python and R, are very helpful when studying historical seasons. Let’s see how successful a predictive model using running back age and PPR scoring can be.
Defining a Peak Season
To win fantasy football championships, we are all attempting to identify quality or peak running back seasons — elite players we can start each week.
Typically, the RB12 hovers around 230 PPR fantasy points, which equates to 14.4 PPR fantasy points per game. For the purpose of this study, I included all running back seasons since 2000 to score at least 230 PPR fantasy points or at least 200 PPR fantasy points and 14.4 fantasy points per game.
To determine successes or failures, I charted whether the player maintained the same pace (14.4 fantasy points per game) in the following season. If the player maintained the same pace, he was charted as a success. If he failed to score 14.4 fantasy points per game, he was charted as a failure.
The study includes 234 individual running back seasons.
Note: A fair number of seasons were removed because of inconclusive results. For example, Jamaal Charles’ 2011 season was not included because in the following season, he was injured in Week 2. If results for the following season were not conclusive, the season was removed.
The table below contains all of the seasons that were included to create the models. The ‘0’ or ‘1’ under N + 1 indicates whether the player succeeded in the following season.
Rk | Player | Age | PPR | FY |
---|---|---|---|---|
1 | Marshall Faulk* | 27 | 32.85 | 1 |
2 | Priest Holmes | 29 | 31.55 | 1 |
3 | Marshall Faulk* | 28 | 30.19 | 1 |
4 | LaDainian Tomlinson* | 27 | 30.07 | 1 |
5 | Priest Holmes | 30 | 27.88 | 1 |
6 | LaDainian Tomlinson* | 24 | 27.61 | 1 |
7 | Priest Holmes | 31 | 26.61 | 0 |
8 | Le'Veon Bell | 24 | 26.45 | 1 |
9 | Steven Jackson | 23 | 25.96 | 1 |
10 | Todd Gurley | 23 | 25.55 | 1 |
11 | David Johnson | 25 | 25.49 | 1 |
12 | Jamaal Charles | 27 | 25.20 | 1 |
13 | Edgerrin James | 22 | 24.89 | 1 |
14 | Chris Johnson | 24 | 24.74 | 1 |
15 | Brian Westbrook | 28 | 24.69 | 1 |
16 | Arian Foster | 24 | 24.56 | 1 |
17 | Ahman Green | 26 | 24.25 | 1 |
18 | Clinton Portis | 22 | 23.96 | 1 |
19 | LaDainian Tomlinson* | 23 | 23.95 | 1 |
20 | Ricky Williams | 23 | 23.43 | 1 |
21 | Ray Rice | 24 | 23.43 | 1 |
22 | Shaun Alexander | 28 | 23.36 | 1 |
23 | Arian Foster | 25 | 23.32 | 1 |
24 | Larry Johnson | 27 | 23.31 | 1 |
25 | Le'Veon Bell | 22 | 23.16 | 1 |
26 | LaDainian Tomlinson* | 28 | 22.98 | 1 |
27 | LaDainian Tomlinson* | 26 | 22.82 | 1 |
28 | Ricky Williams | 25 | 22.73 | 1 |
29 | Larry Johnson | 26 | 22.71 | 1 |
30 | Tiki Barber | 30 | 22.50 | 1 |
31 | LaDainian Tomlinson* | 25 | 22.27 | 1 |
32 | Brian Westbrook | 27 | 22.17 | 1 |
33 | LeSean McCoy | 23 | 21.96 | 1 |
34 | DeMarco Murray | 26 | 21.94 | 0 |
35 | Adrian Peterson | 27 | 21.71 | 1 |
36 | Domanick Williams | 24 | 21.71 | 1 |
37 | Charlie Garner | 30 | 21.71 | 0 |
38 | Ezekiel Elliott | 21 | 21.69 | 1 |
39 | Matt Forte | 29 | 21.66 | 1 |
40 | Tiki Barber | 29 | 21.66 | 1 |
41 | Brian Westbrook | 25 | 21.35 | 1 |
42 | Devonta Freeman | 23 | 21.09 | 1 |
43 | Matt Forte | 28 | 21.08 | 1 |
44 | Eddie George | 27 | 21.08 | 0 |
45 | Fred Jackson | 30 | 21.06 | 0 |
46 | LaMont Jordan | 27 | 21.06 | 0 |
47 | Arian Foster | 28 | 21.04 | 1 |
48 | Priest Holmes | 28 | 20.93 | 1 |
49 | Deuce McAllister | 24 | 20.87 | 1 |
50 | Darren McFadden | 23 | 20.72 | 1 |
51 | Edgerrin James | 27 | 20.69 | 0 |
52 | LeSean McCoy | 25 | 20.66 | 0 |
53 | Jamal Lewis | 24 | 20.57 | 0 |
54 | Edgerrin James | 25 | 20.55 | 1 |
55 | Shaun Alexander | 25 | 20.47 | 1 |
56 | Ray Rice | 22 | 20.44 | 1 |
57 | Frank Gore | 23 | 20.44 | 1 |
58 | Deuce McAllister | 25 | 20.42 | 1 |
59 | Adrian Peterson | 24 | 20.37 | 1 |
60 | Marshall Faulk* | 29 | 20.36 | 1 |
61 | Ezekiel Elliott | 22 | 20.32 | 1 |
62 | Shaun Alexander | 27 | 20.29 | 1 |
63 | Tiki Barber | 27 | 20.28 | 1 |
64 | Maurice Jones-Drew | 24 | 20.22 | 1 |
65 | Marshall Faulk* | 30 | 20.16 | 0 |
66 | Ahman Green | 24 | 20.07 | 1 |
67 | Alvin Kamara | 22 | 20.03 | 1 |
68 | Frank Gore | 26 | 19.90 | 1 |
69 | Ahman Green | 23 | 19.90 | 1 |
70 | LeSean McCoy | 28 | 19.89 | 1 |
71 | Clinton Portis | 21 | 19.83 | 1 |
72 | Curtis Martin* | 31 | 19.83 | 0 |
73 | LeSean McCoy | 22 | 19.81 | 1 |
74 | Curtis Martin* | 27 | 19.37 | 1 |
75 | Ahman Green | 25 | 19.31 | 1 |
76 | Melvin Gordon | 23 | 19.28 | 1 |
77 | Brian Westbrook | 29 | 19.27 | 0 |
78 | DeAngelo Williams | 25 | 19.23 | 1 |
79 | Shaun Alexander | 26 | 19.19 | 1 |
80 | Matt Forte | 23 | 19.09 | 0 |
81 | Brian Westbrook | 26 | 19.03 | 1 |
82 | Edgerrin James | 26 | 19.01 | 1 |
83 | Charlie Garner | 28 | 18.93 | 0 |
84 | Marshawn Lynch | 28 | 18.89 | 0 |
85 | Shaun Alexander | 24 | 18.88 | 1 |
86 | Maurice Jones-Drew | 26 | 18.81 | 0 |
87 | Steven Jackson | 25 | 18.76 | 1 |
88 | Kevin Jones | 24 | 18.74 | 0 |
89 | Curtis Martin* | 28 | 18.69 | 1 |
90 | Ricky Watters | 31 | 18.59 | 0 |
91 | Domanick Williams | 25 | 18.57 | 0 |
92 | Matt Forte | 26 | 18.56 | 1 |
93 | Peyton Hillis | 24 | 18.56 | 0 |
94 | Adrian Peterson | 25 | 18.46 | 1 |
95 | Kareem Hunt | 22 | 18.45 | 1 |
96 | Joseph Addai | 24 | 18.44 | 0 |
97 | DeMarco Murray | 25 | 18.44 | 1 |
98 | Frank Gore | 27 | 18.41 | 0 |
99 | DeMarco Murray | 28 | 18.36 | 0 |
100 | Willie Parker | 26 | 18.23 | 0 |
101 | Travis Henry | 24 | 18.17 | 1 |
102 | Adrian Peterson | 22 | 18.14 | 1 |
103 | Melvin Gordon | 24 | 18.01 | 1 |
104 | Tiki Barber | 25 | 17.97 | 1 |
105 | Devonta Freeman | 24 | 17.76 | 1 |
106 | Leonard Fournette | 22 | 17.71 | 1 |
107 | Ray Rice | 25 | 17.69 | 0 |
108 | Corey Dillon | 30 | 17.45 | 0 |
109 | Michael Pittman | 29 | 17.44 | 0 |
110 | Michael Turner | 26 | 17.44 | 1 |
111 | Maurice Jones-Drew | 23 | 17.43 | 1 |
112 | Fred Taylor | 27 | 17.39 | 1 |
113 | Mark Ingram | 28 | 17.38 | 0 |
114 | Clinton Portis | 26 | 17.29 | 1 |
115 | LaDainian Tomlinson* | 29 | 17.29 | 0 |
116 | Mike Anderson | 27 | 17.29 | 0 |
117 | Ray Rice | 23 | 17.29 | 1 |
118 | Thomas Jones | 30 | 17.24 | 1 |
119 | Reggie Bush | 22 | 17.23 | 1 |
120 | Stephen Davis | 26 | 17.21 | 0 |
121 | Marshawn Lynch | 27 | 17.21 | 1 |
122 | Lamar Smith | 30 | 17.20 | 0 |
123 | Adrian Peterson | 26 | 17.16 | 1 |
124 | Chris Johnson | 25 | 17.12 | 0 |
125 | Reggie Bush | 28 | 17.09 | 0 |
126 | Clinton Portis | 24 | 17.06 | 1 |
127 | Steve Slaton | 22 | 17.06 | 1 |
128 | Maurice Jones-Drew | 21 | 17.04 | 1 |
129 | Eddie Lacy | 23 | 17.04 | 0 |
130 | Trent Richardson | 22 | 16.98 | 0 |
131 | LaDainian Tomlinson* | 22 | 16.96 | 1 |
132 | Mark Ingram | 26 | 16.95 | 1 |
133 | Darren Sproles | 28 | 16.89 | 1 |
134 | Maurice Jones-Drew | 25 | 16.86 | 1 |
135 | Marshawn Lynch | 26 | 16.85 | 1 |
136 | Ricky Williams | 24 | 16.85 | 1 |
137 | Ryan Mathews | 24 | 16.83 | 0 |
138 | Fred Taylor | 26 | 16.76 | 1 |
139 | Chris Johnson | 23 | 16.72 | 1 |
140 | Steven Jackson | 24 | 16.70 | 1 |
141 | Jamaal Charles | 28 | 16.69 | 1 |
142 | Le'Veon Bell | 21 | 16.68 | 1 |
143 | Thomas Jones | 26 | 16.68 | 1 |
144 | Darren Sproles | 29 | 16.62 | 0 |
145 | Matt Forte | 25 | 16.60 | 1 |
146 | Tiki Barber | 26 | 16.59 | 1 |
147 | Matt Forte | 30 | 16.52 | 0 |
148 | Jamal Lewis | 28 | 16.48 | 0 |
149 | LeSean McCoy | 29 | 16.48 | 0 |
150 | Steven Jackson | 26 | 16.45 | 1 |
151 | Reggie Bush | 21 | 16.42 | 1 |
152 | Domanick Williams | 23 | 16.37 | 1 |
153 | Eddie George | 29 | 16.31 | 0 |
154 | Marshawn Lynch | 25 | 16.31 | 1 |
155 | Adrian Peterson | 30 | 16.29 | 1 |
156 | Adrian Peterson | 23 | 16.28 | 1 |
157 | Frank Gore | 25 | 16.28 | 1 |
158 | Corey Dillon | 27 | 16.21 | 1 |
159 | Eddie Lacy | 22 | 16.17 | 1 |
160 | Jamal Lewis | 23 | 16.12 | 1 |
161 | Todd Gurley | 21 | 16.03 | 0 |
162 | C.J. Spiller | 25 | 15.96 | 0 |
163 | Duce Staley | 27 | 15.94 | 0 |
164 | Duce Staley | 26 | 15.92 | 1 |
165 | Frank Gore | 24 | 15.92 | 1 |
166 | DeAngelo Williams | 26 | 15.92 | 0 |
167 | Brandon Jacobs | 26 | 15.81 | 0 |
168 | Ahman Green | 29 | 15.80 | 0 |
169 | Warrick Dunn | 25 | 15.78 | 1 |
170 | Clinton Portis | 23 | 15.77 | 1 |
171 | Steven Jackson | 22 | 15.77 | 1 |
172 | Travis Henry | 25 | 15.76 | 0 |
173 | Alfred Morris | 24 | 15.75 | 0 |
174 | Moe Williams | 29 | 15.62 | 0 |
175 | Clinton Portis | 27 | 15.59 | 0 |
176 | Warrick Dunn | 26 | 15.57 | 1 |
177 | Rudi Johnson | 26 | 15.55 | 1 |
178 | James Stewart | 31 | 15.53 | 0 |
179 | Marshawn Lynch | 22 | 15.51 | 0 |
180 | Tiki Barber | 28 | 15.48 | 1 |
181 | Justin Forsett | 29 | 15.43 | 0 |
182 | Ricky Williams | 32 | 15.41 | 0 |
183 | Willis McGahee | 26 | 15.39 | 0 |
184 | Warrick Dunn | 27 | 15.36 | 1 |
185 | Earnest Graham | 27 | 15.35 | 0 |
186 | Jordan Howard | 22 | 15.34 | 0 |
187 | James Stewart | 29 | 15.32 | 0 |
188 | Ahman Green | 27 | 15.31 | 0 |
189 | Ahmad Bradshaw | 24 | 15.31 | 0 |
190 | Marion Barber | 25 | 15.28 | 0 |
191 | Deuce McAllister | 26 | 15.23 | 0 |
192 | Steven Jackson | 27 | 15.21 | 1 |
193 | Rashard Mendenhall | 23 | 15.19 | 0 |
194 | Jamaal Charles | 23 | 15.18 | 1 |
195 | Mark Ingram | 27 | 15.14 | 1 |
196 | Corey Dillon | 28 | 15.06 | 0 |
197 | Thomas Jones | 27 | 15.05 | 0 |
198 | Chris Johnson | 28 | 15.01 | 0 |
199 | Jamaal Charles | 26 | 14.97 | 1 |
200 | Edgerrin James | 24 | 14.95 | 1 |
201 | Steven Jackson | 28 | 14.92 | 0 |
202 | Marion Barber | 24 | 14.92 | 1 |
203 | Curtis Martin* | 29 | 14.91 | 0 |
204 | Chester Taylor | 27 | 14.89 | 0 |
205 | Thomas Jones | 31 | 14.88 | 0 |
206 | Latavius Murray | 26 | 14.87 | 0 |
207 | Fred Taylor | 28 | 14.85 | 0 |
208 | Ladell Betts | 27 | 14.81 | 0 |
209 | Rudi Johnson | 25 | 14.80 | 1 |
210 | Matt Forte | 27 | 14.76 | 1 |
211 | Fred Jackson | 32 | 14.67 | 0 |
212 | Reggie Bush | 26 | 14.61 | 0 |
213 | Michael Pittman | 25 | 14.61 | 0 |
214 | Carlos Hyde | 27 | 14.61 | 0 |
215 | Michael Bennett | 24 | 14.61 | 0 |
216 | LeGarrette Blount | 30 | 14.56 | 0 |
217 | Doug Martin | 26 | 14.52 | 0 |
218 | Rudi Johnson | 27 | 14.52 | 0 |
219 | Maurice Jones-Drew | 22 | 14.50 | 1 |
220 | Lamar Miller | 24 | 14.49 | 0 |
221 | DeAngelo Williams | 32 | 14.46 | 0 |
222 | Mike Anderson | 32 | 14.44 | 0 |
223 | Michael Turner | 29 | 14.43 | 0 |
224 | Todd Gurley | 24 | 26.58 | 1 |
225 | Saquon Barkley | 21 | 24.11 | 1 |
226 | Christian McCaffrey | 22 | 24.09 | 1 |
227 | Alvin Kamara | 23 | 23.61 | 1 |
228 | Melvin Gordon | 25 | 22.96 | 1 |
229 | Ezekiel Elliott | 23 | 21.94 | 1 |
230 | Joe Mixon | 22 | 17.39 | 0 |
231 | James White | 26 | 17.29 | 0 |
232 | David Johnson | 27 | 15.41 | 0 |
233 | Phillip Lindsay | 24 | 14.85 | 0 |
234 | Tarik Cohen | 23 | 14.62 | 0 |
Preface
When it comes to machine learning, you must build and teach a model with a training set. Then, to analyze the accuracy of the model, some observations must be set aside to test the model.
In Kernel SVM I used 75 percent of the observations to train the model, meaning 175 of the 234 seasons were used as a training set. The remaining 25 percent, or 59 observations, were used to test the model.
Based on the type of data being analyzed, the two best algorithms appear to be Kernel SVM and Naïve Bayes. We’ll start with Kernel SVM and see which algorithm is more accurate.
Kernel SVM Model
Let’s first understand the chart. The Y-axis refers to PPR points per game while the X-axis refers to Age. The green points indicate players who succeeded in the following season, the red points indicate those who did not. The top left is young, high-scoring players. The bottom left refers to low-scoring, young players. The top right refers to old, high-scoring players. The bottom right refers to old, low-scoring players.
Note that there are far fewer points on the right side of the graph — 84.6 percent of the seasons took place before age 29. Once you include the age-29 seasons, it accounts for 214 of the 234 seasons — 91.4 percent. It is hard to just make this list at 28 years old or older, never mind succeeding in the following season.
The conclusion we can draw so far is the model doesn’t like the older, low-scoring seasons. The drop-off begins for low scoring seasons between age 27 and 28 seasons. At age 29, a running back play looks likely to fall off. This is the training model, which the machine learns from. Now so we will see how the model fares in predicting the remaining 59 observations.
Let’s check the results of the Kernel SVM Test.
Out of 59 total observations, the Kernel SVM model predicted 45 correctly, which is an accuracy rate of 76.2 percent. While there are some incorrect predictions on the boundary, the model does a decent job of predicting the drop-off.
Naïve Bayes Model
For the Naïve Bayes model, there are also 59 observations to test the model or 25 percent of the seasons. 175 observations were used to train the model.
The Naïve Bayes algorithm returns a similar result – as the curve appears to follow a very similar line. Let’s check the results of the Naïve Bayes model test.
Out of 59 total observations, the Naïve Bayes model predicted 47 correctly which is an accuracy rate of 79.6 percent. It was a little more accurate than the Kernel SVM model and on average, will predict four out of five seasons correctly.
What Does This Mean for 2020?
The two things that cause the models’ concern are old age and low scoring seasons. I wrote this article last season and the model advised avoiding David Johnson.
In 2019, 14 players scored at least 230 PPR fantasy points or at least 200 PPR fantasy points and 14.4 fantasy points per game. Each player is listed below.
Player | Age | Tm | G | PPR | PPR/G |
---|---|---|---|---|---|
Christian McCaffrey | 23 | CAR | 16 | 471.2 | 29.45 |
Aaron Jones | 25 | GNB | 16 | 314.8 | 19.68 |
Ezekiel Elliott | 24 | DAL | 16 | 311.7 | 19.48 |
Austin Ekeler | 24 | LAC | 16 | 309 | 19.31 |
Derrick Henry | 25 | TEN | 15 | 294.6 | 19.64 |
Dalvin Cook | 24 | MIN | 14 | 292.4 | 20.89 |
Leonard Fournette | 24 | JAX | 15 | 259.4 | 17.29 |
Nick Chubb | 24 | CLE | 16 | 255.2 | 15.95 |
Alvin Kamara | 24 | NOR | 14 | 248.5 | 17.75 |
Saquon Barkley | 22 | NYG | 13 | 244.1 | 18.78 |
Mark Ingram | 30 | BAL | 15 | 242.5 | 16.17 |
Chris Carson | 25 | SEA | 15 | 232.6 | 15.51 |
Todd Gurley | 25 | LAR | 15 | 219.4 | 14.63 |
Kenyan Drake | 25 | 2TM | 14 | 214.2 | 15.3 |
Mark Ingram will play next season at 31 years old and with a relatively low-scoring RB1 season, the model lists him as a clear fade.
Playing next season at 24 years old after averaging over 29 fantasy points per game, the model couldn’t be more optimistic about McCaffrey’s odds of remaining elite next season.
The model prefers the running backs who will be 25 next season to the backs who will be 26. The soon-to-be 25-year-olds are Ezekiel Elliott, Austin Ekeler, Dalvin Cook, Leonard Fournette, Nick Chubb, and Alvin Kamara.
The soon-to-be 26-year-olds are Aaron Jones, Derrick Henry, Chris Carson, Todd Gurley, and Kenyan Drake. Jones and Henry avoided the danger zone by scoring over 19 fantasy points per game. The model is less optimistic about Carson, Gurley, and Drake, who all hovered around 15 fantasy points per game.