[WARNING, WARNING, THERE WILL BE MATH]
Sorry about that. If you bear with me, though, I think you’ll learn why managing league totals (and hence, the stats output of a league) is such a royal pain in the ass. You’ll also understand a bit more about how the game engine works as well as it does, and perhaps see a bit more of its beauty.
Of course, you may not want to bear with me at all. I wouldn't blame you at all.
Anyway…
When I was in engineering schools, I learned to rely on whole bookloads of Thermodynamic tables. These are beautiful little charts that gave answers to a set of very complex equations that held true as long as various things were held constant. Extremely helpful.
Today I woke up thinking about league totals and realized I could do something similar. In other words, create a series of lines that showed me how multiple rating combinations could result in the same outputs given a constant league totals setting. To do it, I basically just needed two things: (1) a constant League Total settings, and (2) an understanding of Algebra and Bill James’s Log5 equations.
Well, technically, I needed one more thing—a decision on what stat to chart. To make this simple, I chose home runs.
LEAGUE TOTAL SETTINGS
So I went to our BBA League Totals and found this:
AB = 170,00
HR = 5,600
Mod = .935
I then calculate the “LEAGUE AVERAGE RATE” (*) that the game is using in its calculations as:
(5.600/170,000) * .935 = ..0308 HR/AB
(*) Through this study you will find out why this is not the ACTUAL LEAGUE AVERAGE HR RATE. In fact that’s the whole point of this little ramble, I’d guess.
So, for all of this report I will use .0308 HR/AB as the BBA League Total.
LOG5 Work
Knowing I was looking for constant HR rates, I then took the Log5 equations, and did a little math work (hey, who says you’ll never use that algebra course!). My goal was to get an equation that calculated the rate at which a batter needed to hit HR in order to match a constant rate given the pitchers in the league might have variable MOVEMENT.
Without showing all my work, I came up with the following:
At this point the process consisted of:
P(b) = Probability of Batter
P(p) = Probability of Pitcher
P(L) = Probability of League (in other words, the league total I just calculate)
P(f) = Final Probability Expected
P(b) = [ P(L)(1-P(p)) ] / [ P(L) – P(p) + P(p)(1-P(L))/P(f) ]
1) Chose a series of constant P(f) [final probability expected]
2) Vary pitcher HRA rates such that they give up HR from .01/AB to .055/AB
3) Plot the rates at which batters need to hit HR such that the paring result in the constant P(f)
I then plotted those curves.
NOTE: I chose three constant P(f) to show how things move. The three I chose were the actual league totals (.0308/AB), the current BBA HR rate (.040/AB), and then a point kind of in the middle (.035/AB).
Here is the output:
Pretty cool, eh?
A few notes:
First, you’ll quickly realize that I have not used MOV and POW on the 1-10 scale like BBA does. The whole point is that those are just artificial labels that the game translates into HR rates. I honestly have no idea exactly what that performance map is, though I’d expect the editor’s answer is likely right (both Jim and I have gone through and created our own off that idea, and I think they work fine enough).
Second, note that—though the BBA’s League Total Setting is .0308 HR/AB, the league operates at .040/AB. If you understand the Log5s, you understand why that is. You’ll also realize that this is the underlying problem guys like Matt have to deal with when they are trying to get league output “right.”
Finally, by now you might be saying “what the hell is this and why do I care?” Well, I don’t know if anyone should care, but one can use this chart to guess where the league’s output will fall. To do so, you need to know the rating spread across the league—and specifically what the league’s average plate appearance might be comprised of (what ratings an average plate appearance will contain). If the ratings have high skew (like pitcher stuff) it would also be helpful, probably, to know scatter of those ratings.
Therein lies the rub, though. Determining those average ratings are not a task for the feint of heart. You’re almost always wrong somewhere.
MORE FUN WITH TABLES AND CHARTS
As I noted above, there are entire books dedicated to presenting tables to help engineers deal with thermodynamic equations. In a similar light, one could publish reams of paper describing hundreds or thousands of charts that would “solve” the equations of the OOTP results engine (one caveat, there’s a chance the game uses a modified set of what I’ll still call Log5 equations to come upon its answers—but the process I’ve outlined above would be essentially the same).
The beauty of those charts is that they often answer similar questions in different ways.
For example, here is a chart that—if Matt knew exact ratings of an average Plate Appearance--would let Matt pick the “perfect” League Total to achieve a desired rate. In this case, the table would be for .0308 HR/AB (which is what current League Total setting suggests we are shooting for).
Of course, any self-respecting such table in real life would have many more possible League Total Curves (so, for example, that the chart could cover the question of what the setting should be if the average pitcher rating equated to .030 HR/AB and the average hitter rating was .020), but you get the idea. [Note: The actual League Total in that case would have to drop to something just under .020]