Fun With BaseRuns
With a brand new (to me) historical database of all players, my project for the day was to calculate BaseRuns for all batters. BaseRuns models run creation, much like Bill James’ Runs Created, but BaseRuns is a more accurate model. As for the calculations, I decided to stick to David Smyth’s BaseRuns Primer. I used the “simple” version for seasons prior to 1955 and the more “complex” version for anything 1955 to the present. Here’s the more complex version, where BaseRuns = A*B/(B+C)+D
A = H + BB + HBP – HR – .5*IBB
B = [1.4*TB -.6*H -3*HR +.1*(BB+HBP-IBB) +.9*(SB-CS-GDP)] * X
C = AB – H + CS + GDP
D = HR
The quick and dirty version of what I did was, determine the B multiplier or X for each major league team by season, use BaseRuns to calculate the number of runs a team would have had without a particular player, and then subtract that from the actual runs the team had, to get that player’s BaseRuns.
To determine the B multiplier, I dug up my 8th grade algebra skills to solve the following equation for X: Runs = A * (B * X)/((B * X) + C) + D
X = ((Runs – D) * C) / B / (A – (Runs – D))
Hopefully, even with my rusty algebra skills, this was (and still is) correct. Now that I had my B multipliers (X), I could go ahead and calculate what teams would have done without a particular player and then finally get a players BaseRuns. So just for kicks, let’s look at a few lists:
Top 20 All Time:
Name BSR RC Babe Ruth 2638 2757 Ty Cobb 2534 2524 Cap Anson 2514 1794 Barry Bonds 2451 2791 Hank Aaron 2400 2553 Stan Musial 2382 2569 Willie Mays 2238 2369 Ted Williams 2231 2384 Tris Speaker 2208 2176 Lou Gehrig 2199 2264 Rickey Henderson 2166 2167 Pete Rose 2116 2220 Mel Ott 2104 2085 Jimmie Foxx 2072 2146 Honus Wagner 2064 1888 Carl Yastrzemski 2050 2147 Frank Robinson 2012 2127 Eddie Collins 1997 1799 Roger Connor 1949 1498 Rafael Palmeiro 1922 2040
Top 20 Seasons: All Time
Name Season BSR RC Babe Ruth 1921 212 233 Hugh Duffy 1894 204 187 Tip O'Neill 1887 202 173 Babe Ruth 1923 199 216 Jimmie Foxx 1932 191 206 Babe Ruth 1920 190 206 Billy Hamilton 1894 188 148 Joe Kelley 1894 186 152 Lou Gehrig 1927 186 211 Lou Gehrig 1930 185 197 Lou Gehrig 1936 184 190 Babe Ruth 1927 183 203 Babe Ruth 1924 183 199 Lou Gehrig 1931 183 183 Babe Ruth 1931 182 185 Babe Ruth 1930 181 187 Rogers Hornsby 1922 180 206 Rogers Hornsby 1929 178 188 Ted Williams 1949 177 180 Jimmie Foxx 1938 175 184
Interesting how only 9 players are in the top 20 seasons of all time. Of the modern day players, Barry Bonds‘ 2001 season and Todd Helton‘s 2000 season make the top 30. Ryan Howard‘s 2006 MVP season amounts to the 157th best of all time and Justin Morneau’s 2006 is 967th best.
But since we’re looking at a player’s production in the context of his own team, it might be interesting to see who is responsible for the highest percentage of BaseRuns by a single player.
Top 25 All Time (> 500 BSR):
Name BSR BSR% Ralph Kiner 1100 16.68% Albert Pujols 817 16.62% Barry Bonds 2451 15.72% Roger Connor 1949 15.48% Jesse Burkett 1867 15.42% Babe Ruth 2638 15.20% Stan Musial 2382 15.12% Hank Aaron 2400 15.02% Ted Williams 2231 14.98% Bob Johnson 1369 14.94% Ty Cobb 2534 14.82% Honus Wagner 2064 14.70% Jeff Bagwell 1658 14.62% Willie Mays 2238 14.61% Mickey Mantle 1901 14.59% Tris Speaker 2208 14.43% Harry Stovey 1447 14.16% Lou Gehrig 2199 14.06% Paul Hines 1401 13.98% Todd Helton 1192 13.92% Billy Hamilton 1669 13.89% Ichiro Suzuki 650 13.86% Cap Anson 2514 13.79% Ed Delahanty 1786 13.77% Eddie Mathews 1656 13.73%
What I like about expressing BaseRuns as a percentage of a teams total runs is that you can see just how big a part of the offense that particular player is.
Top 10 in 2006:
Name BSR BSR% Albert Pujols 133 17.06% Lance Berkman 125 17.01% Jason Bay 117 16.90% Ryan Howard 144 16.69% Alfonso Soriano 124 16.63% David Ortiz 134 16.29% Miguel Cabrera 120 15.81% Garrett Atkins 126 15.52% Matt Holliday 124 15.20% Grady Sizemore 132 15.18%
Jason Bay was an extremely large part of the not so wonderful Pirate offense in 2006. Other notables include Justin Morneau falling in at 12th with 14.65% of the offense.
Anyway, at some point in the future, I’d like to include BaseRuns in the FanGraphs player pages and leader-boards. Since this is my first shot at calculating BaseRuns, I want to make sure I’m calculating them in a way that makes sense. If you see any problems with my methodology, please let me know as I’d hate to have blatantly wrong data on the player pages.
For more information on BaseRuns, Tangotiger had an excellent series on BaseRuns and Linear Weights.
David Appelman is the creator of FanGraphs.
Great, David. On what level did you set your “B” multiplier? Year, league, team or something else?