Defense Independent Component ERAJuly 19, 2000If you play Baseball Mogul, you have already encountered Defense Independent Component ERA ("DICE"), even though you don't realize it. This is because the artificial intelligence in Baseball Mogul uses DICE to evaluate pitching talent. We also use it at Sports Mogul to create our annual player projections.
DICE starts with the concept of "Component ERA" invented by Bill James. The concept is pretty simple -- use the components of a pitcher's statistical performance (such as hits allowed and hit batters) to predict a pitcher's ERA. Because there is a strong correlation between these individual events and the pitcher's ERA, you can actually estimate a pitcher's ERA in a season by just looking at the components. In other words, you can predict earned runs allowed by looking at the individual events (such as walks and home runs) that led to the runs themselves.
ERA is a somewhat luck-based stat. One season is a relatively small sample size, and earned runs given up in one season may not be a true indicator of the pitcher's overall ability level. The pitcher might have given up several home runs with the bases loaded, causing his ERA to be higher than it would have been if the home runs had been distributed randomly throughout the season.
By deriving a value from hits, walks, hit batters and home runs, Component ERA attempts to be a better evaluator of a pitcher's true ability to prevent runs.
Here is James' formula for Component ERA (CERA):
CERA=(((H+BB+HBP)*(.89*(1.255*H+2.745*HR)+.56*(BB+HBP-IBB)))/(BFP*IP))*9-.56
But there are a few problems with CERA:
The biggest is that it includes hits. Hits aren't a great indicator of a pitcher's true pitching ability. With the exception of home runs, the number of hits allowed by any pitcher are largely affected by the quality of the defense behind him. This makes sense, but it also stands up to statistical analysis. A pitcher's Strikeout Ratio (strikeouts pitched per 9 innings) is relatively consistent from year to year. However, a pitcher's Hit-Out Ratio (ratio of hits to outs, after removing strikeouts and homeruns) doesn't have the same consistency.
The second problem I have with CERA is that it's tough to calculate. Although they aren't perfect, I like measures such as Slugging Percentage and Total Average with formulae that are pretty easy to remember.
So, I created a slightly different form of Component ERA called "Defensive Independent Component ERA" (or DICE) that uses the variables in Component ERA, but removes hits (but leaves in Home Runs -- because these are almost never affected by defense).
At first, it looked something like this:
DICE = x + (y*(BB + HBP) + z*HR) / IP
Using all active pitchers in 1999 with 500 or more career Innings Pitched, I performed a regression on the above function to determine the constants x, y and z such that DICE best predicted their career average ERA. (There were 229 pitchers in this data set).
But after some experimenting, I noticed that ERAs were also strongly correlated with strikeouts, even when the other stats (walks, hit batters, and home runs) were already taken into account. As strikeouts are also defense-independent, it makes sense to add them to the formula. This is somewhat counter-intuitive. After all, a ground out can be just as good as a strikeout to end an inning. But the regression doesn't lie -- strikeouts are more effective than other types of outs at reducing earned runs. Or more accurately, strikeout numbers are useful in predicting a pitcher's ERA.
So I added strikeouts to the formula and performed another regression to determine the correct coefficients to use in the formula. Finally, I found the integer coefficients that best matched the data (because integers make the math easier than that required for CERA):
DICE = 3 + (3*(BB + HBP) + 13*HR - 2*K) / IP
(The Mean Squared Error for this formula, across all 229 pitchers, is .100697. The Square Root of the Mean Squared Error is about .317 -- meaning that about 2/3 of all actual ERA values should fall with .317 runs of a pitchers DICE value)
So there you have it:
1. Start with a value of 3 times the number of walks and hit batters
2. Add 13 for every home run allowed
3. Subtract 2 for every strikeout
4. Divide this total by the number of innings pitched
5. Finally, add this result to 3.00 to get the pitcher's Defense-Independent Component ERA (aka DICE).
Here's an example using Roger Clemens 1998 season (his most recent Cy Young Award):
DICE = 3.00 + (3 * (68 BB + 7 HB) + 13 * 9 HR - 2 * 292 K) / 264 IP = 2.14
Roger's actual ERA in 1998 was 2.05
Anyway, I first developed this stat to help me predict how a pitcher would perform in my rotisserie league. DICE is a better predictor of a pitcher's ERA in the upcoming year than any other stat I could find (such as his previous year's actual ERA). Using these predictions, I was able to win the league for 4 years out of 6 (and I'm currently in 1st place in year 7). And of course DICE is one of many tools we use inside the Baseball Mogul game engine.
|
Thursday, May 29, 2014
DICE: Defensive Independent Component ERA
I'm reposting an article from July 2000, because Baseball Mogul players keep asking me what 'DICE' stands for on the pitcher Scouting Report (and because the text in the original article is tiny and hard to read).
Thursday, April 17, 2014
Creating an Expansion Team (Baseball Mogul)
This year's version of Baseball Mogul has a new feature: the ability to create a new expansion team and build it from players on current teams, using the current MLB rules for conducting expansion drafts.
When you choose "Expansion" on the New Game Dialog (above), there is a new button in the lower right with a question mark on it:
When you choose "Expansion" on the New Game Dialog (above), there is a new button in the lower right with a question mark on it:
Clicking this button takes you to the Create Expansion Team dialog, where you select the city for your expansion team, and specify a team name, stadium name and division.
After you click "Play", Baseball Mogul will automatically create a 2nd expansion team to ensure that there are an even number of teams. The computer analyzes the current city data and picks a city at random from among the best options.
![]() |
| Is it fair to assume that the "Oregon Cavemen" play in "GEICO Park"? |
Baseball Mogul then hands you control of your team, at the beginning of the expansion draft.
Each of the existing teams is allowed to protect 15 players in the first round of the expansion draft, and 3 additional players in each additional round (and players drafted in the last 3 seasons, such as Manny Machado, do not need to be protected). For example, in the following list of third basemen, we see that the Yankees left A-Rod unprotected, because they would love an expansion team to take his contract off their hands:
At any point, you can use the Play Menu to let the computer complete the expansion draft for you. And, after the expansion draft is complete, you can still grab unsigned players to fill out your major-league and minor-league rosters.
Thursday, February 13, 2014
Baseball Mogul 2015 Pre-Order
We are now accepting pre-orders for Baseball Mogul 2015, which will go on sale on April 11th.
This pre-order option is limited to only 20 customers, and can be locked down by pledging $25 at the Kickstarter campaign for Masters of the Gridiron.
I admit that it's weird to use Kickstarter for Baseball Mogul, a product that is now in it's 17th version. We have always wanted to allow pre-orders of Baseball Mogul through our normal ordering system, but we aren't allowed to process a payment unless we immediately ship the product.
So, here we are, selling Baseball Mogul 2015 on Kickstarter at a whopping 28% discount, and you won't even be billed until after the Kickstarter campaign ends.
(Note also that we have added an option to pre-order both Baseball Mogul 2015 and Masters of Gridiron for $47, including free shipping inside the United States).
Monday, February 3, 2014
Making The Pro Bowl Matter
If the NFL wants to boost ratings for the Pro Bowl, they need to make it count for something.
NFL fans are serious. They will show up in sub-zero weather to root for a last-place team. But they won't bother to turn on the TV for an exhibition game that doesn't have any effect on the actual season.
The solution: Give the top draft picks to the conference that wins the Pro Bowl.
Won-Loss records would still be used to rank teams within each conference. But the Pro Bowl winner is guaranteed to get the #1 pick.
For example, this is the current draft order for the 2014 NFL draft:
If this rule had been in place, and the AFC had won, this would be the resulting draft order:
This has the additional advantage of eliminating worries about teams "tanking". There's no point in intentionally losing games to get the #1 pick if you might drop to pick #17 after the Pro Bowl.
But, unlike some other other anti-tanking ideas, this system continues to give better picks to weaker teams, to help create parity.
NFL fans are serious. They will show up in sub-zero weather to root for a last-place team. But they won't bother to turn on the TV for an exhibition game that doesn't have any effect on the actual season.
The solution: Give the top draft picks to the conference that wins the Pro Bowl.
Won-Loss records would still be used to rank teams within each conference. But the Pro Bowl winner is guaranteed to get the #1 pick.
For example, this is the current draft order for the 2014 NFL draft:
Pick #
|
Team |
Pick #
|
Team |
1
|
Houston Texans (AFC) |
17
|
Dallas Cowboys (NFC) |
2
|
St. Louis Rams (NFC) |
18
|
New York Jets (AFC) |
3
|
Jacksonville Jaguars (AFC) |
19
|
Miami Dolphins (AFC) |
4
|
Cleveland Browns (NFC) |
20
|
Arizona Cardinals (NFC) |
5
|
Oakland Raiders (AFC) |
21
|
Green Bay Packers (NFC) |
6
|
Atlanta Falcons (NFC) |
22
|
Philadelphia Eagles (NFC) |
7
|
Tampa Bay Buccaneers (NFC) |
23
|
Kansas City Chiefs (AFC) |
8
|
Minnesota Vikings (NFC) |
24
|
Cincinnati Bengals (AFC) |
9
|
Buffalo Bills (AFC) |
25
|
San Diego Chargers (AFC) |
10
|
Detroit Lions (NFC) |
26
|
Indianapolis Colts (AFC) |
11
|
Tennessee Titans (AFC) |
27
|
New Orleans Saints (NFC) |
12
|
New York Giants (NFC) |
28
|
Carolina Panthers (NFC) |
13
|
St. Louis Rams (NFC) |
29
|
New England Patriots (AFC) |
14
|
Chicago Bears (NFC) |
30
|
San Francisco 49ers (NFC) |
15
|
Pittsburgh Steelers (AFC) |
31
|
Denver Broncos (AFC) |
16
|
Baltimore Ravens (AFC) |
32
|
Seattle Seahawks (NFC) |
If this rule had been in place, and the AFC had won, this would be the resulting draft order:
Pick #
|
Team |
Pick #
|
Team |
1
|
Houston Texans (AFC) |
17
|
St. Louis Rams (NFC) |
2
|
Jacksonville Jaguars (AFC) |
18
|
Atlanta Falcons (NFC) |
3
|
Cleveland Browns (AFC) |
19
|
Tampa Bay Buccaneers (NFC) |
4
|
Oakland Raiders (AFC) |
20
|
Minnesota Vikings (NFC) |
5
|
Buffalo Bills (AFC) |
21
|
Detroit Lions (NFC) |
6
|
Tennessee Titans (AFC) |
22
|
New York Giants (NFC) |
7
|
Pittsburgh Steelers (AFC) |
23
|
St. Louis Rams (NFC) |
8
|
Baltimore Ravens (AFC) |
24
|
Chicago Bears (NFC) |
9
|
New York Jets (AFC) |
25
|
Dallas Cowboys (NFC) |
10
|
Miami Dolphins (AFC) |
26
|
Arizona Cardinals (NFC) |
11
|
Kansas City Chiefs (AFC) |
27
|
Green Bay Packers (NFC) |
12
|
Cincinnati Bengals (AFC) |
28
|
Philadelphia Eagles (NFC) |
13
|
San Diego Chargers (AFC) |
29
|
New Orleans Saints (NFC) |
14
|
Indianapolis Colts (AFC) |
30
|
Carolina Panthers (NFC) |
15
|
New England Patriots (AFC) |
31
|
San Francisco 49ers (NFC) |
16
|
Denver Broncos (AFC) |
32
|
Seattle Seahawks (NFC) |
And this would be the draft order if the NFC had won:
Pick #
|
Team |
Pick #
|
Team |
1
|
St. Louis Rams (NFC) |
17
|
Houston Texans (AFC) |
2
|
Atlanta Falcons (NFC) |
18
|
Jacksonville Jaguars (AFC) |
3
|
Tampa Bay Buccaneers (NFC) |
19
|
Cleveland Browns (AFC) |
4
|
Minnesota Vikings (NFC) |
20
|
Oakland Raiders (AFC) |
5
|
Detroit Lions (NFC) |
21
|
Buffalo Bills (AFC) |
6
|
New York Giants (NFC) |
22
|
Tennessee Titans (AFC) |
7
|
St. Louis Rams (NFC) |
23
|
Pittsburgh Steelers (AFC) |
8
|
Chicago Bears (NFC) |
24
|
Baltimore Ravens (AFC) |
9
|
Dallas Cowboys (NFC) |
25
|
New York Jets (AFC) |
10
|
Arizona Cardinals (NFC) |
26
|
Miami Dolphins (AFC) |
11
|
Green Bay Packers (NFC) |
27
|
Kansas City Chiefs (AFC) |
12
|
Philadelphia Eagles (NFC) |
28
|
Cincinnati Bengals (AFC) |
13
|
New Orleans Saints (NFC) |
29
|
San Diego Chargers (AFC) |
14
|
Carolina Panthers (NFC) |
30
|
Indianapolis Colts (AFC) |
15
|
San Francisco 49ers (NFC) |
31
|
New England Patriots (AFC) |
16
|
Seattle Seahawks (NFC) |
32
|
Denver Broncos (AFC) |
This has the additional advantage of eliminating worries about teams "tanking". There's no point in intentionally losing games to get the #1 pick if you might drop to pick #17 after the Pro Bowl.
But, unlike some other other anti-tanking ideas, this system continues to give better picks to weaker teams, to help create parity.
Friday, January 31, 2014
Seahawks Win Super Bowl, 23-13!
We just simulated Super Bowl XLVIII using Football Mogul 2014. We just played the game once, (instead of simulating the entire season 100 times, like we did back in September).
The result?
Seahawks win 23-13!
Highlights:
1. Marshawn Lynch is the Player Of The Game, rushing for 135 yards in 26 attempts (5.2 yards per rush), and scoring both Seattle touchdowns.
2. The Seattle defense holds Knowshon Moreno to 31 yards in 10 rushing attempts.
3. Peyton Manning struggles against the Seattle secondary, putting up mediocre numbers. He has 24 completions in 39 attempt for 270 yards, 1 touchdown and 1 interception.
4. In the middle of the first quarter, Seattle's punt team pins the Broncos inside their own 10 and the Seahawk defense forces a 3-and-out.
5. Starting their next drive at their own 47, Russell Wilson completes two passes to Golden Tate and rushes for 5 yards. This isn't enough for a touchdown, but it gets Hauschka within field goal range to put the Seahawks up 3-0.
6. Richard Sherman picks off Peyton Manning in the 2nd quarter (on a pass attempt to Demaryius Thomas).
7. The Seahawks capitalize on the interception, as Lynch goes "beast mode" with a 48-yard touchdown run (Seahawks lead 10-0).
8. After forcing the Broncos to punt in the next possession, Seattle marches down the field and goes up 17-0 with a 2-yard pass from Wilson to Lynch.
9. Denver finally gets on the scoreboard (via a Matt Prater field goal) with 5 seconds left in the first half.
10. Percy Harvin starts the 3rd quarter with a 68-yard kickoff return! The Broncos defense holds, but Hauschka kicks another field goal to put the Seahawks up 20-3.
11. Peyton responds by marching his team down the field, capped off by a 7-yard TD pass to Demaryius Thomas. Broncos pull within two scores. (Seahawks lead 20-10).
12. In their next possession, Seattle holds the ball for more than 7 minutes as Marshawn Lynch racks up more rushing yards. Hauschka kicks the field goal to put the Seahawks up 23-13.
13. Peyton's last chance comes with 1:53 left in the 4th quarter. He has brought his team down to Seattle's 3-yard line, but the Seahawks secondary stops consecutive pass plays on both 3rd down and 4th down.
14. Seattle takes over on downs and runs out the clock.
Here's the box score: http://www.sportsmogul.com/football/Super-Bowl-48-Box.htm
And the play-by-play: http://www.sportsmogul.com/football/Super-Bowl-48-Recap.htm
P.S. You can get a download copy of Football Mogul 2014 if you pledge just $5 to Masters of the Gridiron on Kickstarter.
The result?
Seahawks win 23-13!
Highlights:
1. Marshawn Lynch is the Player Of The Game, rushing for 135 yards in 26 attempts (5.2 yards per rush), and scoring both Seattle touchdowns.
2. The Seattle defense holds Knowshon Moreno to 31 yards in 10 rushing attempts.
3. Peyton Manning struggles against the Seattle secondary, putting up mediocre numbers. He has 24 completions in 39 attempt for 270 yards, 1 touchdown and 1 interception.
4. In the middle of the first quarter, Seattle's punt team pins the Broncos inside their own 10 and the Seahawk defense forces a 3-and-out.
5. Starting their next drive at their own 47, Russell Wilson completes two passes to Golden Tate and rushes for 5 yards. This isn't enough for a touchdown, but it gets Hauschka within field goal range to put the Seahawks up 3-0.
6. Richard Sherman picks off Peyton Manning in the 2nd quarter (on a pass attempt to Demaryius Thomas).
7. The Seahawks capitalize on the interception, as Lynch goes "beast mode" with a 48-yard touchdown run (Seahawks lead 10-0).
8. After forcing the Broncos to punt in the next possession, Seattle marches down the field and goes up 17-0 with a 2-yard pass from Wilson to Lynch.
9. Denver finally gets on the scoreboard (via a Matt Prater field goal) with 5 seconds left in the first half.
10. Percy Harvin starts the 3rd quarter with a 68-yard kickoff return! The Broncos defense holds, but Hauschka kicks another field goal to put the Seahawks up 20-3.
11. Peyton responds by marching his team down the field, capped off by a 7-yard TD pass to Demaryius Thomas. Broncos pull within two scores. (Seahawks lead 20-10).
12. In their next possession, Seattle holds the ball for more than 7 minutes as Marshawn Lynch racks up more rushing yards. Hauschka kicks the field goal to put the Seahawks up 23-13.
13. Peyton's last chance comes with 1:53 left in the 4th quarter. He has brought his team down to Seattle's 3-yard line, but the Seahawks secondary stops consecutive pass plays on both 3rd down and 4th down.
14. Seattle takes over on downs and runs out the clock.
Here's the box score: http://www.sportsmogul.com/football/Super-Bowl-48-Box.htm
And the play-by-play: http://www.sportsmogul.com/football/Super-Bowl-48-Recap.htm
P.S. You can get a download copy of Football Mogul 2014 if you pledge just $5 to Masters of the Gridiron on Kickstarter.
Tuesday, September 10, 2013
Adjusting Rookie Talent Levels (Football Mogul)
Football Mogul 2014 has a new feature that lets you adjust the talent level, the talent distribution, and the improvement potential for each of the 15 position types in the game.
This is implemented by the addition of a file called DraftTalent.txt, located in the same folder with FB2K14.exe. If you have trouble finding this folder, you can choose "Open Game Folder" from the Help Menu.
DraftTalent.txt includes instructions, but I will include them again here for convenience.
The first 15 lines of DraftTalent.txt look like this:
0, 0, 0, // RUNNING_BACK
-30, 0, 50, // FULLBACK
-50, 0, 0, // TIGHT_END
-10, 0, 0, // WIDE_RECEIVER
30, 0, 0, // TACKLE
50, 0, 0, // GUARD
70, 0, 0, // CENTER
-40, 0, 0, // DEFENSIVE_END
-60, 0, 0, // DEFENSIVE_TACKLE
-30, 0, 0, // LINEBACKER
0, 0, 0, // CORNERBACK
0, 0, 0, // SAFETY
0, 0, 0, // KICKER
0, 0, 0, // PUNTER
Each line refers to a position (shown at the end of the line, after the '//'). Football Mogul actually ignores all text after '//'. The position names are only there so humans know which line refers to which position. What Football Mogul does care about is the line order. The first line will always modify QB talent, then next line is for RBs, then FBs, and so on.
For each position:
First number = base talent level
Second number = talent level variation
Third number = "potential" (i.e. the difference between "Overall" and "Peak")
The default value is 0. A positive number indicates an increase. A negative number indicates a decrease.
Example #1: Your amateur draft has 10 QBs with the following Overall/Peak talent levels:
60/70, 63/73, 65/75, 67/77, 69/79, 70/80, 71/81, 73/83, 75/85, 77/87, 80/90
Increasing the first number will increase the entire talent pool, as in this example:
65/75, 68/78, 70/80, 72/82, 74/84, 75/85, 76/86, 78/88, 80/90, 82/92, 85/95
Increasing the second number will increase the talent level variation (while the average remains the same):
55/65, 59/69, 62/72, 65/75, 68/78, 70/80, 72/82, 75/85, 78/88, 81/91, 85/95
Increasing the third number will increase the amount that each player improves after the draft:
60/75, 63/78, 65/80, 67/82, 69/84, 70/85, 71/86, 73/88, 75/90, 77/92, 80/95
For overall talent level, changing a 0 to 10 *roughly* equals a 1-point change in the "Overall" rating.
For talent level variation, changing a 0 to 10 *roughly* increases the distance between the worst and best player by 1.
Note that college players are generated for the draft at the end of each regular season (i.e. at the start of the playoffs). So, in order to see your changes to DraftTalent.txt reflected in the game, you will need to make any edits (and save the new file) before the first playoff game.
Wednesday, September 4, 2013
Pre-Season Power Rankings (by Football Mogul 2014)
Teams are listed by division; rankings are for the entire NFL (out of 32 teams).
Note that Power Rankings may differ from predicted record, because projected standings were determined by simulating the actual 2013 NFL schedule.
For example, the Patriots are projected to win more games than the Broncos, despite having a lower Power Rank, because the Patriots play in a much weaker division.
Note that Power Rankings may differ from predicted record, because projected standings were determined by simulating the actual 2013 NFL schedule.
For example, the Patriots are projected to win more games than the Broncos, despite having a lower Power Rank, because the Patriots play in a much weaker division.
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||
|
|
Subscribe to:
Posts (Atom)







