Showing posts with label Baseball Mogul Diamond. Show all posts
Showing posts with label Baseball Mogul Diamond. Show all posts

Tuesday, April 5, 2016

Baseball Mogul 2016: Rating Calibration

Baseball Mogul 2016 has a new feature that adjusts all stats for the statistical environment in which they are accrued before assigning player ratings. This applies to the current season and to historical seasons, but it also calculates major league equivalencies (MLEs) for the 1.2 million lines of minor league stats included in the game.

The New Rating Scale

The first thing you will notice is that everyone’s ratings have dropped by about 6-8 points. The average rating for a major league player in Baseball Mogul Diamond was about 82. The first version of Baseball Mogul was originally designed with the average player rating set at 75 (corresponding to a grade of "C" in an academic environment). But it crept up over the years until more than half of all players were clumped between 81 and 86, making it difficult to differentiate between an average player and a very good player. In last year's game, the distribution of ratings for major league players looked like this:

Player Rating Distribution in Baseball Mogul Diamond
Making league and stadium adjustments for every stat gives us the ability to rate all players on the same scale, in the same way that a stat like OPS+ defines '100' as the league average. In addition (and unlike OPS) we can specify the distribution of player ratings on this scale. That is, we can specify the degree to which all player ratings are either clumped near the average rating or spread out over the entire scale.

I used this opportunity to re-establish 75 as the major league average for all player ratings and to set the standard deviation at 7. Assuming a normal distribution, ratings for players at the major league level are now distributed on a “bell curve” like this:
Player Rating Distribution in Baseball Mogul 2016
As you can see on the graph, about two thirds of ratings fall between 68 and 82. Any rating of 90 or higher describes an ability in the top 2% of major league talent.

Fitting all player ratings to this scale means that any specific number has the same meaning regardless of whether you are playing in 1927 or 2027. 
For example, a pitcher's Power rating is primarily based on their projected strikeout rate. If a pitcher strikes out batters at a rate that is one standard deviation above the league average, he is assigned a Power rating of 82 (75 + 7).

Historical Adjustments

Player ratings now use the same scale regardless of which season you are playing in (and regardless of how many seasons you play into the future). This differs from previous versions of Baseball Mogul which had different average ratings in different seasons. As league averages went up and down, so did player ratings. For example, the strikeout rate in Major League Baseball has risen more than 65% over the last 25 years. This translated to a big jump in Power ratings for all pitchers. If you start a new game in 2015 using Baseball Mogul Diamond, the average pitcher has a Power rating of 83. But if you start in 1981, the average Power rating is only 70. This discrepancy means that the 1981 season has only nine pitchers with an Overall rating of 90 or more, compared to 56 such players in 2015!

Impact on Gameplay

This volatility was more than just a cosmetic problem. It could lead to a serious imbalance between batters and pitchers. If you start a game in 1969 you will see that pitching ratings are noticeably higher than batting ratings -- because run-scoring was at an all-time low in the late 1960s. Of forty players rated 90 or higher in the 1969 database, only seven (17%) are batters. Because player ratings are part of the game’s artificial intelligence and salary negotiations, this imbalance made it possible to take advantage of the computer-controlled general managers by trading away below-average pitchers in return for above-average hitters (and then signing those hitters at lower salaries than pitchers with the same win value were asking for).

The Shocker!

Baseball Mogul 2016 re-calibrates all ratings when loading a game saved in the previous versions. This means that a team of players rated between 82 and 88 could become a team with of players rated in the high 70s. These rating changes may come as a shock -- in the same way that you would be stunned if your employer suddenly cut your pay by 8% for no reason. I have noticed that I can rewrite the code for determining team revenue or ticket sales or player salaries without getting a single complaint. If the number of outfield assists or complete games goes down by 8% between versions, no one notices. But if the ratings for your players on your team drop by 8%, it seems like the game has undone all the hard work you put into building your team. It's worth remembering that the underlying player talent level is completely unaffected by this adjustment, which applies equally to every player in the database. This is a significant change, but it was a long-awaited fix to the problems of inexact player ratings and unpredictable talent distribution – problems that leaked over into everything from player evaluation to managerial decisions.

Sunday, March 29, 2015

Baseball Mogul Diamond: Head-To-Head Records

I just got an email from a customer suggesting that we show head-to-head records between each team during the season. Well, Baseball Mogul already does that (and we've made some improvements with Baseball Mogul Diamond). So here's a quick primer for anyone who wasn't aware of the "Head-To-Head" button on the Calendar Screen:

Near the top of the Calendar Screen is a rectangle with the words "Head-To-Head". It doesn't really look like a button, but it is.


Clicking the button brings up the head-to-head records for every team, divided by league (and with a section for "Interleague Play", if applicable). An example of just the National League is shown here:


My team (the Cubs) are shown in blue. Our record against Cincinnati was 5-14. We went 4-2 against Colorado, 2-5 versus the Dodgers, and so on.

Friday, January 23, 2015

Baseball Mogul Diamond: The "Skip" Button

Baseball Mogul gives you multiple ways to manage players in the last year of their contract (including those eligible for arbitration). The easiest way is to select "Expiring Contracts" in the Sortable Stats Dialog (on the Team Menu):


Then open the player's Scouting Report and click the "Negotiate" button:


However, if you still have expiring contracts at the end of the season, the game will force you to sign or release each of your players. This is frustrating, because you have to decide (for example) whether to sign Jon Lester before you know how much Felix Doubront is going to ask for in arbitration.

So ... we are adding a "Skip" button for Baseball Mogul Diamond.


It's a small feature, but for folks (like me) who wait until the end of the year to deal with expiring contracts, it makes it easier to keep your best players and still stay within your payroll budget.

Tuesday, December 9, 2014

Viewing Head-to-Head Stats (Baseball Mogul)

When I posted some news last week about Baseball Mogul Diamond, one of the responses was a request to add "hitter/pitcher results vs. each pitcher/hitter and hitter/pitcher results vs. each team".

As it turns out, we've been tracking player-vs-player and player-vs-team results since 2007. So here's some info in case you didn't know how to access this feature:

1. On the charts tab in the Scouting Report, click on the gray box that shows what is currently being displayed (batting average, 2 outs, etc.) and you will get a dialog box that lets you choose vs-player or vs-team:


2. Stats by each team's lineup versus the other team's pitchers are shown at game start (when selecting a starter or adjusting the lineup). For example, this screen shot shows a player comparing the career performance of two pitchers against the Yankees:


3. During game play, head-to-head stats are shown under the batter's scouting report.





Saturday, December 6, 2014

Baseball Mogul Diamond

Last week, I promised some news about Baseball Mogul to our newsletter subscribers. I haven't been able to pull together any screenshots, but I can let you know about some new developments, with more information to come over the next 3 months.

We're changing the name, sort of.

In early 1998, we launched a game called Baseball Mogul 99 (instead of the more accurate "Baseball Mogul 98"). This numbering scheme was chosen by our publisher, and matched other sports games, but it has since led to confusion because "Baseball Mogul 2015" includes rosters for 2014, with player stats through 2013.

So, the next version, including stats through the 2014 season, will not be called Baseball Mogul 2016. It will be called Baseball Mogul Diamond. The logic behind the name "diamond" is that we have four notable areas of new features:

(1B) Free Agent Compensation

Baseball Mogul Diamond includes up-to-date rules and regulations for free agent compensation, matching those set out by the most recent collective bargaining agreement (CBA).

Free Agent Compensation
When teams lose players to free agency (after giving that player a "qualifying offer") they are entitled to additional picks in next amateur draft as compensation.

Many of you don't want these roster rules to slow down game play or make it more complicated. So, we have added a new "Roster Rules" dialog that lets you customize this feature.

(2B) Improved Aging Model

This includes many small changes, but the most visible is the fact that players now move "down the defensive spectrum" as they age. Bill James first defined the defensive spectrum in the 1980s, creating a list of positions from the least difficult (on the left) to the most difficult (on the right):


The best offensive players are usually found closer to the left side of the spectrum. (Note that before about 1930, 3B was actually between CF and SS).

As players age, they tend to move from the more difficult defensive positions (on the right) to the least difficult (on the left). For example:

  • Rod Carew played 2B until age 29, then moved to 1B.
  • Craig Biggio was drafted as a catcher, but moved to 2B at age 24 and moved the outfield at age 36.
  • David Ortiz started his career at 1B, then slowly shifted from being a DH in about 15% of his games to starting at DH 97% of the time.
  • etc.

(3B) New General Manager AI (Artificial Intelligence)

We're rewriting the general manager AI so that computer-controlled teams draft, sign, re-sign, release and trade players more realistically. The "Tradezilla" engine had some flaws that needed to be fixed, and the AI had other weaknesses. For example, it was common for a team to sign (or trade for) a star player, only to let him rot on the bench because the team already had a great player at that position. Teams also have serious problems with cash and salary management, among other things.

So ... the new roster rules described above required that we create much more comprehensive GM AI, and has also allowed us to fix existing problems. As many of you have noted, the addition of the roster rules solved some of the problems for us. For example, free agent compensation tends to help small market teams stay competitive with the big boys.

(Home) Improved User Experience

Okay. There are many smaller improvements, so I just lumped them into "improved user experience".

We've improved end-of-season contract negotiations by making it easy to skip a player and come back to him later. We also show you how much payroll you have in expiring contracts, to make it easier to stay within your budget.

You can now view player projections (not to be confused with "predicted stats") on the Leaders Page and in the Sortable Stats Dialog.

Pitcher usage has been adjusted (yet again) to not only match recent trends by managers, but to ensure accuracy in all historical eras. We have also added more adjustable parameters, in case you want to tweak the simulation results to your liking.

And of course we are continuing to respond to your bug reports and suggestions in our forums.

Thank you for continued support and feedback, and please stay tuned for more info!