Author Archives: mea

Cubs Status 6/14/2019

It has been 2 weeks since we last did a Cubs Status post.  Let’s look at the current Cubs team using the current prototype template for team status.  This template is a work in progress.

CHN Team Status

CHN 31 23 25.5 29.9 -4.4 20190531
CHN 38 30 35.3 31.2 -2.7 20190614

The above shows team status lines for today and 2 weeks ago.  Cubs went 7-7 , even steven even though  BAT, PITCH and UR all improved a little.

CHN Tier Data

Type Name_TeamID Tier #
Lineups 2.33
SP Yu_Darvish_CHN -1.73
SP Cole_Hamels_CHN 2.52
SP Kyle_Hendricks_CHN 2.42
SP Jon_Lester_CHN -0.03
SP Jose_Quintana_CHN 0.42
Relief -0.68

The above shows tier values for each category.  Lineups and Relief are groups of players, Starters (SP) uses an individual value.  Since the Cubs start late again tonight, the CHN lineup value is from yesterday.

A tier value of +2 means one complete standard deviation above the league average according to current rosters for all 30 MLB teams.  Right now this model maxes out at +3 but that will be changed in the next simulation iteration.  Cubs have two very above average pitchers and Lester had a bad outing last night so he’s almost even steven with the league.

Cubs lineup is valued very above average which reflects their BAT in team status.  Relief is underwater which we’ll see below.

CHN Starters

Rank WAA Name_TeamID IP
+034+ 2.77 Cole_Hamels_CHN 84.7
+035+ 2.69 Kyle_Hendricks_CHN 84.0
XXXXX 0.90 Jose_Quintana_CHN 78.7
XXXXX 0.50 Jon_Lester_CHN 70.7
XXXXX -1.01 Yu_Darvish_CHN 72.3
Total 5.85 0.567

Starters a evaluated in simulation as a single entity.  Lester had a bad outing and Darvish still has potential.  This model only shows the past and not the future so ifs and ands don’t count.

CHN Relief

Rank WAA Name_TeamID IP
+146+ 1.34 Brandon_Kintzler_CHN 29.7
XXXXX 0.76 Steve_Cishek_CHN 28.0
XXXXX 0.63 Tyler_Chatwood_CHN 35.0
XXXXX 0.00 Kyle_Ryan_CHN 22.7
XXXXX -0.15 Pedro_Strop_CHN 13.0
XXXXX -0.29 Mike_Montgomery_CHN 15.7
XXXXX -0.36 Carl_Edwards_CHN 15.0
-117- -1.30 Brad_Brach_CHN 26.3
Total 0.63 0.515

In past years CHN relief has been very strong.  In 2017 the relief staff kept the Cubs in contention until All Star Break.  The above is underwater according to current league roster.  Brad Brach would be counted in the new iteration based upon he is still frequently used.  He was an off season acquisition to shore up relief.

The above however is the past and everything either goes up, down, or stays the same.  Corey Kluber will be on the team at the end of June so hopefully he helps

CHN Hitters

Rank WAA Name_TeamID Pos
+053+ 2.35 Anthony_Rizzo_CHN 285
+055+ 2.31 Javier_Baez_CHN 287
+061+ 2.23 Kris_Bryant_CHN 286
+135+ 1.41 Willson_Contreras_CHN 230
+152+ 1.30 David_Bote_CHN 196
XXXXX 0.69 Kyle_Schwarber_CHN 263
XXXXX 0.48 Victor_Caratini_CHN 61
XXXXX -0.17 Jason_Heyward_CHN 255
XXXXX -0.25 Albert_Almora_CHN 208
XXXXX -0.25 Addison_Russell_CHN 90
XXXXX -0.67 Daniel_Descalso_CHN 158
XXXXX -0.80 Carlos_Gonzalez_CHN 146
Total 8.63 0.564

Rizzo, Baez, and Bryant all racing to the top of the league.  WAR is in agreement with this model for Rizzo and Bryant but has Baez ranked #12 which is good for his MVP chances.

WAR had a defensive component, dWAR, which gives Baez a very high value of 1.2 that caused his value to go higher than this model.     Based upon personal anecdotal observations of Baez,  WAR could be correct and his defense might propel him into the top #25 somewhere from his current rank of #55.

Defensive value require counting runs that should have scored that didn’t and runs that did score that shouldn’t have.  If we could count this accurately  that could be added to this model.   MLB can barely assign errors correctly — which this model does keep track of.   Great plays you see on ESPN highlights are very rare.  Other methods like UZR kind of work showing who is very good defensively and who is very bad but it’s too error prone for the muddy middle where the vast majority of baseball players lie.

If you don’t know something you can’t count it.

That’s all for now.  In a couple of weeks our annual All Star picks and perhaps a mid season minor league snapshot.

Cubs Dodgers Matchup

Cubs play the first place Dodgers tonight very late. < anti jinx on > This series could be a precursor to the NLCS this year. </ anti jinx >

LAN Team Status

LAN 29 16 41.5 20.4 -6.5 20190516
LAN 43 20 51.9 52.4 -2.9 20190606
LAN 45 23 38.6 67.2 -2.8 20190613

In the last month the Dodgers went 16-7 gaining 9 games which is a tremendous run.  Both BAT and PITCH way above average and UR has improved as well.  This is a team running away with the AL West and according to the last Playoff Horse Race post,  they were almost tied for the best in MLB Total WAA according to this data model.  Let’s see how that breaks down below.

CHN LAN 06_13_10:10_PM

WAA Vegas TC Sim EV L S R
CHN 9 0.392 0.413 X 0.84 0.85 -0.74
LAN 22 0.630 0.587 X 2.67 1.70 0.39

TC Sim and Vegas pretty much agree on this game.  Tier numbers in Lineups, Starter, and Relief columns all show LAN well ahead of CHN.  The only stat that matters in baseball,  team WAA in the first column shows LAN way ahead of CHN as well.

Starters WAA WinPct IP Tier
Jon_Lester_CHN 1.28 0.588 65.7 0.85
Clayton_Kershaw_LAN 2.04 0.639 66.0 1.70

Cubs ace against Dodgers ace.  Not much more to say about this.

LAN Starters

Rank WAA Name_TeamID IP
+001+ 6.05 Hyun-jin_Ryu_LAN 86.0
+063+ 2.12 Clayton_Kershaw_LAN 66.0
+067+ 2.08 Rich_Hill_LAN 45.0
+090+ 1.81 Walker_Buehler_LAN 75.3
XXXXX 0.80 Kenta_Maeda_LAN 71.7
Total 12.86 0.668

These are the starters Cubs may have to deal with these next few days.  This is a best in MLB starting rotation according the last snapshot of the Playoff Horse Race .  It is currently tied with Houston for best in MLB.

LAN Relief

Rank WAA Name_TeamID IP
XXXXX 1.20 Ross_Stripling_LAN 46.7
XXXXX 0.88 Pedro_Baez_LAN 29.3
XXXXX 0.86 Julio_Urias_LAN 37.3
XXXXX 0.84 Kenley_Jansen_LAN 26.7
XXXXX 0.67 Dylan_Floro_LAN 23.0
XXXXX 0.00 Yimi_Garcia_LAN 24.7
XXXXX -0.44 Caleb_Ferguson_LAN 18.3
-073- -1.60 Joe_Kelly_LAN 21.3
Total 2.41 0.548

Current league average for relief is 1.77 per team so this staff is slightly above league average.  Relief can become problems for teams in playoff season.  Cubs relief is below league average right now with a tier number of -0.74 which is displayed above in the game table.

Currently TC Sim evaluates a relief staff on the top 8 relievers.  This will be changed in the next iteration of the simulator.  I’m debating between top 5 or 6 but need to look at the historical data first to make a determination.  The next simulation post will cover how relief was used historically and how this determination will be made.

Joe Kelly above is currently dragging down the value of this relief staff.  Joe Kelly’s career year was with the 2013 St. Louis Cardinals which was covered in our minor league reboot series.

LAN Lineup 06112019

Rank WAA Name_TeamID Pos PA
+038+ 2.71 Joc_Pederson_LAN LF 212
+070+ 1.83 Max_Muncy_LAN 1B-2B-3B 257
XXXXX 0.13 Justin_Turner_LAN 3B 245
+009+ 4.30 Cody_Bellinger_LAN RF-1B 276
+115+ 1.72 Corey_Seager_LAN SS 265
XXXXX 0.08 Alex_Verdugo_LAN CF-RF 199
XXXXX -0.27 Chris_Taylor_LAN LF-2B-SS 188
XXXXX 0.53 Enrique_Hernandez_LAN 2B 233
XXXXX -0.17 Austin_Barnes_LAN CR 145
Total 10.86 0.603

Have to go back two days to get Dodgers’ last lineup.  This is almost a maxed out tier 3 lineup like the Cubs faced with Colorado.  WAR has Cody Bellinger #1 in MLB and we have him #9 so in the same ballpark.

Edit: Just noticed no pitchers listed above.  Apparently LAN played against ANA with a DH that game — soon to come to NL in 2022.  Kershaw’s terrible hitting won’t drag the above down that much.

These reports assume we know the status of the Cubs’ roster.  That hasn’t been done here in two weeks so a Cubs status report will publish tomorrow.  Until then ….

Cubs Rockies Matchup … Again

Cubs played the Rockies at Wrigley a week ago and now they’re in Colorado.  Yesterday was the first game of this series and Cubs lost.  Let’s do a dump of this matchup with some commentary in between.

COL Team Status

COL 31 27 40.0 -35.0 9.2 20190604
COL 34 31 38.3 -39.4 11.5 20190611

Rockies went 3-4 this last week losing a game.  PITCH and BAT down a little and UR up again.  Unfortunately for COL the Dodgers are running away with the NL West so far this season.  COL is in the hunt for a Wild Card.

CHN COL 06_11_8:40_PM

WAA Vegas TC Sim EV L S R
CHN 9 0.558 0.496 X 1.18 0.66 -0.27
COL 3 0.463 0.504 X 3.00 0.02 1.82

Vegas favors Cubs more than TC Simulation.  COL has a maxed out lineup ( which will be fixed in next simulation iteration ) and a decent relief staff.

Starters WAA WinPct IP Tier
Jose_Quintana_CHN 1.07 0.565 74.0 0.66
Peter_Lambert_COL 0.50 NA 7.0 0.02

Lambert is a new guy so this game would be a discard no matter what the simulation says.  Pitchers need a certain amount of innings to make a more accurate determination if they can pitch in MLB.  All new players start out at WAA=0 which is completely average.  Not all new guys are completely average though because they haven’t proven themselves yet.   This is only a problem with the Starter (S) category because it relies on the value of a single player.  Lineups and Relief are groups of players so a single anomaly like a new guy won’t affect the group value much.

COL Starters

Rank WAA Name_TeamID IP
XXXXX 0.50 Peter_Lambert_COL 7.0
XXXXX 0.40 German_Marquez_COL 96.7
XXXXX 0.19 Jon_Gray_COL 78.0
XXXXX -0.82 Antonio_Senzatela_COL 60.0
-033- -2.21 Jeff_Hoffman_COL 25.7
Total -1.94 0.467

Their Starting rotation is below average which reflects their PITCH in team status.

COL Relief

Rank WAA Name_TeamID IP
+094+ 1.72 Scott_Oberg_COL 29.3
XXXXX 0.86 Wade_Davis_COL 16.7
XXXXX 0.63 Jairo_Diaz_COL 10.3
XXXXX 0.63 Bryan_Shaw_COL 37.0
XXXXX 0.57 Jake_McGee_COL 7.7
XXXXX 0.21 Chad_Bettis_COL 37.0
XXXXX 0.19 Carlos_Estevez_COL 30.7
XXXXX 0 Phil_Diehl 0
Total 4.81 0.628

Their relief staff above average which probably means COL is churning it. Tiering is done based upon Total WAA=4.81 and not WinPct=0.628.  According to game records above COL has a Tier number of 1.82 which is almost a complete standard deviation above league average.  This is pretty good considering their terrible PITCH based upon seasonal runs scored against.

COL Lineup 6/10/2019

Rank WAA Name_TeamID Pos PA
+091+ 1.51 Charlie_Blackmon_COL RF 228
+020+ 3.32 Trevor_Story_COL SS 285
XXXXX 1.01 David_Dahl_COL LF-RF-CF 223
+009+ 3.74 Nolan_Arenado_COL 3B 281
XXXXX 1.18 Daniel_Murphy_COL 1B 149
XXXXX -0.04 Raimel_Tapia_COL LF 206
XXXXX 0.73 Ryan_McMahon_COL 2B-1B 167
XXXXX 0.08 Tony_Wolters_COL CR 155
XXXXX 0.38 German_Marquez_COL PR 31
Total 11.91 0.633

COL fielded this lineup yesterday and it’s  powerful and top of MLB right now.

Not much more to say about this series.  Reports like this will soon be automated for every team every game.  Until then ….

Cubs Cardinals Matchup … Again

Cubs play the Cardinals again at home after losing to them in St. Louis a week ago.  Let’s see what the Cardinals have been up to during these last seven days.

SLN Team Status

SLN 27 28 7.0 2.8 1.6 20190531
SLN 31 29 -7.2 19.7 3.4 20190607

BAT about the same, PITCH has improved significantly and the Cardinals went 4-1 gaining 3 games.  Let’s look at game records for today.

Correction 6/9/2019:  Missed the minus in the above  BAT number for 6/7/2019.   Thus, in the last week the Cardinals’ BAT tanked almost as much as their PITCH gained.

SLN CHN 06_07_2:20_PM

WAA Vegas TC Sim EV L S R
SLN 2 0.469 0.448 X -0.41 -0.16 2.58
CHN 7 0.552 0.552 X 1.40 1.06 -0.15

Vegas and Tier Combo simulation exactly in agreement today.  L, S, and R represent Lineup, Starter, and Relief tier numbers.  A tier number of 2 or -2 is either one standard deviation above or below current league average for that category.

Starters WAA WinPct IP Tier
Miles_Mikolas_SLN 0.29 0.519 69.3 -0.16
Cole_Hamels_CHN 1.32 0.585 69.7 1.06

Mikolas has been climbing out of a hole he dug earlier in the season and could be on track to match his numbers from last season.  Hamels, at tier 1 , is 1/2 standard deviation above league average for starting pitching.

SLN Starters

Rank WAA Name_TeamID IP
+132+ 1.34 Dakota_Hudson_SLN 65.7
XXXXX 1.24 Jack_Flaherty_SLN 64.7
XXXXX 0.36 Adam_Wainwright_SLN 66.3
XXXXX 0.25 Miles_Mikolas_SLN 69.3
Total 3.19 0.554

The starting rotation has improved since last week which matches what we see with PITCH in team status for the Cardinals.

SLN Relief

Rank WAA Name_TeamID IP
+030+ 2.65 John_Gant_SLN 32.7
+086+ 1.72 John_Brebbia_SLN 30.0
XXXXX 0.46 Giovanny_Gallegos_SLN 24.0
XXXXX 0.38 Jordan_Hicks_SLN 21.3
XXXXX 0.32 Andrew_Miller_SLN 20.7
XXXXX 0.23 Ryan_Helsley_SLN 8.0
XXXXX 0.15 Tyler_Webb_SLN 19.0
XXXXX 0.13 Carlos_Martinez_SLN 7.0
-039- -2.02 Michael_Wacha_SLN 50.0
Total 4.02 0.585

Their relief staff has improved as well.

SLN Lineup 6/7/2019

Rank WAA Name_TeamID Pos PA
XXXXX -1.11 Dexter_Fowler_SLN RF-CF 190
XXXXX 0.36 Paul_DeJong_SLN SS 254
XXXXX -0.04 Paul_Goldschmidt_SLN 1B 257
+017+ 3.40 Marcell_Ozuna_SLN LF 242
XXXXX -0.27 Jedd_Gyorko_SLN 3B 60
XXXXX -0.48 Harrison_Bader_SLN CF 142
XXXXX 0.36 Matt_Wieters_SLN CR 46
XXXXX -0.57 Kolten_Wong_SLN 2B 221
XXXXX -0.40 Miles_Mikolas_SLN PR 23
Total 1.25 0.517

Pretty average lineup which matches their BAT in team status.  As a season progresses seasonal data like run differential will diverge from actual roster data.  Right now BAT and PITCH are tracking closely with Cardinals’ roster.  When trading season begins this could change and SLN is still in the hunt.

It should be noted that WAR has Dexter Fowler ranked #112 and Marcell Ozuna ranked #126 which differs significantly from this data model.  If you were a baseball GM and could choose either of these players, which one would you choose?   A value system must itself be evaluated as to how it chooses who is better.

Not much more to say about SLN since we covered them a week ago.  Still working on next simulation iteration to fix some problems and hopefully up % gain on Vegas.  More on that later.  Until then ….

2019 Playoff Horse Race Part 3

It has been a little over two weeks since Part 2 of this series so let’s take a look at where the playoff horse race stands a little over 1/3 into the 2019 season.

The table below is the same as before except it is sorted by the only stat the MLB commissioner cares about, team WAA, team wins minus losses.   Sorting on Total WAA value according to this data model is good for career tabulations spanning many years but not for current year.

TeamID WAA Total Hitters Starters Relief UR
LAN 23 26.8 13.6 11.0 2.2 -2.9
HOU 21 14.6 2.4 8.7 3.4 11.1
MIN 20 29.0 14.5 8.8 5.7 2.1
NYA 16 15.7 6.1 5.0 4.6 1.1
TBA 13 12.8 -0.7 5.0 8.6 4.1
PHI 8 7.0 7.5 -1.5 0.9 1.1
CHN 8 13.7 6.9 5.4 1.3 -3.9
MIL 6 4.0 5.8 3.0 -4.8 1.1
ATL 5 13.4 7.4 2.9 3.1 -9.9
TEX 3 5.8 6.8 2.7 -3.6 1.1
BOS 3 13.1 6.8 1.6 4.6 -0.9
COL 2 8.6 9.7 -1.3 0.2 10.1
SLN 1 6.4 0.3 2.5 3.6 3.1
CLE 1 1.0 -7.0 3.2 4.7 -2.9
SDN 0 1.2 -2.6 2.1 1.7 1.1

Teams in bold are leading their divisions and the rest of these teams are in the Wild Card hunt as well as their own divisions.   In theory Total WAA as estimated by this data model should equal their team WAA in the WAA column.  They don’t for the following reasons.

  • Pythagorean Expectation (PE) used to estimate WAA is not completely accurate.  It is an estimation based upon run differential and many teams will be higher of lower than what PE estimates.  Real life is correct, the estimate is not correct.  Many sites claim that PE calculation represents what a team should have which is incorrect.  It only indicates whether a team is  efficient or inefficient with the runs they score.  Why that is is fodder for arguments at the pub, not for a data model.
  • Injuries:  The above is based on current 25 man rosters.  High value players who get injured, who brought their teams wins before their injury, fall off the list reducing  Total WAA.   This model does not keep track of injuries or 40 man rosters.
  • Replacement Players/Trades:  As a season progresses bad players get replaced by new guys from minors or trades.  WAA for bad players goes off the books and if they trade for a good player, positive value will go onto the books where Total WAA can exceed a team’s  real WAA.  This will become more apparent later in the season — especially as playoff season approaches when contenders stock up for the final stretch to win a World Series.

Color coding of the above table will be automated in the next part.  This is a Keep It Simple Stupid (KISS) model that avoids publishing large tables with a lot of numbers.  There really is no other way to properly present this model data and hopefully color coding will make it easier to read.

All columns above are WAA, wins minus losses numbers.  The UR column is Unearned Runs Above Average which has been described over and over here.  It shows Atlanta (ATL) has the worst UR of the top 15 teams.  UR this bad usually comes back to haunt that team unless they improve by the end of the season.  HOU and COL have the best UR of the top 15 teams.

That is all for now.  Cubs start another series with SLN Friday so we’ll look into what the Cardinals have been up to.  Until then ….