When a player hits 25 home runs at the age of 23 and 25 homers at the age of 40, what one may generally assume is that somewhere in between, he hit 35 or 40. Harold Baines didn’t, and this is what was so weird about his career. When a player drives in 105 runs at age 23 and 103 runs at age 40, one would generally assume that his career high was 137. It seems like he should have set some kind of record other than knee surgeries. Harold had only one other 100-RBI season, that being 113 at the age of 26. It’s not that Baines was bad in those other years; it’s just that he wasn’t any better.
The point of this article is not that Harold Baines should be in the Hall of Fame, but merely that he could be. Baines had more hits, more home runs, and a higher batting average—all three—than 31 Hall of Famers, including four outfielders and a first baseman. He had more RBI than 30 of those players. In spite of this, after several years on the ballot he has yet to draw as much as 7% support in the Hall of Fame voting.
Nor am I saying that that’s wrong; I am merely pointing out that it could be different. We could make Harold Baines a Hall of Famer, I believe, merely by re-arranging his performance. At least, we’re going to try.
This is the second piece of Trash Sabermetrics that I promised you or, if you prefer, threatened you with. We’re going to take a log of all the games that Harold Baines played in his career, game by game, and then we’re going to re-arrange them so that they look better.
Baines missed the Hall of Fame, I believe, because he packaged his production wrong. He missed the cut-offs, stepped on the magic numbers. He needed to hit .300 with 12 homers and 70 RBI one year, then hit .280 with 36 homers and 120 RBI the next year. Instead, he hit .290 with 24 homers and 95 RBI both years. He drove in 99 runs, 95, 94, 93, and 90. He hit 20 homers eleven times, but with a career high of 29. He did hit .300 eight times, but he also hit .299, .296, .295, .294 and .290. He never had 200 hits in a season—198, yes, but not 200.
Among the keys to having star-type numbers is playing enough games that you can reach the standards. Baines, like Norm Cash, would play 140 games a year and bat 480 times a year. He had ten seasons with 400 to 505 at bats. It’s tough to drive in 100 runs in 475 at bats. It’s a great deal easier in 600.
Please note that our Alternative Harold is not 1% better or worse than the real Harold Baines. Every game that Harold Baines played has an exact match in our alternate reality. The totals are precisely the same. All we’re doing is, we’re moving the boxes around.
We start by creating a log of every game that Baines played, which we can do very easily through the wonders of Retrosheet.org and Excel.xls.
The next thing we need to do is to sort out those games in which Baines had three at bats or less, and make several “seasons” out of those.
Why?
Well. . ..Tony Perez. Tony Perez in his career had 2,732 hits; Baines had 2,866. Perez had 379 homers; Baines had 385. Perez had 1,652 RBI: Baines had 1,628. Perez hit .279; Baines hit .285. Perez had an OPS of .804, Baines had an OPS of .820.
Nonetheless, Perez’ numbers look better, and the basic reason that they look better is that Perez had eight seasons (two at the start of his career and six at the end) of 69 to 104 games played with 137 to 306 at bats. Baines had a few of those, too (three), but basically, Baines mixed in all of those pinch-hitting appearances and days off to rest his aching knees into his regular seasons. Perez had seasons of 160 games and 600 at bats, and seasons of 80 games and 200 at bats. Baines had seasons of 120 games and 400 at bats. That enabled Perez to reach the magic numbers much more often. By taking these “low at bat” games out of Baines “regular production”, we’ll make it much easier, later on, for him to get the at bats that he needs in the other seasons.
So we sort out all of the games in which Baines had 3 at bats or less, and then we sort those at random to make “bench player seasons” for him. We need “full time seasons” and “bench player seasons”.
Baines had 539 games in his career in which he had 3 plate appearances or fewer (I would guess that Perez had about the same number.) That’s actually not quite enough for what we are doing. A bench player sometimes is in the lineup. If we divide those 539 games into eight seasons, that would be only 69 games per season. We want more like 85, so we need to take another 130 games, and mix them into the bench player seasons.
OK, how do we find those games?
Well, we don’t want really good games in there, because these aren’t “star” seasons. On the other hand, we don’t want all terrible games in there, either, because that would give him eight seasons as a bench player, but a .185 batting average as a bench player, which a) would be unrealistic, and b) would look bad.
What we’ll do is, we’ll move out of range or “protect” all of the games in which Baines had 3 or more RBI (132 games) and all of the games in which he had 4 or more hits (another 25 games.) For the sake of clarity, Baines had 140 games in his career in which he had 3 or more RBI and 36 games in which he had 4 or more hits, but we’re not “protecting” all of those. We’re not protecting the games in which he had 3 or more RBI with 3 or less at bats, and many of the games in which he had 4 or more hits were also the games in which he had 3 or more RBI, so those don’t need to be protected separately.
Then, having protected most of the “special” games to keep them available for the prime years, we select at random 130 games to be included as games that Alt-Baines started in his bench player seasons.
OK, now we have 669 games for Baines as a bench player, during which games he hit .246 with a .698 OPS, 41 homers. (Baines actual record, in the 539 games in which he had three plate appearances or less, was .243 with 25 homers, 140 RBI and a .678 OPS. This is generally true, that if you take any player and sort out the games in which he has three plate appearances or less, he will not have hit well in those games.) Anyway, we sort those games at random until we get “seasons” that look realistic, which happens almost immediately. These are the eight “bench seasons” that we have created for Alt-Baines:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
67
|
136
|
13
|
38
|
9
|
1
|
3
|
20
|
19
|
21
|
1
|
0
|
.279
|
.365
|
.426
|
.792
|
91
|
248
|
42
|
73
|
10
|
1
|
12
|
46
|
25
|
33
|
2
|
0
|
.294
|
.359
|
.488
|
.847
|
102
|
211
|
22
|
44
|
8
|
1
|
6
|
21
|
23
|
32
|
1
|
3
|
.209
|
.288
|
.341
|
.629
|
102
|
219
|
16
|
46
|
10
|
0
|
4
|
26
|
25
|
37
|
1
|
1
|
.210
|
.291
|
.311
|
.601
|
92
|
211
|
21
|
58
|
9
|
0
|
5
|
30
|
24
|
34
|
1
|
1
|
.275
|
.352
|
.389
|
.740
|
73
|
179
|
16
|
41
|
6
|
2
|
5
|
26
|
15
|
34
|
0
|
0
|
.229
|
.292
|
.369
|
.661
|
57
|
120
|
11
|
24
|
7
|
2
|
1
|
17
|
13
|
20
|
0
|
0
|
.200
|
.278
|
.317
|
.595
|
85
|
187
|
15
|
48
|
5
|
0
|
5
|
20
|
15
|
35
|
0
|
0
|
.257
|
.312
|
.364
|
.676
|
Later on we will worry about where to position these in the Alt-Baines career. Now we delete all of those games’ from Baines Game Log, so that we don’t re-use any of those game lines.
The next thing we need to do is to ensure that the Alt-Baines has a couple of MVP-type seasons. Having a couple of MVP-type seasons is essential to the perception of a player as a star. A player who just goes along playing pretty well every year will slip under the radar, compared to an equally good player who concentrates more production into a shorter time frame.
We could, of course, simply put all of Baines’ best games into one season, creating a “season” in which Baines hits .525 with 128 homers, 522 RBI. That would be preposterous. We could also give Baines a couple of obvious MVP seasons, seasons in which he hits .350 with 48 homers, but that doesn’t really help him; that just tends to make the rest of his career look bad. We want realistic star seasons, like Tony Perez had in 1969 and 1970 (.294 with 37 homers, 122 RBI and .317 with 40 homers, 129 RBI.) We’ve got Perez Envy.
We can create these seasons by simply sorting Baines’ game log at random, making 162-game totals, and seeing what falls out. What occurs at random will be a realistic statement of the seasons that Baines could have had.
An observation. Baines now drives in 100 runs in almost all of his remaining 162-game groups. When we isolate Baines low-plate appearances games, he drives in well over 100 runs per 162 games in the remaining games, thus making most of his random groups into Hall of Fame seasons. At this point it is fairly hard not to find a Hall of Fame season.
So the first group of games that we will take out is this random group:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
162
|
639
|
87
|
217
|
41
|
2
|
36
|
141
|
68
|
91
|
1
|
0
|
.340
|
.403
|
.579
|
.982
|
And the second random group is this one:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
162
|
640
|
105
|
208
|
41
|
2
|
38
|
130
|
54
|
91
|
4
|
1
|
.325
|
.380
|
.573
|
.954
|
And once more, we take these games out of the Game Log, so that we don’t re-use these lines.
From now on, our task is to re-arrange Baines’ production so that Alt-Baines meets as many star-type accomplishments as is realistic. Of course, taking these two MVP-candidate seasons out of Baines’ log weakens what is left, and we can’t assign him to play 162 games every season; that’s unrealistic, unless we’re making him Cal Ripken.
In what is left of Baines career he hit .291 with 269 homers, 1,151 RBI and 2000+ hits, so we have a lot left here to work with. We can make our task easier by giving him a really bad season, because the press will totally overlook one really bad season; it’s just an injury year. Let’s form a group of. . .let’s say 112 games. ..that we can live without.
I had to sort the data several times to get the year that I wanted, but eventually we come up with it:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
112
|
436
|
46
|
98
|
27
|
3
|
5
|
35
|
42
|
67
|
2
|
0
|
.225
|
.294
|
.335
|
.629
|
Now we’re just going to sort the games at random and see what comes out. We’re looking for groups of games, about the length of a season, in which Baines meets standards of excellence (.300, 100 RBI, 30 homers, 100 runs scored, 200 hits), but does not substantially exceed them, so that he can meet as many as possible of those standards with the seasons that remain. Here are three groups that work:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
153
|
604
|
82
|
177
|
20
|
6
|
31
|
100
|
53
|
85
|
2
|
2
|
.293
|
.351
|
.500
|
.851
|
143
|
562
|
80
|
160
|
25
|
4
|
33
|
103
|
67
|
76
|
2
|
0
|
.285
|
.362
|
.520
|
.881
|
152
|
568
|
78
|
183
|
24
|
1
|
23
|
101
|
75
|
69
|
1
|
2
|
.322
|
.401
|
.489
|
.890
|
At this point we’re driving his OPS down, and we don’t want to drive it down too rapidly, so at this point we have to switch to a slightly more sophisticated sort mechanism. We need to create a few low-OPS seasons that are consistent with his career, such as seasons in which Alt-Baines hits .300 but with little power—such as a player often does early in his career-- and seasons in which he hits for power and walks but hits for a low average, such as a player often does late in his career. We make a figure. . .let’s say (3B + SB + R + H – HR – RBI – BB – SO)/10. If we sort the career by that figure alone, all of the triples and stolen bases will go to one end of the chart, while all of the home runs and strikeouts will go to the other. We don’t want all of them to separate; we just want that to tend to happen. We can do that by adding the “age formula” (above) to five times a random number. That will give us what is basically a random sort, but with some tendency for the games with triples and stolen bases and hits to go to one end of the chart, and some tendency for the games with homers and walks to go to the other end.
Experimenting, I find that the formula above doesn’t exactly work. The formula that actually works is (3B + SB + R + H/2 – 4*HR – RBI – BB – SO) /10 + 7 * (Rand). That enables us to sort out a season for early in the player’s career, in which he hits .300, but with a relatively low OPS, and a season for late in the player’s career, in which he has a relatively low OPS but drives in 100 runs:
GS
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
143
|
541
|
76
|
163
|
28
|
4
|
10
|
76
|
58
|
84
|
2
|
3
|
.301
|
.368
|
.423
|
.791
|
145
|
563
|
60
|
158
|
21
|
1
|
22
|
103
|
58
|
93
|
0
|
2
|
.281
|
.349
|
.439
|
.788
|
At this point we’ve selected 16 seasons for Alt-Baines, and we still have 988 games left—7 seasons—during which Baines hit .294 with an .833 OPS. We’re just going to sort them at random, and pick out groups of 150 to 160 games that look good:
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
CS
|
AVG
|
OBP
|
SLG
|
OPS
|
155
|
581
|
94
|
181
|
31
|
3
|
26
|
120
|
84
|
77
|
2
|
2
|
.312
|
.398
|
.509
|
.908
|
155
|
604
|
77
|
187
|
33
|
3
|
19
|
87
|
68
|
93
|
4
|
5
|
.310
|
.380
|
.469
|
.849
|
162
|
632
|
86
|
192
|
34
|
3
|
29
|
109
|
65
|
89
|
1
|
4
|
.304
|
.370
|
.505
|
.874
|
160
|
624
|
86
|
159
|
26
|
2
|
23
|
100
|
67
|
84
|
2
|
0
|
.255
|
.327
|
.413
|
.741
|
160
|
629
|
85
|
179
|
40
|
3
|
19
|
100
|
68
|
90
|
1
|
3
|
.285
|
.354
|
.448
|
.803
|
158
|
626
|
81
|
190
|
29
|
4
|
24
|
101
|
55
|
78
|
2
|
3
|
.304
|
.360
|
.478
|
.837
|
39
|
148
|
20
|
42
|
4
|
1
|
5
|
16
|
21
|
28
|
2
|
2
|
.284
|
.373
|
.426
|
.799
|
OK, now we have 23 seasons of performance which, in the aggregate, will exactly duplicate Harold Baines’ performance (including in things like HBP and GIDP, which were not explicitly tracked here because it makes the line too wide.) These are those 23 seasons (eliminating Caught Stealing to make room):
Year
|
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
AVG
|
OBP
|
SLG
|
OPS
|
1
|
57
|
120
|
11
|
24
|
7
|
2
|
1
|
17
|
13
|
20
|
0
|
.200
|
.278
|
.317
|
.595
|
2
|
91
|
248
|
42
|
73
|
10
|
1
|
12
|
46
|
25
|
33
|
2
|
.294
|
.359
|
.488
|
.847
|
3
|
102
|
211
|
22
|
44
|
8
|
1
|
6
|
21
|
23
|
32
|
1
|
.209
|
.288
|
.341
|
.629
|
4
|
102
|
219
|
16
|
46
|
10
|
0
|
4
|
26
|
25
|
37
|
1
|
.210
|
.291
|
.311
|
.601
|
5
|
92
|
211
|
21
|
58
|
9
|
0
|
5
|
30
|
24
|
34
|
1
|
.275
|
.352
|
.389
|
.740
|
6
|
73
|
179
|
16
|
41
|
6
|
2
|
5
|
26
|
15
|
34
|
0
|
.229
|
.292
|
.369
|
.661
|
7
|
67
|
136
|
13
|
38
|
9
|
1
|
3
|
20
|
19
|
21
|
1
|
.279
|
.365
|
.426
|
.792
|
8
|
85
|
187
|
15
|
48
|
5
|
0
|
5
|
20
|
15
|
35
|
0
|
.257
|
.312
|
.364
|
.676
|
9
|
162
|
639
|
87
|
217
|
41
|
2
|
36
|
141
|
68
|
91
|
1
|
.340
|
.403
|
.579
|
.982
|
10
|
162
|
640
|
105
|
208
|
41
|
2
|
38
|
130
|
54
|
91
|
4
|
.325
|
.380
|
.573
|
.954
|
11
|
112
|
436
|
46
|
98
|
27
|
3
|
5
|
35
|
42
|
67
|
2
|
.225
|
.294
|
.335
|
.629
|
12
|
153
|
604
|
82
|
177
|
20
|
6
|
31
|
100
|
53
|
85
|
2
|
.293
|
.351
|
.500
|
.851
|
13
|
143
|
562
|
80
|
160
|
25
|
4
|
33
|
103
|
67
|
76
|
2
|
.285
|
.362
|
.520
|
.881
|
14
|
152
|
568
|
78
|
183
|
24
|
1
|
23
|
101
|
75
|
69
|
1
|
.322
|
.401
|
.489
|
.890
|
15
|
143
|
541
|
76
|
163
|
28
|
4
|
10
|
76
|
58
|
84
|
2
|
.301
|
.368
|
.423
|
.791
|
16
|
145
|
563
|
60
|
158
|
21
|
1
|
22
|
103
|
58
|
93
|
0
|
.281
|
.349
|
.439
|
.788
|
17
|
155
|
581
|
94
|
181
|
31
|
3
|
26
|
120
|
84
|
77
|
2
|
.312
|
.398
|
.509
|
.908
|
18
|
155
|
604
|
77
|
187
|
33
|
3
|
19
|
87
|
68
|
93
|
4
|
.310
|
.380
|
.469
|
.849
|
19
|
162
|
632
|
86
|
192
|
34
|
3
|
29
|
109
|
65
|
89
|
1
|
.304
|
.370
|
.505
|
.874
|
20
|
160
|
624
|
86
|
159
|
26
|
2
|
23
|
100
|
67
|
84
|
2
|
.255
|
.327
|
.413
|
.741
|
21
|
160
|
629
|
85
|
179
|
40
|
3
|
19
|
100
|
68
|
90
|
1
|
.285
|
.354
|
.448
|
.803
|
22
|
158
|
626
|
81
|
190
|
29
|
4
|
24
|
101
|
55
|
78
|
2
|
.304
|
.360
|
.478
|
.837
|
23
|
39
|
148
|
20
|
42
|
4
|
1
|
5
|
16
|
21
|
28
|
2
|
.284
|
.373
|
.426
|
.799
|
|
2830
|
9908
|
1299
|
2866
|
488
|
49
|
384
|
1628
|
1062
|
1441
|
34
|
.289
|
.359
|
.465
|
.824
|
What we have to do now is put them in order so that they make sense. Skipping the explanations, this is the order that makes sense:
Year
|
G
|
AB
|
R
|
H
|
2B
|
3B
|
HR
|
RBI
|
BB
|
SO
|
SB
|
AVG
|
OBP
|
SLG
|
OPS
|
1980
|
57
|
120
|
11
|
24
|
7
|
2
|
1
|
17
|
13
|
20
|
0
|
.200
|
.278
|
.317
|
.595
|
1981
|
91
|
248
|
42
|
73
|
10
|
1
|
12
|
46
|
25
|
33
|
2
|
.294
|
.359
|
.488
|
.847
|
1982
|
143
|
541
|
76
|
163
|
28
|
4
|
10
|
76
|
58
|
84
|
2
|
.301
|
.368
|
.423
|
.791
|
1983
|
155
|
604
|
77
|
187
|
33
|
3
|
19
|
87
|
68
|
93
|
4
|
.310
|
.380
|
.469
|
.849
|
1984
|
155
|
581
|
94
|
181
|
31
|
3
|
26
|
120
|
84
|
77
|
2
|
.312
|
.398
|
.509
|
.908
|
1985
|
152
|
568
|
78
|
183
|
24
|
1
|
23
|
101
|
75
|
69
|
1
|
.322
|
.401
|
.489
|
.890
|
1986
|
153
|
604
|
82
|
177
|
20
|
6
|
31
|
100
|
53
|
85
|
2
|
.293
|
.351
|
.500
|
.851
|
1987
|
162
|
639
|
87
|
217
|
41
|
2
|
36
|
141
|
68
|
91
|
1
|
.340
|
.403
|
.579
|
.982
|
1988
|
158
|
626
|
81
|
190
|
29
|
4
|
24
|
101
|
55
|
78
|
2
|
.304
|
.360
|
.478
|
.837
|
1989
|
162
|
640
|
105
|
208
|
41
|
2
|
38
|
130
|
54
|
91
|
4
|
.325
|
.380
|
.573
|
.954
|
1990
|
162
|
632
|
86
|
192
|
34
|
3
|
29
|
109
|
65
|
89
|
1
|
.304
|
.370
|
.505
|
.874
|
1991
|
112
|
436
|
46
|
98
|
27
|
3
|
5
|
35
|
42
|
67
|
2
|
.225
|
.294
|
.335
|
.629
|
1992
|
145
|
563
|
60
|
158
|
21
|
1
|
22
|
103
|
58
|
93
|
0
|
.281
|
.349
|
.439
|
.788
|
1993
|
160
|
629
|
85
|
179
|
40
|
3
|
19
|
100
|
68
|
90
|
1
|
.285
|
.354
|
.448
|
.803
|
1994
|
39
|
148
|
20
|
42
|
4
|
1
|
5
|
16
|
21
|
28
|
2
|
.284
|
.373
|
.426
|
.799
|
1995
|
143
|
562
|
80
|
160
|
25
|
4
|
33
|
103
|
67
|
76
|
2
|
.285
|
.362
|
.520
|
.881
|
1996
|
160
|
624
|
86
|
159
|
26
|
2
|
23
|
100
|
67
|
84
|
2
|
.255
|
.327
|
.413
|
.741
|
1997
|
102
|
211
|
22
|
44
|
8
|
1
|
6
|
21
|
23
|
32
|
1
|
.209
|
.288
|
.341
|
.629
|
1998
|
85
|
187
|
15
|
48
|
5
|
0
|
5
|
20
|
15
|
35
|
0
|
.257
|
.312
|
.364
|
.676
|
1999
|
67
|
136
|
13
|
38
|
9
|
1
|
3
|
20
|
19
|
21
|
1
|
.279
|
.365
|
.426
|
.792
|
2000
|
102
|
219
|
16
|
46
|
10
|
0
|
4
|
26
|
25
|
37
|
1
|
.210
|
.291
|
.311
|
.601
|
2001
|
92
|
211
|
21
|
58
|
9
|
0
|
5
|
30
|
24
|
34
|
1
|
.275
|
.352
|
.389
|
.740
|
2002
|
73
|
179
|
16
|
41
|
6
|
2
|
5
|
26
|
15
|
34
|
0
|
.229
|
.292
|
.369
|
.661
|
|
2830
|
9908
|
1299
|
2866
|
488
|
49
|
384
|
1628
|
1062
|
1441
|
34
|
.289
|
.359
|
.465
|
.824
|
Now, does that player go into the Hall of Fame? I submit that he does. He’s got eleven 100-RBI seasons, two MVP-candidate seasons, eight seasons hitting .300 as a regular, four 30-homer seasons. I submit that this guy is elected to the Hall of Fame before Tony Perez and before Jim Rice.
It’s just Harold Baines, re-organized and re-packaged.