After writing The Peak Age for an NFL Running Back, I became intrigued with how age affects running backs and how predictable the drop-off is for them. In addition, I have recently become fascinated by data analysis programming languages, such as Python and R. The intersection of these two interests led to an attempt to create a predictive model using running back age and PPR scoring.

Defining a Peak Season

To win fantasy football championships, we are all attempting to identify quality or peak running back seasons — difference-making players we can rely on to start each week. Over the past two seasons, the RB10 has averaged 230 PPR fantasy points, which amounts to 14.4 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. Then I charted whether the player maintained the same pace (14.4 fantasy points per game) in the following season. The study includes 223 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.

RkPlayerYearAgeTmPPRPPR Per GN + 1
1LaDainian Tomlinson*200627SDG481.130.071
2Marshall Faulk*200027STL459.932.851
3Priest Holmes200330KAN44627.881
4LaDainian Tomlinson*200324SDG441.827.611
5Priest Holmes200229KAN441.731.551
6Marshall Faulk*200128STL422.730.191
7Steven Jackson200623STL415.425.961
8David Johnson201625ARI407.825.491
9Edgerrin James200022IND398.324.891
10Chris Johnson200924TEN395.924.741
11Arian Foster201024HOU39324.561
12Ahman Green200326GNB38824.251
13Todd Gurley201723LAR383.325.551
14LaDainian Tomlinson*200223SDG383.223.951
15Jamaal Charles201327KAN37825.21
16Ray Rice201124BAL374.823.431
17Shaun Alexander200528SEA373.823.361
18Larry Johnson200627KAN372.923.311
19Le'Veon Bell201422PIT370.523.161
20Brian Westbrook200728PHI370.424.691
21LaDainian Tomlinson*200728SDG367.622.981
22LaDainian Tomlinson*200526SDG365.122.821
23Ricky Williams200225MIA363.622.731
24Larry Johnson200526KAN363.322.711
25Tiki Barber200530NYG36022.51
26DeMarco Murray201426DAL351.121.940
27Adrian Peterson201227MIN347.421.711
28Charlie Garner200230OAK347.321.710
29Matt Forte201429CHI346.621.661
30Tiki Barber200429NYG346.621.661
31Matt Forte201328CHI337.321.081
32Eddie George200027TEN337.221.080
33Priest Holmes200128KAN334.920.931
34LaDainian Tomlinson*200425SDG334.122.271
35Brian Westbrook200627PHI332.622.171
36LeSean McCoy201325PHI330.620.660
37LeSean McCoy201123PHI329.421.961
38Jamal Lewis200324BAL329.120.570
39Shaun Alexander200225SEA327.520.471
40Ray Rice200922BAL327.120.441
41Frank Gore200623SFO32720.441
42Deuce McAllister200325NOR326.720.421
43Adrian Peterson200924MIN325.920.371
44Domanick Williams200424HOU325.621.711
45Ezekiel Elliott201621DAL325.421.691
46Shaun Alexander200427SEA324.620.291
47Tiki Barber200227NYG324.420.281
48Maurice Jones-Drew200924JAX323.520.221
49Ahman Green200124GNB321.120.071
50Alvin Kamara201722NOR320.420.031
51Ahman Green200023GNB318.419.91
52Le'Veon Bell201624PIT317.426.451
53Clinton Portis200221DEN317.219.831
54Curtis Martin*200431NYJ317.219.830
55Devonta Freeman201523ATL316.421.091
56Deuce McAllister200224NOR31320.871
57Clinton Portis200322DEN311.523.961
58Edgerrin James200527IND310.320.690
59Curtis Martin*200027NYJ309.919.371
60DeAngelo Williams200825CAR307.619.231
61Shaun Alexander200326SEA30719.191
62Matt Forte200823CHI305.519.090
63Edgerrin James200426IND304.119.011
64Arian Foster201125HOU303.123.321
65Charlie Garner200028SFO302.918.930
66Marshawn Lynch201428SEA302.318.890
67Shaun Alexander200124SEA302.118.881
68Maurice Jones-Drew201126JAX30118.810
69Curtis Martin*200128NYJ29918.691
70LeSean McCoy201628BUF298.319.891
71Ricky Watters200031SEA297.518.590
72LeSean McCoy201022PHI297.219.811
73Peyton Hillis201024CLE296.918.560
74Kareem Hunt201722KAN295.218.451
75LaMont Jordan200527OAK294.821.060
76DeMarco Murray201628TEN293.818.360
77Willie Parker200626PIT291.618.230
78Travis Henry200224BUF290.718.171
79Melvin Gordon201724LAC288.118.011
80Tiki Barber200025NYG287.517.971
81Marshall Faulk*200229STL28520.361
82Devonta Freeman201624ATL284.117.761
83Ray Rice201225BAL283.117.690
84Michael Turner200826ATL27917.441
85Maurice Jones-Drew200823JAX278.917.431
86Frank Gore200926SFO278.619.91
87Fred Taylor200327JAX278.217.391
88Mark Ingram201728NOR27817.380
89Brian Westbrook200425PHI277.521.351
90Adrian Peterson201025MIN276.918.461
91Clinton Portis200726WAS276.717.291
92Joseph Addai200724IND276.618.440
93LaDainian Tomlinson*200829SDG276.617.290
94Mike Anderson200027DEN276.617.290
95Ray Rice201023BAL276.617.291
96Thomas Jones200830NYJ275.917.241
97Marshawn Lynch201327SEA275.317.211
98Chris Johnson201025TEN273.917.120
99Arian Foster201428HOU273.521.041
100Clinton Portis200524WAS272.917.061
101Steve Slaton200822HOU272.917.061
102Maurice Jones-Drew200621JAX272.717.041
103Eddie Lacy201423GNB272.617.040
104LaDainian Tomlinson*200122SDG271.316.961
105Ahman Green200225GNB270.319.311
106Darren Sproles201128NOR270.316.891
107Brian Westbrook200829PHI269.819.270
108Marshawn Lynch201226SEA269.616.851
109Ricky Williams200124NOR269.616.851
110Darren McFadden201023OAK269.420.721
111Fred Taylor200226JAX268.216.761
112Edgerrin James200325IND267.120.551
113Matt Forte201025CHI265.616.61
114LeSean McCoy201729BUF263.616.480
115Reggie Bush200621NOR262.716.421
116Corey Dillon200430NWE261.817.450
117Eddie George200229TEN26116.310
118Adrian Peterson201530MIN260.716.291
119Adrian Peterson200823MIN260.516.281
120Corey Dillon200127CIN259.316.211
121DeMarco Murray201325DAL258.118.441
122Stephen Davis200026WAS258.117.210
123Lamar Smith200030MIA25817.20
124Jamal Lewis200223BAL257.916.121
125C.J. Spiller201225BUF255.315.960
126Duce Staley200227PHI25515.940
127Trent Richardson201222CLE254.716.980
128Adrian Peterson200722MIN253.918.141
129Warrick Dunn200025TAM252.515.781
130Alfred Morris201224WAS25215.750
131Chris Johnson200823TEN250.816.721
132Melvin Gordon201623SDG250.619.281
133Jamaal Charles201428KAN250.416.691
134Moe Williams200329MIN249.915.620
135Clinton Portis200827WAS249.515.590
136Rudi Johnson200526CIN248.815.551
137Tiki Barber200328NYG247.715.481
138Jamal Lewis200728CLE247.216.480
139Justin Forsett201429BAL246.915.430
140Steven Jackson200926STL246.816.451
141Ricky Williams200932MIA246.515.410
142James Stewart200029DET245.115.320
143Ahmad Bradshaw201024NYG244.915.310
144Marshawn Lynch201125SEA244.616.311
145Steven Jackson201027STL243.415.211
146Rashard Mendenhall201023PIT24315.190
147Eddie Lacy201322GNB242.516.171
148Mark Ingram201627NOR242.215.141
149Corey Dillon200228CIN240.915.060
150Chris Johnson201328TEN240.215.010
151Jamaal Charles201226KAN239.514.971
152Reggie Bush201328DET239.217.090
153Frank Gore200724SFO238.815.921
154Marion Barber200724DAL238.714.921
155Curtis Martin*200229NYJ238.614.910
156Thomas Jones200931NYJ23814.880
157Ladell Betts200627WAS236.914.810
158Rudi Johnson200425CIN236.814.81
159Clinton Portis200423WAS236.615.771
160Steven Jackson200522STL236.615.771
161Travis Henry200325BUF236.415.760
162Maurice Jones-Drew201025JAX236.116.861
163Ryan Mathews201124SDG235.616.830
164Fred Jackson201332BUF234.714.670
165Ricky Williams200023NOR234.323.431
166Michael Pittman200025ARI233.814.610
167Carlos Hyde201727SFO233.814.610
168Michael Bennett200224MIN233.714.610
169Thomas Jones200426CHI233.516.681
170LeGarrette Blount201630NWE232.914.560
171Marshawn Lynch200822BUF232.615.510
172Doug Martin201526TAM232.314.520
173Rudi Johnson200627CIN232.314.520
174Tiki Barber200126NYG232.216.591
175Lamar Miller201524MIA231.914.490
176DeAngelo Williams201532PIT231.414.460
177Willis McGahee200726BAL230.815.390
178Michael Turner201129ATL230.814.430
179Warrick Dunn200227ATL230.415.361
180Earnest Graham200727TAM230.215.350
181Leonard Fournette201722JAX230.217.711
182Jordan Howard201622CHI230.115.340
183Ahman Green200427GNB229.615.310
184Domanick Williams200323HOU229.216.371
185Marion Barber200825DAL229.215.280
186Brian Westbrook200526PHI228.319.031
187Frank Gore200825SFO227.916.281
188Jamaal Charles200923KAN227.715.181
189Michael Pittman200429TAM226.717.440
190Thomas Jones200527CHI225.815.050
191Steven Jackson200825STL225.118.761
192Kevin Jones200624DET224.918.740
193Steven Jackson201128STL223.814.920
194Chester Taylor200627MIN223.414.890
195Matt Forte201126CHI222.718.561
196Marshall Faulk*200330STL221.820.160
197Matt Forte201227CHI221.414.761
198Ahman Green200629GNB221.215.80
199Reggie Bush201126MIA219.214.610
200Maurice Jones-Drew200722JAX217.514.51
201James Stewart200231DET217.415.530
202Le'Veon Bell201321PIT216.916.681
203Mike Anderson200532DEN216.614.440
204Darren Sproles201229NOR216.116.620
205Matt Forte201530CHI214.716.520
206Deuce McAllister200426NOR213.215.230
207Priest Holmes200431KAN212.926.610
208Fred Jackson201130BUF210.621.060
209Edgerrin James200224IND209.314.951
210Todd Gurley201521STL208.416.030
211Latavius Murray201626OAK208.214.870
212Fred Taylor200428JAX207.914.850
213Duce Staley200126PHI20715.921
214DeAngelo Williams200926CAR206.915.920
215Reggie Bush200722NOR206.817.231
216Adrian Peterson201126MIN205.917.161
217Brandon Jacobs200826NYG205.515.810
218Domanick Williams200525HOU204.318.570
219Mark Ingram201526NOR203.416.951
220Ezekiel Elliott201722DAL203.220.321
221Frank Gore201027SFO202.518.410
222Warrick Dunn200126TAM202.415.571
223Steven Jackson200724STL200.416.71


In my short education in machine learning, I have learned the following: First and foremost, 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 the Kernel SVM, I left out 20 percent of the observations to test the model. Therefore, 179 of the 223 seasons were used as a training set. The remaining 20 percent, or 44 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 the Kernel SVM.

Kernel SVM Model

Let’s first understand the chart. The green points indicate players who “succeeded” in the following season, the red points indicate those who did not. The Y-axis refers to PPR points per game while the X-axis refers to Age. 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 — 83.8 percent of the seasons took place before age 29. Once you include the age-29 seasons, it accounts for 203 of the 223 seasons — 90.6 percent. It is hard to just make this prestigious list at 28 years old, let alone succeeding in the following age-29 season.

This is the training model, so we will see how the model fares in predicting the remaining 44 observations shortly. The conclusion we can draw so far is the model doesn’t like the older, low-scoring seasons. The drop-off seems to take effect around age 27 for low scoring seasons. By age 29, a running back’s play looks likely to fall off.

Let’s check the results of Kernel SVM Test.

Out of 44 total observations, the Kernel SVM model predicted 31 correctly, which is an accuracy rate of 70.5 percent. While there are some incorrect predictions on the boundary, the model does a decent job at predicting the drop-off.

Naïve Bayes Model

For the Naïve Bayes model, I used 56 observations to test the model or 25 percent of the seasons. 167 observations were used to train the model.

The Naïve Bayes algorithm returns a similar result – as the curve appears to follow to the same line. Let’s check the results of the Naïve Bayes model test.

Out of 56 total observations, the Naïve Bayes model predicted 42 correctly which is an accuracy rate of 75 percent. It was a little more accurate than the Kernel SVM model.

What Does This Mean for 2019?

The model does not like older running backs who are coming off low scoring seasons.

Heading into last season, there were nine players who matched the peak criteria. Only three – Carlos Hyde, Mark Ingram, and LeSean McCoy were over 25 years old and considered unlikely to maintain their pace. All three did not maintain the 14.4 fantasy points per game pace and underperformed according to their average draft position.

In 2018, 13 players scored at least 230 PPR fantasy points or at least 200 PPR fantasy points and 14.4 fantasy points per game. Saquon Barkley, Christian McCaffrey, Todd Gurley, Alvin Kamara, Ezekiel Elliott, James Conner, James White, Melvin Gordon, David Johnson, Joe Mixon, Tarik Cohen, Kareem Hunt, and Phillip Lindsay. Only three players were over 24 years old last season – Melvin Gordon (25), James White (26), and David Johnson (27).

During the 2019 season, David Johnson will turn 28 years old and scored just 15.5 fantasy points per game in 2018. Obviously, Johnson should be in a much better situation to succeed with Kliff Kingsbury coming to town, but the model does not like his outlook this season.

James White is 27 years old and doesn’t receive as many touches as the other players on this list. Sharing touches with Sony Michel and Rex Burkhead will make it tough for White to continue to produce like an RB1. One silver lining is his production with Rob Gronkowski out.

While Melvin Gordon will be 26 this year, averaging 23 PPR fantasy points per game lands him in the green according to both models. As a workhorse on a good offense, Gordon is currently coming off the board in the middle of the first round.