Author Archives: mea

New domain started today that currently points to this log book.  The name “baseball handbook” was inspired by Cook’s Traveler’s Handbook, one of the first travel guides.  This  guide will aid  those interested in baseball through the labyrinth of 30 MLB teams employing thousands of players each year and the tens of thousands who have played since 1900.

This handbook employs a Keep It Simple (KISS) methodology to everything.  will eventually point to a work in progress browsable web site.

White Sox Final Team Status for 2019

This model focuses upon Cubs throughout the year but scripts that make Cubs reports work for any team.  White Sox are supposed to be an up and coming team and have been sellers at trade deadline for many years to rebuild their farm system.  The year 2019 was not very kind to them again.  Let’s look at White Sox final team status for 2019.


20190501 -2 3.2 -13.8 -1.7
20190601 -2 -22.3 -20.9 -2.1
20190701 -3 -52.3 -19.9 3.4
20190801 -14 -91.3 -28.2 -2.2
20190901 -16 -94.3 -35.9 -8.5
20190929 -17 -74.2 -46.4 -3.4

The above is a snapshot taken of records at the beginning of each month like what was done for the Cubs.  White Sox were 39-42 on July 1, 2019 which represents 3 months of play or 1/2 season.  Their BAT derived from runs scored was horrible and PITCH derived from runs scored against was bad.

PE estimate based upon run differential on 7/1 gave them a record of 33-48.  The second half of 2019 both BAT and PITCH tanked further as well as their real win loss record of 72-89 , WAA = -17 ( WAA is odd because CHA only played 161 games ).  Unlike the Cubs, the White Sox were 4th in top 5 MLB teams winning more games than their PE estimate.

MIL 16 0 16
SFN -8 -22 14
ATL 32 22 10
CHA -17 -26 9
TEX -6 -14 8

Why teams over or under perform PE estimate is a mystery and different for every team.  Winning only 72 games is terrible and PE suggests they win only 68.   Bottom line: Both real and estimate suggests the White Sox were a bad team and bad teams typically are not loaded with superstars.

Top White Sox 2019

Rank WAA Name_TeamID Pos
+044+ 4.91 Lucas_Giolito_CHA PITCH
+063+ 3.91 Aaron_Bummer_CHA PITCH
+086+ 3.40 Jose_Abreu_CHA 1B-DH
+131+ 2.56 Alex_Colome_CHA PITCH
+140+ 2.50 Evan_Marshall_CHA PITCH
+171+ 2.14 Yoan_Moncada_CHA 3B
+174+ 2.12 Eloy_Jimenez_CHA LF
XXXXX 1.55 Jimmy_Cordero_CHA PITCH
XXXXX 0.61 Tim_Anderson_CHA SS

Above are the top White Sox players for 2019 according to this data model.  7 players in top 200 which isn’t bad for a very sub average team based upon real wins and losses.  Three guys in  top 100.  Lucas Giolito had a rough and tumble year but still landed in the top #50 which is a good sign for him and may be a good sign for things to come with White Sox starting rotation.

Lucas_Giolito_CHA PITCH

DateID Rank WAA
20190501 XXXXX -0.21
20190601 +032+ 2.37
20190701 +009+ 4.66
20190801 +035+ 3.86
20190901 +029+ 5.12
2019 +044+ 4.91

He was ranked #9 on 7/1/2019, the halfway point of the season, and pitched around average for the second half.  Monthly team status shows White Sox tanked during second half of the season.

The 4 other pitchers above  are relievers who don’t get much credit with WAR and Draft Kings but do get credit with this data model.  In modern baseball relief pitches around 1/3 of each game.  A run given up in the 7th is exactly equivalent to a run given up in the 9th.  The guy pitching the 9th often gets a save which may help his Draft Kings team.  The guy pitching the 7th gets no accolades.  Middle relievers are typically overlooked — especially by WAR.

With the above relievers White Sox could put together a decent relief squad next season.

Although Tim Anderson won the batting title he’s unranked but above average in this data model.  White Sox ended the season with -74 runs below average with respect to runs scored which is one of the worst in MLB.  That Anderson is above water on this team is a testament to his hitting.  Most Sox hitters are under water.  They have to be.  Someone has to be responsible.

Could it be that with such a high batting average Tim Anderson was saddled with a bad team that couldn’t drive him in and didn’t give him RISP opportunities?  is it really his fault?   If you assume that Anderson got ripped off for being on a bad team then you must assume the burden for that poor team run production is on the rest of the team.  Who could that be?

Jose Abreu drove in 123 runs scoring 85 times.  Anderson drove in 56, less than half of Abreu’s haul and scoring around the same.   WAR ranks Abreu  #166 , Anderson  #66.  The potential runs Anderson should have gotten based on his league leading batting average is far greater than the actual runs Abreu scored helping White Sox win real games, according to WAR and stats like wRC+.

This data model calculates runs above average in RISP situations which can only be done once event data is release by; which it has now.  Seasonal RISP is usually related to seasonal WAA.  Tim Anderson is very slightly below average in RISP situations compared to the rest of MLB which concurs with his slightly above average seasonal WAA.   A post showing top and bottom of RISP for the 2019 season coming shortly and it sometimes produces interesting results.

White Sox fielded a Tier 1.5 relief squad each day at the beginning of August  which tanked to 0 by the end of the season.  They made a lot of acquisitions this winter which we’ll get into more during Spring training.  Let’s look at the recent additions to their starting rotation.


Year Rank WAA TeamID Pos
2012 -085- -2.39 HOU PITCH
2013 -020- -4.47 HOU PITCH
2014 +048+ 3.97 HOU PITCH
2015 +007+ 8.06 HOU PITCH
2016 -167- -1.72 HOU PITCH
2017 +032+ 4.87 HOU PITCH
2018 +181+ 1.87 HOU PITCH
2019 +187+ 1.93 ATL PITCH
Total 12.12 217

Player acquisition is gambling and there are very few pitchers who are consistently good year to year.  Both Keuchel and Gonzalez below had their bad years but also very good years.  If these two play like their good seasons and Giolito plays like last season and … White Sox might have a decent starting rotation next season to go along with what looks like a decent set of hitters too.


Year Rank WAA TeamID Pos
2008 -083- -2.62 OAK PITCH
2009 -037- -3.32 OAK PITCH
2010 +057+ 4.14 OAK PITCH
2011 +060+ 3.93 OAK PITCH
2012 +027+ 4.93 WAS PITCH
2013 +122+ 2.44 WAS PITCH
2016 -162- -1.78 WAS PITCH
2017 +014+ 6.47 WAS PITCH
2018 XXXXX -1.41 WAS PITCH
2019 +185+ 1.93 MIL PITCH
Total 17.15 417

We’ll cover minor leagues next for both Cubs and Sox.  In Spring training we’ll look at all the new guys on each team in more detail.  Until then ….

UPDATE:  The Cubs broke out in 2015 after a tremendous run of terrible teams.  There may be similarities between the 2014 Cubs team that preceded 2015 and the 2019 White Sox.


20140501 -8 -17.0 8.0 1.0
20140601 -14 -25.3 11.0 -2.2
20140701 -10 -36.8 30.4 -2.9
20140801 -16 -25.6 -3.7 -8.9
20140901 -14 -30.3 -8.8 -9.9
2019 -16 -39.8 -34.4 -15.9

At the end of 2014  the Cubs had an almost identical final record to White Sox in 2019.  Unlike the 2019 White Sox, Cubs took a sudden trip to the cellar that year. Let’s look at top Cubs players that season to see how that compares with 2019 White Sox.

Top Cubs 2014

Rank WAA Name_TeamID Pos
+041+ 4.33 Jake_Arrieta_CHN PITCH
+050+ 3.93 Anthony_Rizzo_CHN 1B
+131+ 2.33 Kyle_Hendricks_CHN PITCH
+134+ 2.31 Neil_Ramirez_CHN PITCH
+054+ 2.21 Jeff_Samardzija_CHN PITCH
+147+ 2.14 Pedro_Strop_CHN PITCH
+162+ 1.91 Hector_Rondon_CHN PITCH
XXXXX 1.85 Jason_Hammel_CHN PITCH
XXXXX 1.11 Jorge_Soler_CHN RF

Players in bold break top 200 next season.  One of them wins a Cy Young award.  Cubs acquire Lester, bring up Bryant late April, Kyle Schwarber mid June and the rest of the team didn’t suck allowing Cubs to win NLDS.  The next season they played even better.

No one can predict the future however.


Sandy Koufax

Sandy Koufax was trending on Twitter which often is not a good sign but thankfully it was just to celebrate his birthday.  Many made claims he was one of the greatest pitchers of all time.  Let’s look at his career cut short by injury.

Sandy Koufax

Year Rank WAA TeamID Pos
1956 XXXXX -1.24 LAN PITCH
1957 XXXXX -0.15 LAN PITCH
1958 -052- -2.18 LAN PITCH
1959 XXXXX -0.82 LAN PITCH
1960 XXXXX -0.48 LAN PITCH
1961 +043+ 3.65 LAN PITCH
1962 +022+ 5.65 LAN PITCH
1963 +002+ 11.21 LAN PITCH
1964 +005+ 9.26 LAN PITCH
1965 +001+ 11.13 LAN PITCH
1966 +001+ 13.42 LAN PITCH
Total 50.39 978

Koufax had arthritis in his elbow at the absolute peak of his career.  A greater than 13 WAA is an extraordinary season.  He won 3 Cy Young awards. You can guess from above which years those were.   Even though he ranked #2 in 1963,  he won NL MVP.   Some guy called Hank Aaron playing for the Milwaukee Braves was very slightly ahead of him that year according to this data model but it was close enough to be a toss up.

At ~50 WAA he is technically border line HOF solely based on that.  It’s probable Koufax could have doubled or more  that career WAA  had he not had a career ending injury.  That would have made him one of the best pitchers of all time based solely on career WAA.

There are many factors to consider for awards, HOF induction, player acquisitions, etc. other than raw WAA.    He pitched a bunch of no hitters and a perfect game and lots of strikeouts. .

Below is the most important other factor which gets him in HOF first ballot.

Rank WAA IP ERA Gs Gr Name_TeamID Pos
+013+ 3.49 57.0 0.95 7 1 Sandy_Koufax_LAN PITCH  post season

He pitched 57 innings with a sub 1.00 ERA in post season.  This compiles into a post season WAA value  ranked #13 among all MLB players ( both BAT and PITCH )  who played in playoffs from 1903-2018. This led to LAN winning 4 World Series trophies; the only trophy that matters. in baseball.  Update:  At the time Koufax was inducted into HOF (1972) he was ranked #4 best post season player behind Christy Mathewson, Babe Ruth, and Lou Gehrig according to this data model.  There are a lot more playoff games per year in modern baseball.

Happy Birthday Sandy Koufax.

That’s all for this first post of the 20s decade.  Minor leagues coming next .  Until then ….

Top 25 MLB players for 2010 decade

The other day there was an article going around showing the top ten NHL players for the 2010s which stirred some controversy as no Blackhawks were named despite having players winning 3 Stanley Cup trophies, a rather difficult feat.  We don’t have data models ranking hockey, football, or basketball but we do have one for baseball.  Let’s look at the top 25 MLB players for 2010 decade according to this data model and for baseball-reference value system WAR.

WAA 2010-2019

Rank 2019 Rank WAA Name_Teamid Pos
+001+ +025+ 80.95 Clayton_Kershaw_LAN PITCH
+002+ +043+ 50.86 Edwin_Encarnacion_TOT 3B-DH-1B
+003+ +001+ 49.62 Justin_Verlander_TOT PITCH
+004+ +012+ 48.82 Mike_Trout_ANA CF-RF-LF-DH
+005+ -020- 46.77 Miguel_Cabrera_DET 1B-3B-DH
+006+ +014+ 45.72 Nelson_Cruz_TOT RF-LF-DH
+007+ +017+ 45.72 Max_Scherzer_TOT PITCH
+008+ +129+ 42.19 Paul_Goldschmidt_TOT 1B
+009+ +009+ 41.10 Zack_Greinke_TOT PITCH
+010+ XXXXX 40.72 Jose_Bautista_TOT RF-3B-DH-1B-CF-BAT-LF
+011+ +160+ 39.86 Ryan_Braun_MIL LF-RF-1B
+012+ XXXXX 39.63 Giancarlo_Stanton_TOT RF-DH-LF
+013+ +003+ 39.14 Jacob_deGrom_NYN PITCH
+014+ XXXXX 39.04 Chris_Sale_TOT PITCH
+015+ +022+ 39.02 Nolan_Arenado_COL 3B
+016+ XXXXX 38.64 Carlos_Gonzalez_TOT LF-CF-RF
+017+ +133+ 38.47 Madison_Bumgarner_SFN PITCH
+018+ XXXXX 38.30 David_Ortiz_BOS DH
+019+ XXXXX 35.28 Adrian_Beltre_TOT 3B-DH
+020+ XXXXX 35.22 Albert_Pujols_TOT 1B-DH
+021+ +013+ 33.64 Freddie_Freeman_ATL 1B-3B
+022+ XXXXX 33.39 David_Price_TOT PITCH
+023+ XXXXX 33.26 Johnny_Cueto_TOT PITCH
+024+ -143- 33.20 Robinson_Cano_TOT 2B-1B
+025+ +041+ 33.03 J.D._Martinez_TOT LF-RF-DH

A list like this is rather arbitrary.  When people reflect on  decades they don’t ponder the decade between say 2008-2017.  These always occur when the odometer turns on earth like tonight and we go from 2019-2020.  Players who started and ended their careers mid decade lose many years to players who came into their prime around 2010 and are still playing like Clayton Kershaw.  Mike Trout had his first blow out year in 2012 but is still 30+ WAA behind Kershaw.

In 2019 Miguel Cabrera ranked #20 in the bottom 200, a list no one wants to be #1, which means he’s hemorrhaging value.  Robinson Cano also put up sub average numbers in 2019 but still in the top 25 of this decade.

The two highlighted players, Pujols and Ortiz were also in the top 4 players of the 2000-2009 decade.

Top MLB Players 2000-2009

Rank 2009 Rank WAA Name_Teamid Pos
+001+ +022+ 88.07 Alex_Rodriguez_TOT SS-3B
+002+ +003+ 77.26 Albert_Pujols_SLN 3B-1B-LF-RF
+003+ +112+ 69.47 Manny_Ramirez_TOT RF-DH-LF
+004+ +081+ 54.20 David_Ortiz_TOT DH-1B

Pujols and Ortiz were #2 and #4 MLB players in the 2000s and made it into the top 25 in the 2010s.  Ortiz retired after the 2016 season so he even missed three years.  Pujols is the only player still playing of the top 4 above.

It is clear from above that Clayton Kershaw is the baseball player of the decade according to this data model.  WAR may not agree but we’ll get to that later.  Edwin Encarnacion is listed as #2 in this model and #48 for the decade in WAR which represents the biggest difference between the two systems.  Whenever there is a discrepancy like this I check career numbers.  Here’s Edwin’s career according to this data model.


Year Rank WAA TeamID Pos
2005 XXXXX 0.23 CIN 3B
2006 +168+ 1.89 CIN 3B
2007 XXXXX 0.80 CIN 3B
2008 XXXXX 0.48 CIN 3B
2009 XXXXX -1.36 CIN 3B
2009 XXXXX 0.88 TOR 3B
2010 XXXXX 1.49 TOR 3B
2011 XXXXX 0.99 TOR DH-3B-1B
2012 +012+ 6.15 TOR DH-1B
2013 +009+ 6.40 TOR 1B-DH-3B
2014 +013+ 6.32 TOR 1B-DH
2015 +010+ 7.41 TOR DH-1B
2016 +008+ 6.97 TOR DH-1B
2017 +035+ 4.75 CLE DH-1B
2018 +023+ 5.42 CLE DH-1B
2019 +043+ 2.69 SEA 1B-DH
2019 +043+ 2.27 NYA DH-1B
Total 53.78 1636

Encarnacion had a pretty consistent decade with a relatively mediocre start to his career.  His career year was 2015 where he drove in 111 runs and scored 94.  In 2016 he drove in 127 and scored 99.  The numbers check out.  Unfortunately for him he played for Toronto which is home to a hitter friendly park.  WAR downgrades or upgrades players based upon the type of parks they play in.  The same phenomenon happened with Larry Walker who played much of his career in COL and Montreal.

The numbers above are correct and consistent with how this data model calculates value from Babe Ruth to Neifi Perez.  Edwin Encarnacion contributed each year to his team’s total WAA according to Pythagorean Estimation the amount listed above in the WAA column.  That he exceeds Mike Trout was surprising but he had two more productive years this decade to rack up numbers.  If we do a 10 year split next year Trout will clearly be #2 but it will take years for him to overtake Kershaw unless Kershaw tanks by putting up negative numbers and losing games for LAN.

Let’s see what WAR thinks of this decade.

WAR 2010-2019

Rank x Rank WAR oWAR dWAR Name_Teamid Pos
+001+ +003+ 73.2 71.1 3.7 Mike_Trout_ANA CF-RF-LF-DH
+002+ +095+ 57.2 X X Clayton_Kershaw_LAN PITCH
+003+ +022+ 55.4 X X Max_Scherzer_TOT PITCH
+004+ +005+ 54.9 X X Justin_Verlander_TOT PITCH
+005+ XXXXX 53.7 49.6 8 Robinson_Cano_TOT 2B-1B
+006+ XXXXX 51.8 46.9 -4.1 Joey_Votto_CIN 1B
+007+ +196+ 50.3 39.9 11.8 Adrian_Beltre_TOT 3B-DH
+008+ +121+ 47 X X Cole_Hamels_TOT PITCH
+009+ +176+ 46 X X Chris_Sale_TOT PITCH
+010+ +018+ 44.6 37.7 8.8 Josh_Donaldson_TOT BAT-3B-DH
+011+ +028+ 43.5 X X Zack_Greinke_TOT PITCH
+012+ XXXXX 43.1 47.1 -9.9 Miguel_Cabrera_DET 1B-3B-DH
+013+ +166+ 42.9 35.9 9.2 Evan_Longoria_TOT 3B-DH
+014+ +134+ 42.3 36.8 -2.3 Paul_Goldschmidt_TOT 1B
+015+ XXXXX 41.5 36.4 9.6 Buster_Posey_SFN CR-1B
+016+ +012+ 41.4 29.7 10.1 Mookie_Betts_BOS CF-2B-RF
+017+ XXXXX 41.4 47.7 -4.7 Andrew_McCutchen_TOT CF-RF-LF
+018+ XXXXX 40.2 29 14.8 Ian_Kinsler_TOT 2B-DH
+019+ XXXXX 39.4 33.5 0 Giancarlo_Stanton_TOT RF-DH-LF
+020+ XXXXX 38.9 32.8 5.8 Ben_Zobrist_TOT RF-2B-1B-CF-SS-LF
+021+ XXXXX 38.8 X X David_Price_TOT PITCH
+022+ +085+ 38.3 40 1.5 Jose_Altuve_HOU 2B-DH
+023+ +066+ 38 25.2 10.4 Brett_Gardner_NYA LF-CF
+024+ +023+ 37.8 25.7 13.7 Nolan_Arenado_COL 3B
+025+ XXXXX 37.8 20.2 12 Jason_Heyward_TOT RF-CF

Yikes!  Trout is so far ahead in #1 after only 8 productive years on mostly mediocre teams.  On reddit in r/baseball I have seen comments suggesting Trout’s recent contract is worth $600M+ based upon the above.  This data model does not have a salary component since finance and contracts are extremely complicated.

After building the TC simulator and running handicapping numbers these last few years it became obvious good baseball teams win based upon the sum of most their players playing well above average.  The lineups on winning playoff teams usually consist of 8 players all well above average.  Is it wise for a team to spend most their money on a single player then skimp on the rest?  How did that $30M/year Manny Machado contract work out for SDN last season?

The numbers above are used by teams to determine salary which means they mean millions of dollars to players .  Players learn to game WAR stats because of how important those numbers  are to their livelihood.  WAR undervalues relievers so relievers want to become starters unless they can close and rack up those valuable saves so important to Draft Kings teams.

Joey Votto is a big fan of wRC+ according to this article.  Let’s look at Joey’s 2019 stats according to both models.

Rank WAA BA OBP PA RBI R Name_TeamID Pos
-071- -2.79 0.261 0.357 608 47 79 Joey_Votto_CIN 1B

Joey Votto made the bottom 100 in 2019.  His batting average and OBP look OK though.  His run production highlighted in brown is very poor. He is 14th worst in MLB for run production in RISP situations last season.   An old, but still accurate, explanation of RISP according to this data model can be read here.

Bottom line: Joey Votto had a bad season.  The Reds went 75-87 in 2019 for a real team WAA of -12 .  Joey Votto’s contribution was -2.79 of that.  Let’s see what WAR thinks.

Rank WAR oWAR dWAR Name_TeamID Pos Year
XXXXX 1.6 1.1 -0.3 Joey_Votto_CIN 1B 2019

WAR have him underwater defensively with dWAR.  His cumulative WAR is respectable and shows no indication he had much of a bad season other than it’s lower than his usual and he’s unranked.   Not sure how he ended up with a 1.6 cumulative WAR when his oWAR is only 1.1 with a negative dWAR.

Joey Votto had his career year in 2010 ranking #8 and he’s ranked #49 for the decade according to this data model .  This is a reverse discrepancy from Edwin Encarnacion.  WAR rewards players who excel on their Draft Kings teams, this data model rewards players who excel on their real baseball teams; players who score runs or not let up runs.  Runs are the currency required for wins.

Jason Heyward somehow made the WAR list as well at #25.  There are no Cubbies or players who ever played with the Cubs on the WAA list.

The dWAR column was manually highlighted to show high and low values.  Looking at dWAR can be useful to determine who can field, who’s OK, and who should probably be DH.  The Cubs hired Jason Heyward for his defense which is second highest among the 25 in the WAR list.

Not much more to say about this last post of the decade.  I don’t care what WAR thinks, Clayton Kershaw is  the best player between 2010-2019.  He may not break top tens much anymore but he’s consistently a good well above average player every year.  He is what they call a generational player now.  Mike Trout is waiting in the wings and will soon be top dog.  He isn’t right now after only 8 years.  He is top dog for Draft Kings teams however and probably undisputed MVP of those leagues each season.

Minor leagues coming next year.  Happy New Decade.  Until then ….

Top 25 MLB Players for 2017, 2018, 2019

This post will show the top 25 mlb players for the last 3 years according to this data model like what was done last year.  WAR evaluations will be included for comparison and contrast.  It takes year to year consistency to make the top of a list like this.  All the players below are the elite of MLB.


Rank 2019 Rank WAA Name_Teamid Pos
+001+ +003+ 25.81 Jacob_deGrom_NYN PITCH
+002+ +017+ 23.33 Max_Scherzer_WAS PITCH
+003+ +001+ 22.72 Justin_Verlander_TOT PITCH
+004+ +041+ 22.70 J.D._Martinez_TOT RF-DH-LF
+005+ +022+ 19.74 Nolan_Arenado_COL 3B
+006+ +025+ 19.40 Clayton_Kershaw_LAN PITCH
+007+ +005+ 17.79 Anthony_Rendon_WAS 3B
+008+ +009+ 17.16 Zack_Greinke_TOT PITCH
+009+ +045+ 16.61 Bryce_Harper_TOT RF-CF
+010+ +039+ 16.55 Mookie_Betts_BOS RF-CF
+011+ +027+ 16.17 Christian_Yelich_TOT CF-LF-RF
+012+ +002+ 15.96 Gerrit_Cole_TOT PITCH
+013+ +014+ 15.81 Nelson_Cruz_TOT DH
+014+ +008+ 15.60 Cody_Bellinger_LAN 1B-LF-CF-RF
+015+ +012+ 15.54 Mike_Trout_ANA CF-DH
+016+ +043+ 15.12 Edwin_Encarnacion_TOT DH-1B
+017+ XXXXX 15.12 Corey_Kluber_CLE PITCH
+018+ +004+ 15.04 Hyun-Jin_Ryu_LAN PITCH
+019+ +049+ 15.01 Charlie_Blackmon_COL CF-RF
+020+ +117+ 14.89 Aaron_Nola_PHI PITCH
+021+ XXXXX 14.62 Giancarlo_Stanton_TOT RF-DH-LF
+022+ +023+ 14.62 George_Springer_HOU CF-RF-DH
+023+ +028+ 14.59 Stephen_Strasburg_WAS PITCH
+024+ +172+ 14.45 Aaron_Judge_NYA RF-DH
+025+ +072+ 14.26 Javier_Baez_CHN 2B-SS-3B

The above shows rank for this three year split as well as rank for the 2019 season.  The WAA column is the addition of all three years used to determine rank.  As always, pitchers and hitters, AL and NL, all ranked together like in one big bowl of soup.  Pitchers produce runs by not giving up runs, hitters produce runs by driving them in or by scampering around bases to score them.

In the past three years there have been almost 2000 players who made an MLB appearance making the above 25 players considered top 1%ers.   They all can be considered superstars these last three years.  That doesn’t make them superstars next season.  The above is a reflection upon the past.

Most of the above players are not free agents.  At 25.81 Jacob deGrom averaged a little above 8 WAA per year.  This means that each year, if the rest of each Mets team played completely average, the Mets would end each season at 85-77 based upon deGrom’s pitching alone.  He has pitched well.  His team on the other hand …

Since the 2016 season dropped off these 3 year splits Cubs players will drop the most.  Javier Baez hangs in there at #25 having a career year in 2018.

Ranks 7-25 are fairly bunched up.  Although the top three, clearly in the lead are pitchers, there are only 10 pitchers in the top 25.  Mike Trout is ranked #15 last three years which will differ from the WAR table below.


Rank 2019 Rank WAR oWAR dWAR Name_Teamid Pos
+001+ +003+ 25.2 24.9 1.1 Mike_Trout_ANA CF-DH
+002+ +012+ 24.1 17.2 5.5 Mookie_Betts_BOS RF-CF
+003+ +022+ 21.9 X X Max_Scherzer_WAS PITCH
+004+ +008+ 21.3 X X Jacob_deGrom_NYN PITCH
+005+ +005+ 20.4 X X Justin_Verlander_TOT PITCH
+006+ +002+ 19.4 19.8 1.1 Alex_Bregman_HOU 3B-SS
+007+ +032+ 19 14.5 3 Aaron_Judge_NYA RF-DH
+008+ +085+ 18.7 X X Aaron_Nola_PHI PITCH
+009+ +009+ 18.6 19.1 -1.4 Christian_Yelich_TOT CF-LF-RF
+010+ +023+ 18.5 15.3 4.1 Nolan_Arenado_COL 3B
+011+ +013+ 18.5 11.4 8 Matt_Chapman_OAK 3B
+012+ +102+ 18.1 16.7 2.4 Jose_Ramirez_CLE 3B-2B
+013+ +043+ 18.1 15 5.6 Francisco_Lindor_CLE SS
+014+ +001+ 17.4 13.4 2.1 Cody_Bellinger_LAN 1B-LF-CF-RF
+015+ +085+ 17.2 16.9 1.6 Jose_Altuve_HOU 2B
+016+ +015+ 16.4 16.6 0.9 Anthony_Rendon_WAS 3B
+017+ +028+ 15.8 X X Zack_Greinke_TOT PITCH
+018+ XXXXX 15.4 8.5 9.3 Andrelton_Simmons_ANA SS
+019+ +015+ 15.4 X X Stephen_Strasburg_WAS PITCH
+020+ +176+ 15.2 X X Chris_Sale_BOS PITCH
+021+ +134+ 15 10.7 5.5 Lorenzo_Cain_TOT CF
+022+ +055+ 15 13.4 -0.8 Freddie_Freeman_ATL 1B-3B
+023+ +010+ 15 X X Gerrit_Cole_TOT PITCH
+024+ +014+ 14.6 12 5.1 Trevor_Story_COL SS
+025+ +005+ 14.3 X X Mike_Minor_TOT PITCH

All WAR data displayed here is calculated by  Our detailed explanation written in 2013 about WAR can be read here.  The above rank columns are the same as in the WAA table.  Ranks for WAR are calculated from the combined WAR for each player using the same methodology used to rank WAA values.

Baseball-reference calculates an oWAR (offense) and dWAR (defense) component which is shown above.  Since WAR folds very subjective and error prone defense theories into their calculation,  showing all three WAR columns provide context as to why some players rank so high or low.

Slight diversion: This brings us back to 2012 when this happened.

Rank WAR oWAR dWAR Name_TeamID Pos Year
+039+ 4.8 1.5 3.6 Darwin_Barney_CHN 2B 2012

Darwin Barney had a combined WAR of 4.8 in 2012 ranking him +39 in MLB on a Cubs team that went 61-101, WAA=-40.     By showing dWAR we can see Darwin Barney’s defense was a significant factor in his combined WAR.  He did win a gold glove that season but how many games did his defensive skills win for the Cubs?  Here’s his long form record according to this data model.

Rank WAA BA OBP PA RBI R Name_TeamID Pos
-126- -1.87 0.254 0.299 588 44 73 Darwin_Barney_CHN 2B  2012

This is a rather large dispute between the two value systems.  Based on the Cubs overall seasonal record this data model shows what part of that –40 Darwin Barney contributed, -1.87.  That’s how this model works.  Not sure what WAR=4.8 is supposed to mean.

FanGraphs has their own own way of calculating WAR which is described in this article:

A Layman Attempts To Calculate WAR: Batting Runs. 

The article ends with them calculating only one component of WAR.  Even the person interviewed didn’t fully understand how a Fangraph WAR is calculated.

This data model found baseball-reference to be the most accurate after spot checking which is why we use it for context in every post like this.  Fangraph WAR is very inflated.  Generally this model and WAR agree on top and bottom players with exceptions.  This is why playoff horse race and WAR models converged in late stages of playoff season because concentration of top players playing is highest.

Highlighted in bold blue in the above WAR 3 year split table show players who propelled to the top based upon rather subjective defense theories.  Mike Trout isn’t one of them, his value is mostly oWAR which makes his an almost apples to apples comparison with this model.

Trout plays for the Angels who have been a below average team these last three years.  This model counts runs actually produced.  WAR estimates runs based on hits and lots of other factors.  That model favors players like Trout.  Trout is a #1 player if MLB baseball wins and losses were determined by Draft Kings.  In real baseball games however teams win by the runs they score and don’t let up which is what this data model counts.  That Trout is ranked  #15 by this data model for the last three years is still extremely good making him an elite MLB player on a mediocre sub average team.

The next post will show Trout ranking #4 for the 2010 decade even though he didn’t play an entire decade.  He will soon be the #1 active player based upon career numbers and most likely a first ballot HOF — especially if ANA can win a World Series now that Joe is managing them.

Top 25 players of the decade coming tomorrow before the decade ends — hopefully.  Until then …