Runs Created by an Individual Hitter in a Game

May 18, 2019
 

Runs Created by an Individual Hitter In a Game

 

            Perhaps I can explain the purpose of this research by explaining how I came to it.   I am working on a system to re-evaluate players day to day, so I needed a "Game Score" for a hitter.   I worked with several different formulas, but none of them were quite right.  I had a Game Score for hitters that I used on background research for a year or more.  I liked it, obviously, or I wouldn’t have used it for a year, but it had its problems.  Almost everybody would have one to ten games in their careers which scored in the range of 25 to 30; an occasional player would have a game that would score over 30, and truly historic games, like 4-homer games, would score around 50.   Many, many games, however, would get negative numbers. . . any oh-fer was a negative number, so everybody had negative numbers 30, 40% of the time.  I didn’t like that. 

            I tried to create a zero-to-a-hundred type scale, like the Game Scores for Pitchers, but I tried to create a zero-to-a-hundred scale with proportional representation of events.   That didn’t really work; I got everybody in the range between zero and a hundred, but I had to compromise a little on the proportional value concept, and even then the average game was about 17.   Hitting is just like that; you have a couple of guys who carry the team and have scores of 40 or 50, and then you have a bunch of guys at ten and a couple of guys who are in single digits—and the guys who score at 40 or 50 aren’t really having BIG days, not career days.  

            I decided I could live with a zero-to-a-hundred scale in which the average was 30, so I sacrificed the concept of proportional representation of value, and I got everybody between zero and 100 with an average of about 25, but that system tended to pick the wrong games as the best games, the VERY best games.   Eventually I was driven to the question: OK, why don’t I just evaluate the hitter’s game logs by the player’s runs created in each game?    The logical question that I should have gotten to a long time ago.  

            So how do you measure a hitter’s runs created in a single game?   The form of all runs created methods is A * B / C, where A is times on base, B is "advancement" or total bases, basically, and C is opportunity or plate appearances.   But multiplying and dividing very small numbers leads to screwy results, as most of you probably know, so the challenge is to make a system that, measuring runs created game by game, matches as nearly as possible the runs created estimates for a season or a career.

            The first thing we have to do is to create a "neutral context".  It is like the ballast in a ship, or the clay in a stick of dynamite.   Ballast in a ship is dead weight below the water line, which keeps the ship from pitching left and right and possibly turning over in rough water (although you need ballast even in calm water, since you always have wave action.)  Dynamite as best I understand it is nitroglycerine soaked in clay.   The problem with nitroglycerine is that it is hypersensitive, so it will explode when you would much rather it didn’t.   Dynamite puts the nitroglycerine in an inert substance so that it doesn’t explode until it is heated up by fire.   Same concept; we are placing the player’s individual batting accomplishments in a stable context, so that the ship doesn’t turn over and the data doesn’t explode. 

            Suppose that, in a game, a team had 12 runners on base, 12 total bases, and 36 plate appearances.  12 times 12 divided by 36 is 4; that’s four runs created.   That represents the "other eight" hitters in the lineup, the "rest of the team".   Teams score about 4.50 runs per game, over time, with nine hitters, which is half of a run per hitter per game.   The "focus hitter" represents the other half a run, the difference between 4.00 and 4.50.  

            Suppose that the hitter goes 0-for-4; that makes 12 runners on base, 12 total bases, but 40 plate appearances, so that’s 12 times 12 divided by 40, which is 3.60.   The hitter’s runs created in the game would be negative .40, the difference between 4.00 and 3.60. 

            But suppose that he goes 3-for-4 with a home run; that makes 15 runners on base, 18 total bases in 40 plate appearances; that’s 15 times 18 divided by 40, which is 6.50.   The hitter has created 2.50 runs with his homer and two singles, one out; 6.50 minus 4.00. 

            These are all numbers that work in general terms; actual teams do have about 12 runners on base and 12 total bases and about 36 plate appearances from their "other eight" hitters, in a typical game; not exactly, but it works as dead weight.   A homer has a run value of about 1.65 runs, a single about .70 runs each, an out has a certain cost; it totals up to a number not too far off from 2.50.  I am describing the direction of march here, not the destination; we’ll arrive at different numbers, but this is how we start out. 

            So we say as a starting point that the A factor is (12 + H + W + HBP), twelve plus the hitter’s hits in the game, plus his walks, plus his hit batsmen.  

            The B factor as a starting point is (12 + TB), twelve plus the total bases for this hitter. 

            The C factor as a starting point is (36 + PA), thirty-six plus plate appearances. 

 

            Getting technical now, we modify the "A" factor so that it becomes

            12 + H + W + HBP – CS – GDP – (IBB/3)

 

            We take caught stealing and double play balls out of the times on base, and also we take away a few of the intentional walks because intentional walks almost all occur with outs already recorded in the inning, so a hitter who gets an intentional pass is somewhat less likely to score a run than a hitter who gets an undescribed walk, which may occur with no one out.  

            The B factor starts out as 12 + Total Bases, but we need to adjust for (a) Sacrifice Hits and Sacrifice Flies, which advance runners, (b) Stolen Bases, which advance runners, (c) the fact that walks and hit batsmen, while they are not primarily "advancement" mechanisms in an offense, will also sometimes advance baserunners, and (d) the fact that strikeouts do NOT advance runners.  Adjusting for all of that, we change the simple formula element 12 + TB into this big hairy formula element:

            12 + TB + (BB – IBB + HBP) * .3 + (SH + SF + 1.6 * SB) * .4 - .07 * SO

 

            That’s the "B" factor, and we’re not done yet; we’ll modify it one more time before we’re done.  The "C" factor, mercifully, remains the same—36 + AB + BB + HBP + SH + SF, or simply 36 + PA.

            And then you multiply A * B, divide by C and subtract 4, crucial step.  At the end of the process we remove the inert material to measure the batter’s individual contribution. 

            One more adjustment.  The formula tends to over-estimate runs created by something like 7/10th of one percent.   The reason it does this is that the "dead weight" that we but into the formula was square—12 men on base, 12 total bases.   In reality, offenses are not "square" in that sense; there are more total bases than men on base.   The most efficient offense, in a certain sense, would be a square offense, but offenses in general are not square.   We can adjust for that by changing the 12 times 12 to 11 times 13, 11 men on base plus the hitter, 13 advancement bases plus the hitter.   12 times 12 is 144; 11 times 13 is 143, so making that adjustment lowers the resulting runs created estimates by some tiny amount, and makes the estimates more accurate, I believe.  I will explain in a minute why I believe they are more accurate.  

            OK, ONE little last step.   We don’t actually use ELEVEN "dead weight" baserunners; we actually use 11.035.   It’s just a tiny little thing, but if you measure it on a large enough scale it makes a difference.   So the final formula for a hitter’s runs created in a game is:

            A * B / C, minus 4.00, where

            A is     11.035 + H + W + HBP – CS – GDP – (IBB/3)

            B is      13 + TB + (BB – IBB + HBP) * .3 + (SH + SF + 1.6 * SB) * .4 - .07 * SO, and

            C is      36 + AB + W + HBP + SH + SF,  or simply  36 + PA. 

 

            OK, two questions now:

(1)  How do we know this works, and

(2)  What good is it?

 

1)     How do we know it works?

I was trying to "match" the runs created estimates from other sources—specifically, the All-Time Handbook, which is a book we published 25 years ago which has good runs created methods for every player up to that time.   (You’ve probably never seen the book; it didn’t sell a lot of copies.)  Anyway, I have game logs for a few hitters. . . whole careers for about 35-40 hitters; it comes to 60,000 games and 478 player/season.   I compared the runs created for each player/season to the sum of the individual game runs created.   For example:

First

Last Name

Year

New Method

Old Method

Zoilo

Versalles

1969

25

26

Cesar

Tovar

1969

82

81

Maury

Wills

1960

63

63

Dick

Allen

1976

49

48

Johnny

Callison

1965

106

100

Jim

Gilliam

1962

84

88

Dick

Allen

1967

102

104

Jim Ray

Hart

1966

95

97

Bill

White

1958

5

5

Rico

Petrocelli

1974

65

64

Matty

Alou

1971

91

89

Al

Spangler

1959

3

3

Tony

Oliva

1963

1

1

Al

Kaline

1972

46

48

Dick

Groat

1958

72

70

Jim

Gilliam

1965

59

60

Dale

Mitchell

1946

9

8

Dick

Allen

1975

52

48

Jim

Gilliam

1956

104

101

Orlando

Cepeda

1971

36

34

Bob

Allison

1959

88

89

Ken

McMullen

1967

62

67

Al

Kaline

1968

58

60

Paul

Blair

1966

37

39

Matty

Alou

1964

22

23

Norm

Cash

1959

19

17

Andre

Thornton

1975

84

86

Andre

Thornton

1973

4

4

Cesar

Tovar

1975

44

44

Ken

McMullen

1975

7

8

Paul

Blair

1964

-1

0

Matty

Alou

1970

81

77

Dick

Stuart

1958

42

40

Dick

Groat

1960

87

84

Cesar

Tovar

1974

80

81

Ed

Charles

1967

39

40

George

Scott

1971

70

69

Cecil

Cooper

1974

54

54

Jim

Gilliam

1963

76

81

Bob

Allison

1965

72

76

Tony

Oliva

1968

77

76

Jim Ray

Hart

1965

99

101

Matty

Alou

1967

85

83

Dick

Stuart

1960

65

62

Jim

Northrup

1973

68

65

Cesar

Tovar

1970

105

108

Ed

Charles

1965

64

61

Cookie

Rojas

1974

52

51

Frank

Howard

1958

3

3

Al

Spangler

1962

70

68

 

            The estimates are always about the same, neither higher nor lower, nor, as nearly as I could tell, are they higher or lower for any sub-group of players.   I checked many different things to see if the estimates were too high or two low for base stealers or high-average hitters or low-average sluggers or anything, and "corrected" for any problems that I found, then re-did the estimates, etc.

            In theory, it is bad analytical method evaluate the accuracy of a new method by comparing it to an old estimate.   You always try to compare an estimate to a hard fact, rather than a previous estimate.   There didn’t seem to be any practical way to do that, and, as a practical matter, I have a lot of confidence in the previous estimate, so I was OK with it. 

            Another thing I did was to take 20 games (40 team/games) and compare the estimated to actual runs scored by the teams.   That was a lot more time-consuming, because I don’t have data organized to proceed in that way, and also, in individual games you get random deviations due to the formation of clusters of events, but I didn’t see any problems.   There was no game in the 40 in which the new estimate was wrong by more than two runs (actually, about 2.2).  There was one game where the team had 6.8 runs created and actually scored 9 runs.   Of course that will happen, because of fielding and clustering of events, but. . . .didn’t seem like there was a problem there. 

            I’m not a sophisticated data analyst; I’m just a guy who has been doing this stuff for 50 years.   I’m sure a well-trained data scientist could refine the method a little better.  

 

2)      What good is it? 

In isolation, no value at all.  There’s a lot of things you can do with it.   You could use it to study whether the runs ACTUALLY resulting from a player’s individual acts are greater or less than the standard accepted estimates.   You could use it to study to what extent a pitcher benefitted or suffered from "clustering" of events in his games.   You could use it, as was my intention here, to track player’s performance day by day.   You could use it to identify each individual hitter’s best game of the season or best game of his career or whatever.   You never know what a method is good for until you develop the method.   Most of us are usually terrible judges of the value of our ideas.  

Thanks for reading.

 

 

Bill James

 

 
 

COMMENTS (25 Comments, most recent shown first)

CharlesSaeger
Make that 8-for-13 with ducks on the pond. Forgot the 8th inning, when the Angels got the first two men on then never them past second.

This makes me wonder how to add the clutch hitting adjustments that some versions of RC have. I tried adding 8 AB RISP (and 2 H) and 10 AB (and 0.15 HR) men on base as dead weight, but those will make the resulting formula too negative for the season as a whole. I suppose if I multiply extra hits with RISP by 2/3rds and HR with men on base by half …​
9:07 PM May 22nd
 
MarisFan61
Nice get!
I looked a little to see if I could easily find the game and didn't.
3:01 PM May 22nd
 
CharlesSaeger
I think the game in question is Anaheim at Baltimore, 7/23/2001. I get 6.1 runs created for the Angels with 5 LOB. Significant events that weren't counted in runs created were a line drive double play (Garrett Anderson lined to right, and Chris Richard caught Darin Erstad napping off first), another outfield assist (Bengie Molina doubled to left, and Jay Gibbons gunned down Tim Salmon as he tried to score from first), and a wild pitch (Jose Mercedes, whom I don't remember at all, uncorked one with Erstad on second). Nothing that would make the Angels over-perform. Otherwise, they went 8-for-10 with runners in scoring position, which is obviously going to lead to a few runs.


6:56 PM May 21st
 
tangotiger
jgf: small correction that BaseRuns is not-linear, but Linear Weights is linear. Your main point though is accurate, that a linear model would work fairly well.

Indeed, between Pitching Game Score and Batting Game Score, if you had to choose one to make linear, it's the batting one.
8:44 AM May 21st
 
bjames

Responding to:


fjcaceres
Mr. James

You mentioned in the Article there was a game with actually 9 runs Vs. 6.8 runs created, did this team have less than 9 RBIs ?


They had 9 RBI. There were no errors in the game. The team that did that (The ANgels back in 2001 or 2002 or something) just bunched their hits so that they scored 9 runs with only 4 runners left on base.
4:46 PM May 20th
 
jgf704
Generally, the method seems similar to the RC method introduced in Win Shares. That is, the RC = (non-linear RC calculation for a team with the player) minus (non-linear RC of the team without the player).

In the end, though, I think a linear calculation like the BaseRuns method Tango mentions would work just as well (and maybe even better). I suppose there would be different constants for different run environments, which is a drawback. FWIW, I think the fact that the game-by-game sums works out to be pretty close to the season RC for a player indicates that a linear model ought to work fine.
4:43 PM May 20th
 
tangotiger
David Smyth introduced BaseRuns 20+ years ago, which had its roots to Runs Created.

I used it 15 years ago. Here's the chart:
www.tangotiger.net/bsrexpl.html

And here's a three part description:
www.tangotiger.net/#Baseruns




11:31 AM May 20th
 
fjcaceres
Mr. James

You mentioned in the Article there was a game with actually 9 runs Vs. 6.8 runs created, did this team have less than 9 RBIs ?

Javier Caceres


9:09 AM May 20th
 
bjames
I actually do have Reached on Error in the Game Logs for players, and I considered using them to figure expected runs, but I don't want anything in the formula that isn't in the commonly available data. The research of Retrosheet has added ROE to the list of information that we have available for a large number of players, which is great, but the problem is that adding new information sources makes the calculations we had done previously, based on the old data base, obsolete. That traps us in a vortex between the old estimates and what COULD be done now. It's a common problem.
11:09 PM May 19th
 
CharlesSaeger
MarisFan61: It needs to be in both A and B.
10:11 PM May 19th
 
MarisFan61
Charles: Why do you think Reached-On-Errors would be in "B"?
I think it would clearly belong in "A," if anywhere -- because that's the gets-on-base stuff.
10:10 PM May 19th
 
CharlesSaeger
@dackle: that's a clever formula.
5:52 PM May 19th
 
CharlesSaeger
@MarisFan61: Directed at Bill. I'd gather ROE also has to be on the B factor, as many of those ROE end up at second.

I'm with you on productive outs. I'd add pickoffs, line-drive double plays, triple plays, outs advancing, then passed balls/wild pitches/balks, then call it a day. I doubt productive outs (and bases advanced on hits) adds much value beyond what's already assumed from other statistics.
5:51 PM May 19th
 
fjcaceres
Sorry, when I just wrote that it was published "here", here is jamesonline dot com
1:52 PM May 19th
 
fjcaceres

HI Mr. James:

Could the difference in actual runs in a game Vs the estimated runs created under your runs created model be found in the non RBIs ?

In this game which you mentioned in which there were 9 runs vs an estimated 6.8 runs, did the offense have more runs than RBIs ?

Because non-RBIs by definition not created by offense maybe they should be considered in analysis that deal with runs created among others models, just as I mentioned in an article published here on March 25th 2019 "When Does a Lucky Run Become a Lucky Win ?"

Javier Caceres



1:43 PM May 19th
 
MarisFan61
Charles: Don't know if you're directing it to me or to Bill, but in case it's to me: I would think it would be simple -- just consider it equal to a walk and HBP. In terms of its effect, it's usually just the same as those; sometimes it's more.
Unless you mean, how would that data be gathered. While it might not be as easily available as the rest of the items, I'm figuring it's pretty available.
(On the other hand, I'm figuring the "productive outs" thing isn't. I think that would be a lot harder, and therefore maybe totally not worth it.)
1:40 PM May 19th
 
CharlesSaeger
* How would you add Reached on Error and Safe on Interference to this?

* You had a version of Runs Created where the total base estimate was 1.125*singles+1.69*doubles+3.02*triples+3.73*home runs. Would this be more accurate?
12:57 PM May 19th
 
MarisFan61
Bob: Yes, thanks -- I had realized meanwhile that 4 is the "ballast" (and was coming back to say).
11:51 AM May 19th
 
StatsGuru
I had a similar problem with the Baseball Musings Batter Rankings. I started using penalties to better separate the bad games. I put in a penalty for less than four plate appearances, since those hitter probably hit low in the order, and an extra penalty for strikeouts. So an 0 for 4 with no Ks is better than an 0 for 4 with Ks in general.

I just ran a calculation of your runs created formula using the Day by Day Database for all team games since 1998, comparing the sum of the individual game scores to the total runs scored by the team. The regression equation is y = 0.8693x + 0.4105, with an R-squared of 0.735.

www.baseballmusings.com/cgi-bin/DayByDayDatabase.py
11:31 AM May 19th
 
dackle
I was thinking about how to create a game score for a simple box score batting line of at bats, runs, hits and RBI. I ran a little regression on the batting lines of all players in the Lahman database from 1920 to 2017, using at-bats, runs, hits and RBI to predict basic runs created. The resulting equation (with a forced zero intercept) was .40(R) + .49(H) + .42(RBI) - .10(AB). Multiplying those numbers by 10 and then rounding results in a nice simple formula:

(4 x runs) + (5 x hits) + (4 x RBI) - AB

Which simplifies to:

(4 x (R + H + RBI)) + H - AB

For example, George Bell's boxscore line on May 9, 1987 was 6 2 3 7, which works out to 45 points:

(4 x (2 + 3 + 7)) + 3 - 6 = 45

In your head, add the runs, hits and RBIs together (2 + 3 + 7 = 12), multiply by 4 (= 48), add the 3 hits again (= 51) and subtract the at-bats (= 45).

A nice side effect is that because the initial regression coefficients were multiplied by 10, dividing back by 10 restates the point totals in runs (ie 45 points = 4.5 runs).

Also on a seasonal level, Bell's 1987 overall totals were 610 at bats, 111 runs, 188 hits and 134 RBI, which works out to 1,310 points, or 131.0 runs, which compares very nicely with his actual basic runs created total of 129.1.
8:10 AM May 19th
 
BobGill
MarisFan: Remember, this started off with the "ballast" concept that the other eight hitters in the lineup combined to create four runs; then you add on the individual player's contribution (0-for-4, 3-for-4 with a home run, whatever) and calculate the team's runs created given the new numbers. So let's say the new total is 5.8 runs created. But we started out by assuming the OTHER players accounted for 4 of those runs, so you have to SUBTRACT 4 to get the total for the one guy in question.
6:12 AM May 19th
 
MarisFan61
.....Additional thing, probably more important than the "productive outs" thing, and easier:

Why not include "reached on error" in "A"?

As per what you discussed recently with us (I think in Hey Bill), reached-on-error rates vary a lot among players. I know that this doesn't matter a lot for what you're looking for here, but it does matter some.
Why not include it? Would it make the thing 'more harder' than it's worth?
5:11 AM May 19th
 
MarisFan61
Stray notes:

-- Perhaps to help clarify a thing that might trip up other readers (it tripped me up for a minute)....probably just stating what will be obvious to most:
About 1/4 of the way down, 6th paragraph:
Suppose that, in a game, a team had 12 runners on base, 12 total bases, and 36 plate appearances. 12 times 12 divided by 36 is 4; that’s four runs created. That represents the "other eight" hitters in the lineup, the "rest of the team."

It's just the rest of the team, the other 8 hitters.
(Saying "a team" in that first part was what tripped me up.)

-- I don't get what the "subtract 4" represents, about 2/5 of the way down:
And then you multiply A * B, divide by C and subtract 4, crucial step. At the end of the process we remove the inert material to measure the batter’s individual contribution.

Is the "4" just an arbitrary thing that you found works best, like using 11.035 instead of 11? (I assume that the latter is such an arbitrary thing.)
If it's just that, I get it. What I'm unclear on is if the "4" comes from something specific.

-- Just a usual kind of 'what about small ball that doesn't show up in the boxscore' point:
The method adjusts for "Sacrifice Hits and Sacrifice Flies, which advance runners," but (I think) doesn't take account of other kinds of "productive outs" except to the extent that non-strikeout outs aren't strikeouts and therefore don't count toward the strikeout subtraction.
I guess it assumes that the proportion of "productive" outs in non-strikeouts (besides sacrifices, which are taken care of in the method) varies little enough between hitters that it's no big deal to ignore it. Heck, maybe it's known that it varies little enough; I just don't know that it's known, and I would have thought it varies enough to matter some, and therefore that the method would tend to underrate bat-on-the-ball and good situational hitters, however slightly.
12:35 AM May 19th
 
shinsplint
This is cool, since I've been doing a similar thing for years. Not at a game level, but at a season level to evaluate players by subtracting 1/9 of hitting events for a typical team in the league and then adding back the player to be evaluated, and checking the difference in runs created. There's more to it than that, but I won't go into it here. However there is one additional adjustment that you may want to make to your approach. As you know, if you add a player who goes 3 for 4, he'll give more plate appearances to the total lineup than the player who goes 0 for 4. It wouldn't be 40 plate appearances for each situation, since that would mean the team with the 0 for 4 player has more outs to work with than the team with the 3 for 4 player. So the difference between the 2 players is even more than you suggest, since the 3 for 4 player gave more at bats to his teammates, and the 0 for 4 player took them away. I can think of a way to address this, but it gets involved to describe it.
6:58 PM May 18th
 
MarisFan61
I love this.
The main reason I love it is a thing that doesn't get mentioned enough about your work and writing. Nobody else in this field, and really I can't think of anyone else in any field, so much goes through the journey of how they arrived at a current method, the whole thought process, including other things they tried along the way and what was wrong with those.

I have to say also, this was a reason that I readily started believing, decades ago, almost implicitly in things you would come up with: I knew that it was always creative, not bound by any previous work (including your own), and reflecting self-criticism and even possibly agony at every step.

BTW a couple of folks have said on Reader Posts that I'm a suck-up on here. I replied that my praises are understatement, and that's true. It's also true that it doesn't keep me from questioning and criticizing sometimes and giving people the willies, but what can I say, we are who we are. :-)
3:22 PM May 18th
 
 
©2019 Be Jolly, Inc. All Rights Reserved.|Web site design and development by Americaneagle.com|Terms & Conditions|Privacy Policy