View Single Post
Old 08-24-2008, 05:04 PM   #20 (permalink)
RonCo
Hall Of Famer
 
Join Date: Aug 2003
Posts: 6,218
Thanked 3x in 2 posts
I wrote this to respond to someone in another thread, but thought it went better here...so...here are some more League Total thoughts with examples:

-------------------------------------

You are right in that the ratings are deciding the percentage chances of an outcome. In an old-time board game (I was all about Sports Illustrated's game in the early 70s), you rolled a dice on a card to see the outcome. Most games found a way to make some results be driven by the pitcher, and others driven by the hitter. My SI game did this by making two separte rolls--one on the pitcher chart, and if nothing occurred, then the offense rolled against the hitter chart.

As I think most games do anymore, OOTP uses a more sophisticated approach that is based on Bill James's "Log5" equations. These are really just a special case of what stats folks know, I think, as the Odds Ratio. Truth is, the Odds Ratio would probably give a better result, but it would be more complicated to discuss. Regardless, the game is trying to do the same thing in this equation that we used to do by either rolling multiple times or combining pitcher and hitter cards as in the old Strat/APB kinds of games.

You can read a bit about the James equation here: A Short Digression into Log5 -- The Hardball Times

Here is the James Log5 equation with the league expected values colored to show their impact on the final equation:

Code:
			(BAVG * PAVG) / LgAVG)
Expected = --------------------------------------------------------
		((BAVG * PAVG) / LgAVG + ((1-BAVG)*(1-PAVG)/(1-LgAvg))
The OOTP engine uses the League Totals to define the quality of the league output. So, everywhere you see "LgAvg" you can replace it with the league total ratio that applies.

For example, let's try to decide how often Aramis Ramirez will hit a home run off Randy Johnson. For simplicity sake, we'll ignore platoon advantages. You can see by this equation, we need three values: Ramirez's HR ratio, Johnson's HRA ratio, and the league average.

For the player's rates, we'll use their actual stats to date:

Code:
Ramirez: .0451 HR/AB  (22/488)
Johnson: .0322 HRA/AB  (620BF-61XXXX)

(Where XXXX = BB+HP+IBB)
The more interesting question here is what do we use for league average. Let's look at real life and the OOTP default totals.

Code:
MLB (NL) 2008: .0296 HR/AB  (2101/70973)
Default OOTP: .0326 HR/AB  (5451/167353)
So, if Aramis Ramirez faces Randy Johnson in real life 2008 or in the default OOTP environment, we plug these values into the equation and estimate that a match-up of these two will result in different HR/AB performances:
Code:
MLB (NL) 2008: = .0499
default OOTP = .0446
Aramis Ramirez will take the Big Unit downtown a few less times in a default OOTP environment than expected in real life 2008 because the default environment has both Ramirez (.0451) and Johnson (.0322) as performing a bit better than expected average (.0326), whereas in real life Johnson's current HRA rate (.0322) is quite a bit worse than real league average (.0296).

Let's fiddle with the OOTP Totals. Now we raise the HR League Total UP from 5451 to 6000.

Now OOTP League Expected HR/AB = 6000/167353 = .0359 HR/AB

Note that now Johnson's HRA rate is considerably better than league average. And, indeed, a Ramirez/Johnson matchup will result in a HR at a new rate of .0400.

If we then lower the HR League total to something lower than the default value (let's say 4000), we get:

League Expected: 4000/167353 = .0239 HR/AB
Ramirez/Johnson Match-up Expected = .0603

A fairly astronomical increase...because we've told the game engine that Ramirez is much better than the average hitter (.0451 vs. .0239) and Johnson is much worse (.0322 vs. .0239) than the league average pitcher.

So, creating a table from all the above:

Code:
Ramirez/Johnson HR/AB %:
------------------------
Real Life: 	.0499
OOTP Default:	.0446
OOTP HR Up:	.0400
OOTP HR Down:	.0603
If you're with me this far, then you now know why adjusting league totals values (for anything except AB) up or down results in output changes in the inverse direction. You'll also understand why League Totals are not caps.


Last edited by RonCo; 08-25-2008 at 04:24 PM.
RonCo is offline   Reply With Quote