Tuesday, November 27, 2007

The Gezer conundrum, again

My anonymous commentator is trying to understand the park effects at Gezer. Actually, so am I.

The problem in a nutshell is how to distinguish between the skill levels of the home teams at Gezer and the effects of the park itself. Gezer was home to Bet Shemesh and Modiin, the league's two biggest slugging teams. If you look at the home run totals at Gezer versus the other fields, you'll find a tremendous gap:

Teams at Gezer scored over 2.8 times as many home runs per game as teams playing at Yarkon, and about 2.7 times as many home runs per fly ball. Compared to Sportek, the ratios are 2.4 and 2.2. Overall, 117 of the IBL's 187 home runs, or 63%, were hit at Gezer, where just 39% of the games were played.

But the performance gap narrows substantially when we look at broader measures of offense, not just home runs:

Batters at Gezer actually reached base less often than those at Sportek, and not a whole lot more than those at Yarkon. The slugging gap is substantial, but not nearly as wide as the home run gap. This may reflect on the pitchers of Bet Shemesh and Modiin, which were among the league's best.

If we count times reached base on errors as hits - which for all intents and purposes they are - the gap narrows further:

Remember that error rates were highest at Yarkon and Sportek. Counting errors, it turns out that on-base rates were pretty similar across the fields, with Sportek leading. In slugging, which is less important to run scoring than getting on base, Gezer led Sportek by just 60 points (or 13%) and Yarkon by 110 (28%).

Translated into run scoring, in runs per game, plate appearance and 27 outs:

That's right. At Gezer, the average game scored just 12% more runs than at Yarkon and 10% more than at Sportek. Per plate appearance, that's 14% more than Yarkon and 8% more than Sportek; per out, 15% more than Yarkon and 7% more than Sportek.

If you followed my recent post about how runs are scored, you'll understand why. Getting on base is much more important than slugging. And there are plenty of ways to score other than home runs.

What about the park factor?

But that 12-15% run boost at Gezer is not Gezer's park factor for runs. How much of the run increase was due to the field at Gezer, and how much due to the high-slugging teams that played there?

To find that out, you have to compare how the same set of teams played at Gezer versus away from Gezer. That's what I ultimately did in this post, where I took all the teams that played each other at least twice both at Gezer and elsewhere (and likewise for the other parks). This gives us a close approximation of how the different parks affect the same player matchups.

And that's where I discovered that though Gezer produced a home run boost of 76% over Sportek and 176% over Yarkon, overall run production for the same team matchups was just 4.4% higher than at Yarkon, and was actually 2.5% lower than at Sportek.

Now, these figures may be substantially inaccurate. The sample size is very small, with just 122 games distributed among six teams and three fields. The "pros" estimate major-league park effects over at least three full seasons of 162-game play. All sorts of noise could be skewing these results: a few unrepresentative games, or an untimely injury, or the distribution of pitchers in the games being compared.

But it seems clear that most of the 12-15% difference in run production among the three venues (as opposed to home run hitting) can be attributed to the offensive power of the teams that played in them.

This is consistent with the per-team run production averages:

Look at Bet Shemesh and Modiin, which shared Gezer; Netanya and Tel Aviv, which shared Sportek; and Petach Tikva and Ra'anana, which shared Yarkon. Most of the apparent park factors for run production are in fact due to differences in team offensive ability.

The upshot

What does this mean for comparing player performance? That park factors have their main impact on individual components of performance, such as home runs or strikeout rates. When comparing them among players, we have to pay close attention to park effects. But when comparing overall run production, we can be sloppier, since the park differences are not great.

For precise comparisons, we should weight performances by their respective parks by adjusting the run production estimates on a per-park basis, and I hope to post park-adjusted tables for batting leaders soon. But whatever corrections are necessary will not change the overall offensive domination by the Bet Shemesh sluggers.

One last comment. The two run production estimators I'm currently using, Base Runs and custom IBL linear weights, when calibrated to match overall IBL run scoring are also quite accurate at estimating overall run production at Gezer. But they show similar biases for the other two fields, overestimating production at Sportek by about 3.7% and underestimating production at Yarkon by some 3%. This could be pure chance, if teams overall scored about 12 more runs than should be expected at Yarkon and about 12 fewer at Sportek. But it might indicate that the formulas aren't quite capturing all the aspects of run production at the two fields.

Perhaps run estimates based on these formulas should be scaled up or down 3% to calibrate them to the actual results at Sportek and Yarkon.

Monday, November 26, 2007

Blog roadmap

An anonymous commentor has asked when I'll address IBL pitching. Please read the exchange between us, which touches a bit on IBL pitchers and how to assess them.

In response, I thought I should let you know what I'm planning to cover in the future, time permitting. Let me know if I'm missing anything of interest, or if you have any other comments about the agenda. Or if you'd like me to focus on one topic before another - these are in no particular order.


  • Finish the batting production leaders charts: runs created per plate appearance, park-adjusted figures.

  • Calculation of score rates per runner type and estimation of runs created based on them.

  • Leaders in net runs created and lost due to base stealing.

  • Looking at frequency of taking the extra base on hits.

  • Charts of leaders by various raw pitching stats.

  • Thoughts about how to evaluate pitchers with so few starts and such unbalanced schedules.

  • Actual assessments of pitcher value, including DIPS (defense-independent pitching stats).

  • What do we really know about it in the IBL?

  • The splits: Breaking down team stats by field, opposing team, day of week, week of season, inning, etc.

  • Compilation of IBL run expectancy charts by outs and baserunner situation.

  • A look at reported attendance figures.

Can't promise how long it will take me to get to any of this... I do have other things to do with my life, believe it or not!

Friday, November 23, 2007

A novel approach to run scoring estimation?

This post is an essay on sabermetric analysis of run scoring in baseball. If you're looking for insights into the Israel Baseball League in particular, please feel free to skip this entry.

People often discuss the relative importance to run scoring of on-base percentage versus slugging average. See, for example, here, here and here.

I'd like to try and shed new light on the question, using what I believe is a new analytic approach. Since I've only been analyzing baseball for a few months now and I'm not familiar with most of the vast sabermetric literature, it's possible, even likely, that someone's done this before. But I haven't come across it yet. Let me know if I'm repeating someone else's work. There are many open questions left to be addressed, and I'm writing up this very incomplete work in part to find out whether I'm barking up the wrong tree, or perhaps, as the British say, whether I'm just barking.

Update: Indeed, I'm not the first to come up with this. I seem to have essentially replicated the work of Prof. Carl Morris, described in detail in this impossibly-formatted text file. A layman's summary can be found here.

The basic model

Consider a simplified model of baseball run scoring, in which baserunning and advancing on outs are ignored. That is, no steals or pickoffs, no sacrifices or double plays or fielder's choice. This is obviously only an approximation of how the game works, but it's sufficient to demonstrate the principles involved. Besides, OBP and SLG don't incorporate those factors anyway.

In this model, every time a batter reaches base he either walks or gets a single, double, triple or home run. Runners already on base advance accordingly.

With a bit of simple mathematics based on probability theory, we can calculate in what fraction of innings different numbers of runners will reach base. For example, the probability that no runners at all will reach base in an inning is (1-OBP)^3. If OBP is 0.300, that means that in 34.3% of innings no runners will reach base.

Similarly, the chance that exactly one runner will reach base is 3 x OBP x (1-OBP)^3. In general (without going into the derivation), the chance that exactly r runners will reach base in an inning is (r+1)(r+2)/2 x OBP^r x (1-OBP)^3.

This chart shows the expected distribution of innings with each number of runners on base for different values of OBP (click to enlarge).

For example, with an OBP of .200, more than half of all innings have no baserunners. When OBP is .550, under 10% of innings have no baserunners, while over 15% of innings have one runner, a bit more have two runners, and a bit less again have three runners.

Even simpler is to calculate the average number of runners who will reach base per inning. Since OBP = ROB / (ROB + Outs), a bit of manipulation reveals that ROB / Out = OBP / (1-OBP), so ROB / Inning = 3 x OBP / (1-OBP).

Here's a chart of the average number of runners per inning as it varies by OBP.

Now let's think a bit about how runs are scored.

If you think about this simplified model of baseball, you'll realize sooner or later that outs don't matter. We know there must be three of them in each inning, and they are the basis for our calculation of how many runners will reach base in an inning, but we don't care at all who gets out or when or in what order. Since no runners advance on an out or are picked off, we can analyze run scoring based solely on the number of runners who reach base and how they get there.

Four types of runners

So let's start with the last runner in each inning. He can only score in one way: if he hits a home run. In real baseball, there are some other possibilities, including sacrifices, steals and errors. But in our model, since he can't knock himself in, there's no way for him to reach home unless he hits a home run. This is the case no matter how many runners preceded him in the inning, and no matter how many outs remain. So his chance of scoring is equal to the home run rate, defined here as the number of home runs divided by the number of runners reaching base: HRR = HR / (H + BB).

What about the runner before the last? He can, of course, also score with a home run. But he can also score if the runner who follows him knocks him in. So if the last runner hits a home run or a triple, the runner before him will score. If the second-to-last runner hit a double, and the last runner also hits a double, he will score his teammate. In general, we can list all the combinations of two on-base events which will bring the first of the two runners home. If we wanted to, we could calculate their combined probability.

Similarly, the third to last runner in each inning can score in all the ways the second to last runner can score - he can get a home run or be knocked in by the following runner. But he can also score in more ways, since he can be knocked in by the second runner following him. Again, we can list all the combinations of three on-base events which bring the first of the three runners home, though the list starts to get a bit long.

What about the fourth to last runner in an inning? Simple: he scores! There are only three bases, so if three more runners get on base, he has nowhere to go but home.

This means we can classify runners into four categories: the last runner on base in an inning, the second-to-last runner, the third-to-last runner, and all the rest. Each category has its own average score rate: for the last runner, his home run rate; for the second-to-last and third-to-last, the chances of them either homering or being knocked in by subsequent runners; and for the rest of the runners, the score rate is 100%.

Now here's the kicker: It's not hard to calculate what fraction of runners should be expected to fall into each of the four categories. The only variable is the on-base percentage.

How many runners are the last in the inning? Simple: each inning with at least one baserunner has one runner who is last. Count the number of innings with one or more more runner and divide it by the total number of baserunners, and you have the fraction of baserunners who are last in the inning. The formula is:

Fraction of runners who are last in an inning =
Fraction of innings with one or more runner / average runners per inning =
1 - (1-OBP)^3 / (3 x OBP / (1-OBP)) =
1 - 2 x OBP + 4/3 x OBP^2 - 1/3 x OBP^3

Similar manipulations give us the fraction of runners who are second to last in an inning:
2 x OBP - 14/3 x OBP^2 + 11/3 x OBP^3 - OBP^4

And third to last in an inning:
10/3 x OBP^2 - 25/3 x OBP^3 + 7 x OBP^4 - 2 x OBP^5

And all the rest - the runners who are guaranteed to score since they are followed by at least three other runners:
5 x OBP^3 - 6 x OBP^4 + 2 x OBP^5

We can graph these curves to see how the distribution of runners into the four categories varies with on-base percentage:

Two of these categories are not really affected by the slugging percentage. The fourth category of runners, of course, always score regardless of SLG. The first category, meanwhile, score only if they themselves homer, or they are advanced by some combination of steals, errors and sacrifices. Only the middle two categories of runners can be brought in to score by their team's collective slugging ability. They amount to a total of no more than about 42% of all of a team's baserunners, when OBP is around .400.

Another look at the same data:

Estimating scoring rates

If we want to use these runner categories to estimate run scoring, we need estimates of the scoring rate for each of the first three types of runner. There are two ways to estimate scoring rates: analytically or empirically. Analytically, we can list all the possible sequences of plays which would allow each runner to score and add up their probabilities. Empirically, we can process game event logs and count how many of each type of runner in fact scored for a given league and/or team.

I haven't done either of these properly, except for a brief, imprecise empirical check using the IBL play-by-play files.

Meanwhile, for a back-of-the-envelope estimate, we can assign the first type of runner - the last in the inning - a scoring rate equal to the home run per on-base rate (about 8% in the majors) plus something extra to account for steals, errors and sacrifices. Call it 8-12%.

The second type of runner can score on his own home run, or that of the runner following him, along with various combinations of doubles and triples - or even a single or walk, followed by taking the extra base on a double. His score rate is presumably at least twice the home run rate, plus. Call it 30-45%.

The third type of runner can score in all those ways, or he can be knocked in by the a third baserunner. Call it 50-75%.

I've prepared two graphs of the impact of the score rate on run scoring. The first shows the average runs scored per runner for different values of OBP, for a selection of widely varying score rates - the high scenario has score rates three times the low scenario. The second chart uses the same scenarios to compute expected runs scored per inning.

Overall, the impact of changing the score rate is higher when OBP is lower. This makes sense, since the higher the OBP, the higher the proportion of runners who are guaranteed to score. At on-base percentages around .300-.350, tripling the score rate per runner type leads to approximately a doubling of overall run scoring. But raising OBP from .300 to just .400 is worth more in runs scored than tripling the score rate at an OBP of .300.

If we zoom in on the typical range of OBP's, we can see that the MLB's 2007 OBP of .336 and run scoring rate of 4.8 per 27 outs matches very closely the middle scenario for runner scoring rates. The actual estimate yielded is 4.89. I did nothing deliberate to make this match up; I discovered the correspondence only after plotting the graphs. It would seem to confirm the overall intuitions in the scoring rate estimates.

So, where does this leave us? With lots of open questions:

- Empirical: What are the actual scoring rates per runner category in real baseball leagues? Do they yield correct estimates of run scoring when plugged into this approach?

- Empirical: How do the scoring rates correlate against game events, or against OBP and SLG? What coefficients can we apply to estimate scoring rates for different teams or leagues?

- Analytical: Can the formulas - specifically for the distribution of runner types by OBP - be simplified to yield a good-enough estimate with less calculation? (Though with modern computers and spreadsheets, it's not clear how important this is.)

- Practical: Does this approach offer anything not available from a more sophisticated Markov analysis?

- Applications: Can this be modified to estimate the run contribution of a single batter?

If you're still reading, I'd love to know what you think.

Tuesday, November 20, 2007

Stolen bases, stolen runs

I'll soon be updating the charts of offensive performance to take into account some minor glitches, but they shouldn't change the results in any significant way.

Meanwhile, I'd like to note what the run values say about the IBL's high steal rate - three times as high as in the majors. A stolen base was worth just 9.1% of a run. But a time caught stealing cost the team 28.1% of a run, plus 15.6% of a run for the out it created, for a total of 43.7% of a run!

The season's 457 steals were therefore worth about 41.4 runs. But the 110 times caught stealing cost teams 48.1 runs. So overall, steal attempts cost IBL teams about 6.7 runs over the season.

Just goes to show that the steal rate was way too high. I'll take a look some time at whether any players had positive net steal values.

Monday, November 19, 2007

Who were the IBL's best hitters? (Part II)

Last time, I ranked the IBL's top hitters using non-customized run estimators (Base Runs and Linear Weights). I promised that this time I'd apply customized linear weights, derived to suit the IBL's specific run-scoring environment.

I modified my approach somewhat after consulting with more experienced analysts; you can find the discussion here. Briefly, I ran a linear regression analysis on IBL data broken down by half-inning. Since run scoring in baseball occurs on a per-inning basis, aggregating the data into games (let alone seasons) reinforces all sorts of potential biases in the data. Park effects, for example, or team-specific skills, would appear to be associated with each other in aggregated data. That's much less likely in per-inning data, since there are so few game events in each half-inning.

More important for the IBL, I simply didn't have enough data points to get statistically significant results on a larger granularity. There were only 122 games and six teams. I'm trying to estimate the run values of some 15 different types of game events. Going down to the inning level gave me over 1600 independent data points, more than enough to estimate 15 coefficients (except for the rarest of game events).

Based on preliminary results and feedback, I made a couple of changes to my initial approach. The main one is that I lumped together times reaching base on error with singles, since from the batter's perspective they should be the same. It didn't make sense that I was seeing a substantially lower weight for a reach-on-error than for a single.

So here are the IBL-specific linear weights, along with the margins of error for each in parentheses. They represent the average number of runs created by of each game event.

Single or reached base on error: 0.586 (0.015)
Double:0.844 (0.035)
Triple:1.219 (0.127)
Home run:1.438 (0.042)
Walk:0.484 (0.018)
Hit by pitch:0.519 (0.038)
Error (without batter reaching base):0.302 (0.050)
Stolen base:0.091 (0.026)
Caught stealing:-0.281 (0.058)
Sacrifice fly:0.047 (0.069)
Sacrifice hit:0.109 (0.082)
Intentional walk (add this to the weight for a walk):-0.167 (0.114)
Out (apply this to every out):-0.156 (0.010)
Strikeout (add this to the weight for an out):-0.017 (0.019)
Ground into double play (add this to the weight for an out):-0.286 (0.056)

A couple of the margins of error are a bit high (see strikeouts, for example), but overall the level of significance is good.

Applying these weights to the league-level data, I got an estimated 1297 runs, about 1.6% higher than the actual figure of 1276. So to make everything match up, I shaved 1.6% off all my run estimates.

And here they are, the top 25 hitters in the 2007 IBL, using league-customized weights for the average run values of their offensive production (click to enlarge):

The first eight places are the same as the rankings using weights suitable for the major leagues. Of the 25 on the list, 24 are the same as before. The only difference is that Seth Binder replaces Ramon Rodriguez at position 25. Mike Lyons falls to 24th place; he was ranked higher using MLB-based weights presumably because stolen bases are worth less in a higher scoring league like the IBL; when it's easier to get on base and hit for power, it's not as valuable to take an extra base.

It's worth noting that the scale of the numbers is generally similar to those yielded by the MLB-based methods. The run estimates for positions 2 through 25 range from 21.88 to 44.35 here; from 21.68 to 43.71 for Base Runs, and from 22.47 to 43.63 for MLB-based linear weights.

The big discrepancy is for #1 Gregg Raymundo. Base Runs - which I suggested exaggerates performance for the extreme sluggers - gave him 59.88 runs, compared to 49.55 for MLB linear weights. The IBL-based linear weights surprised me by coming out at 56.28 runs, closer to the Base Runs estimate than the MLB linear weights estimate. I expected a linear approach to be closer to another linear approach than to a multiplicative model such as Base Runs.

To me, this proves two points: 1. Base Runs yields good run estimates even on the player level, not just for entire teams or pitchers. Gregg Raymundo was truly an exceptional hitter: AVG/OBP/SLG of .446/.600/.911 (OPS=1.511), rising to .505/.641/.970 (OPS=1.611) when adding bases reached on error. Yet Base Runs increased his run production estimate by just 6.4% over custom linear weights. Meanwhile, for Eladio Rodriguez, who hit at .461/.517/1.000 (OPS=1.517), or .471/.525/1.010 (OPS=1.535) with errors, Base Runs actually gave him fewer runs (39.01) than custom linear weights (41.15). Since no one approaching major league levels of play hits anywhere near those numbers, it seems safe to use Base Runs for estimating individual major league batters.

2. Gregg Raymundo absolutely dominated the hitting in this league, to an extent I didn't fully appreciate during the season. Perhaps that was to be expected, as I believe he was the only IBL player with experience in the AAA minors. Still, it's impressive.

Next time I'll give you the runs per plate appearance estimates, which neutralizes the impact of injuries and other differences in playing time over the season.

Download IBL data files while you can!

I wish the IBL long life and much success, but let's be realistic here. Given the recent updates to the IBL's website, it would probably be wise to save the game data while it's still available.

The game log files, which are hosted by Major League Baseball's Gameday system, are not on the IBL's site. They can be found at:

(hat tip to weskelton)

Now, maybe the files aren't going anywhere anytime soon. Heck, maybe the league isn't going anywhere anytime soon. But it seems prudent to copy them now if you're thinking about analyzing the IBL stats.

If you're not familiar with the Gameday format, Mike Fast explains how to go about processing the data, with some help from Perl code from Joseph Adler's book, Baseball Hacks. Though the IBL doesn't have pitch-by-pitch data. (I've been writing my own code, since I've been using this project as an opportunity to learn to program in Python.)

Finally, if there's any substance to the announcement of some former IBL players and investors of their intention to form a new league to replace the IBL, I urge them not to forget about the things the IBL did right. In particular, make sure you track the stats. The IBL has a far better statistical record available on the Internet than any of the MLB-affiliated minor leagues. Absurd, but true. Baby, bathwater. Do it right.

Otherwise, we'll always have cricket.

Friday, November 16, 2007

The beginning of the end?

Israel Baseball League commissioner quits, board members follow

Reactions here, here, here.

Looks unlikely that the IBL can recover from this. A shame it should come to this due to organizational incompetence. Professional baseball in Israel never really had a chance, and it may now be a long time before someone tries again.

I'll keep working on the stats, because I enjoy it. But I'd rather have a season to look forward to.

Monday, November 12, 2007

Who were the IBL's best hitters? (Part I)

All this effort in tabulating reaches on error has been directed towards the goal of assessing player offensive performance. Having long ago determined that you can't analyze the IBL without errors, I needed to attribute the errors to batters - data which is missing from the IBL summary stats.

Now that I've done that, I can apply run estimators on a player-by-player basis to rank their offensive performance.

I won't rehash here the discussion of different run estimation methods. A good summary can be found here, by Justin Inaz.

I'll be looking at two run estimators, Base Runs and Linear Weights, and discussing how I chose the IBL-appropriate coefficients for them.

You may remember that I used Base Runs once before, in estimating the IBL's per-team performance. Arguably, Base Runs is not a suitable approach for assessing individual offensive players, since its formula applies the player's own on-base ability to his own base-advancement skills, as if he were playing on an entire team of players with his stats. This would yield overestimates for exceptionally good players, and underestimates for exceptionally bad ones.

Nevertheless, I've applied Base Runs for individual players to see what came out.

In addition, I applied Linear Weights. This family of techniques assigns a fixed multiplier to each type of offensive event in the game. To calculate a player's value, you just add up the values of all his stats. The multipliers are meant to be estimates of the average number of runs each type of event is worth in the league.

Thus, a single gets a certain run value, as does a home run, or an out, or a stolen base - and the same fixed value is applied to all of the player's offensive production, even if we know (for example) that a certain home run was a grand slam, while a certain two-outs single left him stranded at the end of the inning. We don't care; we just tote up the average run values and call that his estimated run production. The advantage is that it absolves the player of any responsibility for the performance of his teammates, so that may actually be what we want to do when comparing hitters across a league.

1. Base Runs

I took Tom Tango's weights for the Base Runs equations, with a few modifications. In the A component (runners on base), I added reaches on error (not all errors, just reaches) and catcher interference. In the B component (base advancement), instead of Tango's coefficient for errors (0.799) I scaled it up to attribute to each batter the league average ratio of other fielding errors (without the batter reaching base). That is, instead of 0.799*E I used 1.220*ROE, since I have ROE per batter but I have no data on runner advancement on errors. Finally, in the C component (outs), I subtracted ROE, since a batter reaching base on error is not out.

Applying this formula to the league totals, I get an estimated 1230.4 runs produced, about 3.6% lower than the actual value of 1276 - pretty good, since I did nothing to customize the coefficients for the IBL. (I'm still working out how to do that, now that you mention it.)

So here they are, the top 25 hitters in the 2007 Israel Baseball League, according to the Base Runs estimator. (Why 25? Feeling generous, I guess. It also coincides with all the players with at least 20 estimated runs produced.)

(Click to enlarge.)

There's Gregg Raymundo, way ahead of the pack, presumably due largely to his absurdly high on-base percentage. Jason Rees, who I recently dissed in comparison to Eladio Rodriguez, places second, followed closely by teammate Johnny Lopez. (Yes, the first three are all from Bet Shemesh.)

Eladio comes in fifth, but keep in mind that this is a cumulative statistic, so playing time matters. Had Eladio not been out with injury, he would presumably have surpassed Lopez and Rees (compare Eladio's 39.0 Base Runs in 118 plate appearances with Rees's 43.7 in 154).

Bet Shemesh grabs seven of the top 17 positions, dominating the leaders table as much as they dominated the diamond.

Bear in mind, though, that I'm using unadjusted stats here - Gezer's park factors presumably give the Blue Sox a bit of a boost. Though it doesn't seem to have done much for their home field partners, Modi'in, with just four slots in the top 25.

Enough about Base Runs. Let's have some Linear Weights.

2. Linear Weights

But which weights to use?

To start with, I took Tom Tango's weights (see the lwts_RC column here). They're based on the MLB from 1974-1990, so there's no reason to assume they'd be suitable for the IBL.

But they're not bad, either. Applying them to the league totals, they estimate 1237.2 runs, lower than the actual 1276, but a bit better than Base Runs did.

Applying them to the players, we get:

Not that different, actually. Again, the top 25 players are those with over 20 estimated runs produced. The exact same players are in both lists, with 12 of them at the exact same rankings as with Base Runs. A few of them are mixed around a bit - Eladio edges out Josh Doane, for example - but the only one with a significant change in position is David Kramer, who drops from 14th to 21st.

Arguably the most notable change between the two tables is in leader Gregg Raymundo, whose estimated run production drops from 59.88 using Base Runs to 49.55 using Linear Weights. This presumably demonstrates the problem with using Base Runs for individual player estimates of outstanding hitters - it's as if he played on a whole team of Raymundos, whereas Linear Weights assumes he played with average players.

But I still can't take these numbers seriously, knowing they were generated using weights from the seventies and eighties of Major League Baseball. I have no choice but to generate my own weights.

Tune in next time for IBL-specific Linear Weights estimates.

Sunday, November 11, 2007

Steals, errors and speedy batters

Last time around, I commented on the similarities between the IBL's stolen base leaders and the leaders in reaching base on error. I glibly wrote that "Not surprisingly, baserunning ability is a key factor in the ability to reach base on error."

Is that really so? Let's plot the error rate (reaches on error per at-bat) versus the steal rate (steals per times on base) for the 50 players with at least 80 plate appearances in 2007:

Wow! What a strong correlation! (Note sarcasm.) Not much support for the theory, it seems. Except for a few outliers, most of the players are scattered in a random cloud with no apparent structure.

But if we massage the data just the right way...

Here's the same data, but restricted to the 20 players with the highest reach-on-error rates:

That's better, isn't it? In fact, we get a correlation of .77 and an R-squared of .59, both indicating a high degree of correspondence between the two statistics - for this group of players.

Does this mean anything?

I think it might.

I would suggest that there are two kinds of hits. There's a "power" hit, a solid base hit into the outfield gap, generally either a line drive or a sharp grounder. It's hit far out and between the fielders so that any batter can make it safely to first base.

Then there's the "speed" hit. Maybe it isn't hit as far, or it's not as hard for the fielders to get to. Whether or not it becomes a hit depends on the speed of the batter (and possibly other runners). If he can leg it out to first, he's got the hit. Otherwise, he's out.

A reach-on-error is predominantly a "speed" hit. It is predominantly a ground ball, but one which was (apparently) played poorly by the defense. If despite the error the batter is put out, the play is recorded as a normal out - no defense error is recorded. If the batter beats out the throw, however, he has "reached on error" - as if it was not his own skill and speed that got him on base instead of out.

So faster runners are more likely to reach base on error. There is no need to assume (as I erroneously wrote earlier, and as Tom Tippett seems to imply here) that some batters actually have the propensity to cause the defense to commit more fielding errors by hitting the ball in a hard-to-field way. Rather, the actual error rate may be distributed evenly among batters, but only some of them can consistently exploit defensive errors to get to first base. The others just get out, and no error is recorded.

Furthermore, it stands to reason that some error plays - especially at lower levels of play - are so egregious that even the slowest batter can reach base. This is clearly the case for wild throws, for example. So there should be a "background rate" of reaches on error that affects all batters, however fast or slow they are. This may explain the lack of correlation between steal rate and error rate for the bottom of the pack - all we're seeing there is random noise, not batter skill. Also, the sample size is probably too small to be significant, with just 1-3 reaches on error per hitter on the season.

Finally, if you haven't yet, please see Tom Tango's comments on an earlier post about steals and error rates. The salient point is that speed probably peaks at a younger age than strength (i.e., fielder's throwing ability). I would add to that that fielding skill, unlike running speed, is learned through experience and probably also peaks later. So the younger age in lower-level leagues can be expected to produce more steals and errors.

Thursday, November 8, 2007

Reached-on-error leaders

I've talked a bit about the high error rate in the IBL already. About how you can't properly analyze the IBL without taking errors into account.

That's partly why I haven't talked much about assessing batter performance levels. The public stats on the IBL's website only give raw figures for errors by fielder. There is no accounting of how many times each batter reached base on error, or how many runners advanced due to errors. Contrary to what you might think, errors are not just a fielding phenomenon; batters do vary greatly in their ability to reach base on errors. But the conventional baseball stats actually record reaches-on-error as an out for the batter. It actually lowers his batting average to reach base on error!

So I've finally gotten around to parsing the IBL game log files, with the play-by-play accounts of each game. I still have work to do to extract all the data, but I've gotten as far as reached-on-error. Here goes...

Out of 396 errors in the IBL season, 261 of them got the batter on base (including two cases of catcher interference). That's more than the season's 238 hit-by-pitches , and it's equivalent to over a quarter of the 1003 walks.

The league's leaders in reaching base on error (click to enlarge):

Doesn't look like much. But wait. Let's look at that as a rate, in terms of reaches per at-bat (minimum 80 plate appearances). That tells you how much the ROEs would be worth in terms of batting average:

The league leaders gain as much as the equivalent of 81 points in batting average just by reaching base on error.

Notice any similarities betweeen the names on that list and the IBL's stolen base leaders? Not surprisingly, baserunning ability is a key factor in the ability to reach base on error.

If baseball statistics were done right, a base reached on "error" would be counted as a hit, since there's no practical difference between the two. If we do that, ranking hitters by "Batting Average with Errors", we get this:

Batting champ Eladio Rodriguez, who was not among the league leaders in reaches-on-error (or stolen bases), loses his batting title to second place Gregg Raymundo. Most of the batting average leaders remain unchanged, with Doane, Lopez and Franco retaining ranks 3-5. Nate Fish shoots up to fifth place from tenth. Meanwhile, Jeff Hastings and Mike Lyons, down at 31st and 32nd in the batting average rankings, are up at 16th and 18th respectively. Hector De Los Santos is promoted from 20th to 12th, and Ryan Forsythe goes from 24th to 15th.

The league batting average goes from .270 to .311 when errors are counted. Amazingly, Gregg Raymundo breaks the .500 mark in batting average with errors!

Now let's do the same for on-base percentage, calculating on-base percentage including reaches on error:

Here, Josh Doane edges Eladio Rodriguez out of second place. Jeff Hastings rises from eighth to fifth place and Nate Fish from 15th to 11th. Perhaps most impressive, Mike Lyons reaches 18th place, all the way up from 31st, while Sam Marthinsen reaches 20th place from lowly 29th.

Overall, the league on-base percentage was .383; errors bump it up to .416.

And yes, Gregg Raymundo reached base one way or another over 64% of the times he came to the plate. Now that's impressive! (Though not to the Yankees, apparently.)

Wednesday, November 7, 2007

Hold on to your IBL memorabilia...

...since there might not be a season two?

At least according to rumors reported by journalist Elli Wohlgelernter.

No matter. I've got enough stats to keep me busy for a while.

But I'd love to have another season to look forward to!