Run Comparisons
In pre-season I wrote: the league leader was putting up numbers between 70-78, while the third-best mark was in the 54-64 range. My best guess right now is that by the end of 2023 we will see numbers about like that.
At the end of the year we had Ronald Acuna leading the majors with 73 (between 70-78), with Esteury Ruiz at 67 and third-place Corbin Carroll at 54 (in the 54-64 range). That held up remarkably well.
Way back when, I used to routinely run stats comparing how different run estimators performed. Been several years since I did that, so time to blow the electron dust off the code and see how things went.
Let’s start with 2023, and say: it was a good year for Equivalent Runs. Here’s how it looks straight off the window (and keep in mind, I apparently wrote the initial version of the code around 1995):
DESK /home/clayd/baseball/alltime $ eqacomp2016
AMERICAN (1) OR NATIONAL (2) LEAGUE, or BOTH (3)?
3
CALCULATE ENTIRE FILE? (1=YES, 2=NO)
2
ENTER FIRST YEAR,LAST YEAR TO WORK (i.e, 1950,1994)
2023,2023
PRINT ALL OUTPUT? (1=YES,0=NO)
1
team year r eqa woba rc bsr
COL-N 2023 721 687 686 703 693 -34 -35 -18 -28
CIN-N 2023 783 792 783 780 788 9 0 -3 5
WAS-N 2023 700 697 692 706 699 -3 -8 6 -1
ATL-N 2023 947 957 966 992 948 10 19 45 1
MIL-N 2023 728 685 692 686 687 -43 -36 -42 -41
ARI-N 2023 746 751 746 741 745 5 0 -5 -1
MIA-N 2023 668 690 701 722 694 22 33 54 26
SF_-N 2023 674 662 662 660 671 -12 -12 -14 -3
NY_-N 2023 717 723 720 714 729 6 3 -3 12
LA_-N 2023 906 889 889 877 882 -17 -17 -29 -24
PHI-N 2023 796 815 811 820 812 19 15 24 16
CHI-N 2023 819 800 795 787 796 -19 -24 -32 -23
PIT-N 2023 692 698 685 680 699 6 -7 -12 7
STL-N 2023 719 761 766 764 764 42 47 45 45
SD_-N 2023 752 769 775 757 767 17 23 5 15
NY_-A 2023 673 667 661 660 677 -6 -12 -13 4
HOU-A 2023 827 820 831 826 816 -7 4 -1 -11
BOS-A 2023 772 776 782 788 773 4 10 16 1
OAK-A 2023 585 625 613 610 629 40 28 25 44
TB_-A 2023 860 839 843 841 832 -21 -17 -19 -28
LA_-A 2023 739 753 755 755 756 14 16 16 17
SEA-A 2023 758 765 764 753 765 7 6 -5 7
BAL-A 2023 807 764 765 765 759 -43 -42 -42 -48
CHI-A 2023 641 615 602 632 626 -26 -39 -9 -15
MIN-A 2023 778 790 801 786 791 12 23 8 13
DET-A 2023 661 655 649 655 662 -6 -12 -6 1
CLE-A 2023 662 681 668 684 677 19 6 22 15
TEX-A 2023 881 872 882 876 866 -9 1 -5 -15
KC_-A 2023 676 686 665 674 682 10 -11 -2 6
TOR-A 2023 746 771 785 782 770 25 39 36 24
EQA 13352. 21.10
WOBA 15830. 22.97
WOBA-RC 15291. 22.58
RC 17446. 24.11
BaseR 13929. 21.55
OPS 18459. 24.81
TA 14917. 22.30
BA 64418. 46.34
OBA 34009. 33.67
SLG 21019. 26.47
BP_BR 13761. 21.42
LW 14704. 22.14
SilverR 16017. 23.11
XR 14123. 21.70
XRR 16179. 23.22
OPS_WRNG 18026. 24.51
MORRIS 19891. 25.75
OPI 40320. 36.66
LGE 151776. 71.13
OTS 19562. 25.54
SCA 69453. 48.12
CA 20940. 26.42
?So the first block (if I print all) gives the actual R estimate for 4 of the stats I run, with the deltas. As you can see, everybody had problems with some teams – Milwaukee, St Louis, Baltimore. The second block is the statistics I have written into the program, along with the error sum of squares and the root mean square error. Let me re-show that last part in reverse order, worst to best
LGE | 71.13 | League average runs per PA. |
SCA | 48.12 | Secondary Average |
BA | 46.34 | Batting Average |
OPI | 36.66 | I don’t remember what this is. A weird linear weight divided by outs. |
OBA | 33.67 | Onbase average. |
SLG | 26.47 | Slugging average |
CA | 26.42 | Combined average (early version of EQA; 2/3 BA + 1/3 ScA) |
MORRIS | 25.75 | Morris Exact RPG |
OTS | 25.54 | Onbase Times Slugging |
OPS | 24.81 | On base plus slugging (normalized seperately) |
OPS_WRNG | 24.51 | Onbase plus slugging (normalized together) |
RC | 24.11 | Runs Created |
XRR | 23.22 | Furtado Extrapolated Runs, Reduced |
SilverR | 23.11 | Silver Linear weights formula |
WOBA | 22.97 | WOBA (book formula) |
WOBA-RC | 22.58 | WOBA (website version with their constants) |
TA | 22.30 | Total Average (Boswell) |
LW | 22.14 | Linear Weights (Palmer) |
XR | 21.70 | Extrapolated Runs (Furtado) |
BaseR | 21.55 | BaseRuns (Smyth) |
BP_BR | 21.42 | BaseRuns – alternate version I developed |
EQA | 21.10 | Equivalent Runs |
I should note a couple of things. Every statistic on this list has access to the same information – AB, H, DB, TP, HR, BB, SO, SB, CS, HBP, SH, SF. And all have access to the league total of runs scored. All statistics will get the league total runs exactly right – the challenge is how to split them amongst the various teams. The typical pattern goes like this:
BA=H/AB/(LGH/LGBA) #calculate normalized variable
BARUN=(1.9*BA-.9)*PA*LGRPPA #use a simple regression equation, which varies with each stat, to get the estimate for runs per plate appearance. A couple of these use Runs per Out, rather than PA.
If someone’s formula relies on errors, they don’t get it here. If they use a different weight for BB and HBP – no. I do force those to be the same.
Lest anyone think that is a fluke, here’s the chart for 2001-2023. EQA comes in third here:
BP_BR | 19.55 |
XR | 19.69 |
EQA | 19.72 |
BaseR | 19.74 |
SilverR | 20.30 |
XRR | 20.30 |
LW | 21.17 |
WOBA | 21.21 |
RC | 21.77 |
WOBA-RC | 22.36 |
TA | 22.37 |
MORRIS | 22.93 |
OPS_WRNG | 24.11 |
OPS | 24.59 |
OTS | 25.21 |
SLG | 26.82 |
CA | 26.97 |
OPI | 30.74 |
OBA | 34.01 |
BA | 43.49 |
SCA | 45.98 |
LGE | 58.87 |
And then again for all of professional league history, 1871-2023:
EQA | 22.87 |
BP_BR | 23.05 |
BaseR | 23.40 |
XR | 23.44 |
SilverR | 23.73 |
XRR | 23.96 |
TA | 24.30 |
WOBA-RC | 24.51 |
WOBA | 24.74 |
LW | 24.85 |
RC | 25.75 |
MORRIS | 27.37 |
OPS_WRNG | 28.12 |
OPS | 28.38 |
OTS | 29.14 |
CA | 29.37 |
SLG | 32.62 |
OBA | 36.14 |
OPI | 36.17 |
BA | 42.39 |
SCA | 47.87 |
LGE | 66.83 |
This is why I keep running things with EQA. I don’t see any evidence that any other stat (other than BaseRuns, either original or my modified version) consistently even as well, much less better. And why I continually sigh over seeing such wide use of WOBA.
While everything on this site is free, a donation through Paypal to help offset costs would be greatly appreciated. -Clay
If you are trying to reach me, drop me an email. Same address as the webpage, but replace ".com" with "@gmail.com".
Archives
- November 2023
- September 2023
- March 2023
- February 2023
- January 2023
- January 2022
- September 2021
- April 2021
- February 2021
- December 2020
- February 2020
- November 2019
- January 2019
- March 2018
- February 2018
- January 2018
- August 2017
- June 2017
- March 2017
- January 2017
- September 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- September 2015
- April 2015
- March 2015
- January 2015
- December 2014
- November 2014
- October 2014
- April 2014
- February 2014
- January 2014
- October 2013
- April 2013
- March 2013
- February 2013
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- August 2011
- July 2011
- June 2011
- May 2011