How Baseball Sim Engine Player Ratings Work

Baseball Sim Engine generates player ratings from MLB performance data rather than assigning them by hand.

The current system blends five samples:

Sample Weight
Career 50%
Last 162 appearances 30%
16–30 days ago 12%
8–15 days ago 6%
1–7 days ago 2%

The current window configuration is defined in PlayerRatingService.

The career sample includes previous seasons plus the current season up to the rating date, while the rolling sample uses the player’s most recent 162 appearances.

The three recent windows are separate, non-overlapping date ranges. Hitters must also meet minimum plate-appearance thresholds of 25, 15, and 10 respectively. Pitchers qualify when they have pitching history in the window.

If a player does not qualify for every window, the available weights are normalized before the ratings are blended.

Rating Scale

Ratings are relative to the current MLB environment rather than raw statistics alone.

The normal average is 100, with ratings bounded to 30%–170% of the configured average. With an average of 100, that produces a 30–170 scale.

For readability on the website, those numeric ratings are also converted into familiar letter grades:

Rating Grade
170+ A+
158–169 A
146–157 A-
134–145 B+
122–133 B
110–121 B-
95–109 C+
83–94 C
71–82 C-
59–70 D+
47–58 D
35–46 D-
Below 35 F

The numeric rating remains the value used by the simulation. The letter grade is simply a more understandable way to display that number to users.

The rating bounds are implemented in PlayerRatingService, while the website converts those values to letter grades in its player display code.

Hitters

Hitters receive ratings for:

  • Contact
  • Plate Discipline
  • Gap Power
  • Home Run Power
  • Speed
  • Stealing
  • Defense
  • Arm

Contact, discipline, gap power, and home run power are also split against right- and left-handed pitching.

The hitter calculations are implemented in PlayerRatingService.

Pitchers

Pitchers receive ratings for:

  • Power
  • Control vs. RHB/LHB
  • Movement vs. RHB/LHB
  • Pitch repertoire
  • Batted-ball profile

Power uses information including strikeout rate, fastball velocity, and contact allowed. Control emphasizes walks and strike throwing. Movement incorporates contact quality, extra-base-hit suppression, and measured pitch movement.

A pitcher’s batted-ball profile describes the type of contact he tends to allow when the ball is put in play. Baseball Sim Engine tracks the relative mix of:

  • Ground balls
  • Fly balls
  • Line drives

The same type of profile is also used for hitters to describe the kind of contact they tend to produce. These profiles help the simulation distinguish players who may have similar overall ratings but create or allow very different types of batted balls.

The contact-profile and pitcher-rating calculations are implemented in PlayerRatingService.

Overall Rating

The overall rating is only a summary.

Pitchers are averaged across five pitching ratings. Position players are averaged across 12 hitting, running, and fielding ratings.

The simulation still uses the individual ratings underneath that overall number.

The overall-rating calculation is implemented in PlayerRatingService.

The full implementation is open source in the Baseball Sim Engine repository.