2019 Playoff Horse Race Part 2

Below is a prototype of the new horse race table which ranks all 30 MLB teams by value of players currently on their roster.  Date for below was taken on 5/18.  Horse race data seems to move at a glacial pace throughout the season.

The pitchers column which added starters and relief was eliminated for simplicity.  The below table is sorted by Total column which  is the sum of values for hitters, starters, and relief according to this data model. Only top half of MLB listed.  The off WordPress site will list all 30 teams every day some time in the future.

The UR column at the end was added recently to show Unearned Runs above average which is a fielding indicator for an entire team.  A team like SEA went through some terrible defense this season and it’s so underwater I’m still wondering if it’s a bug in this model’s data flow.  Haven’t found the bug yet.

Still working on a color scheme for this table.

TeamID W-L Total Hitters Starters Relief UR
HOU 15 17.1 9.4 5.2 2.4 8.3
LAN 14 15.8 9.6 4.1 2.1 -5.7
CHN 10 15.1 6.9 6.5 1.6 -3.7
MIN 14 14.9 5.6 4.3 5.0 3.3
ATL 3 10.8 7.3 2.8 0.7 -7.7
ARI 5 9.9 7.1 1.0 1.8 2.3
TBA 10 9.7 -2.5 3.3 8.8 9.3
PHI 6 9.6 5.1 3.0 1.5 -0.7
NYA 11 8.9 1.8 4.7 2.4 1.3
SEA -3 8.2 10.2 -1.8 -0.1 -26.7
BOS 2 8.1 6.2 -0.9 2.9 -1.7
MIL 7 7.7 9.6 2.0 -3.9 1.3
CIN -5 6.8 -1.0 3.9 3.9 9.3
OAK -4 5.6 4.1 -0.3 1.9 4.3
SLN 1 3.9 5.0 -2.3 1.2 0.3

The values are WAA which is mathematically wins – losses.  Teams wins – losses are easy to calculate.   The math behind this data model calculates it for players with team totals represented above.

Clarification: The UR column is not measured in wins, it’s measured in runs above average.  As of 5/20 SEA is at -29 and in order to make sure that wasn’t a bug in a script I manually checked tables at baseball-reference.  Let’s cover how simple the UR calculation is using SEA numbers.

UR = League_Average - Unearned_Runs
where Unearned_Runs = Runs_Against - Earned_Runs

Not too complicated.  SEA had 292 runs scored against them, 247 were earned making their total Unearned_Runs = 292 – 247 = 45.  League_Average for unearned runs right now is 16.  Thus UR for SEA = 16 – 45  = -29.   Except for taking league averages and looking up each team’s Runs and Earned Runs you could almost do this calculation in your head.  UR is a good defensive indicator at a team level.  Unearned Runs are not counted against a pitcher but the MLB Commish counts them when determining who wins a game.  End of Clarification.

That’s all for now.  While thinking about doing Cubs status I had to fix the scripts that make this table so it ended up here today.  New Cubs status showing how the above numbers are calculated coming soon.  Until then ….