Razzball Player Rater FAQ


General Questions | Advanced Methodology | Table Instructions

General Questions

What is the purpose of the Razzball Player Raters?

The purpose of our Player Raters is to objectively value and rank hitters/pitchers in season-long Roto leagues across various time periods using a relatable metric/scale (the $260 used in auction/salary cap leagues).

This same methodology is applied to past stats (e.g., Season to Date) and future projections (e.g., Preseason, Rest of Season).

What are the time periods that this methodology is used at Razzball for valuing past stats and future projections?

Past Stats: Season To Date, Past Seasons (back through 1903), Last 30 Day, Last 7 Day, Monthly*, Weekly*

Future Projections: Preseason, Rest of Season, Weekly*, Daily*

* Requires paid subscription

What are the league sizes covered in the Player Raters?

The default format is 12 team mixed league. Additional league sizes (10, 14, 15, 16, AL10, AL12, NL10, NL12) are supported for Preseason, Season To Date, and Rest of Season.

What are the league scoring formats covered in the Player Raters?

The default format is for standard 5×5 roto format (R/HR/RBI/SB/AVG, W/K/ERA/WHIP/SV).

There is some support in Preseason, Season to Date and Rest Of Season for various formats like 5×5 OBP, 6×6 OBP, and 6×6 OPS for hitting and 6×6 QS, 6×6 Holds, and 7×7 QS+Holds for pitching.

What are the roster formats covered in the Player Raters?

The default settings are for Standard format: 13 hitters (C*/1B/2B/SS/3B/5 OF/CI/MI/UTIL) and 9 pitchers. (Bench is irrelevant)

* Standard league catcher values are adjusted in a way that assumes 1.5 catchers/league

The Yahoo format of 10 hitters (C/1B/2B/SS/3B/3 OF/2 UTIL) and 8 pitchers is supported for Preseason, Season To Date, and Rest of Season.

What hitter/pitcher splits are used?

The traditional $260 used in fantasy baseball drafts is split Hitter 63.5% / SP 26.5% / RP 10%.

These splits are a blend across casual and high-stakes leads. In general, casual non-H2H leagues value hitters a little more and SPs a little less with high-stakes leagues being the inverse.

What is the difference between $ and $/G?

The $ represents a player’s full value for the time period being measured. Since 7 of the 10 roto categories are counting stats, this means that these values are rewarding quality and quantity and it is difficult to separate the two.

The $/Game aims to isolate the quality by estimating a player’s value on a per game basis. This ensures the one piece of volume that cannot be replaced remains in the results – i.e., differences in PA/G (driven by batting order and team offense) and IP/Game (driven by role, efficiency and durability).

One additional benefit of $/Game is that it provides guidance on a prospect or non-everyday player’s value if they got more of a full-time role.

What does R% represent in the in-season and rest of season Player Raters?

This is the percentage of leagues within the NFBC 12-team OC (Online Championship) that are rostering a player as of last Monday.

Advanced Methodology

What is the question that drives your methodology?

How much would a certain player change the standings performance for the average team if they were replacing the average player at their position (with position bucketed into Catcher, Non-Catcher, Starting Pitcher and Relief Pitcher).

What is the methodology for valuing players?

Here is an overview of what we do:

  1. Create a universe of rostered starters based on the most valuable players available at each position with some reflection of market biases (e.g., anyone with SVs – even with bad ratios – will be rostered while high Win relievers often will not). MI, CI and Utility slot are divvied up based on most valuable players remaining at those positions after filling the initial slots.  There is a fixed mix for SP/RP that varies by era depending on MLB reliever usage.
  2. Use this universe of rostered starters to calculate total league stats and then model expected league distribution of stats to calculate a Point Share. This is our variant of SGPs (Standings Gain Points) that represents the estimated difference in an average team’s points if they were to substitute a given player for the average drafted player at his position. So if a player has a 1.0 Point Share for Runs, he would, on average, increase a team’s standing points in Runs by 1 point.  Thus, a completely average player is worth zero Point Shares.
  3. Determine replacement levels (which will be negative since zero is average) for catchers, non-catcher hitters, SPs and RPs. Add their Point Share absolute value to the Point Share totals of all players (e.g., if replacement value is -2.9, add 2.9 to every player’s PS total) and then calculate the value of hitter, SP, and RP Point Shares by summing up the Point Shares + $1 replacement value for each player and dividing it into the $260 splits noted above.
  4. Some adjustments are then made to balance out the $ values so each of the hitting and pitching categories have similar $ totals amongst this modeled universe of rostered starters.

What positional adjustments are made?

Positional adjustments – aka, the boosting of all players at a position equally to insure the nth player at a position is worth $1 – is generally an imprecise solution to an often non-existent problem.

The only position which is truly anomalous vs other positions is catcher – especially in two catcher leagues.

While the traditional method would boost all catchers to ensure that all drafted catchers are worth a $1 (aka the 24th catcher in a 12 team league with 2 catchers), we only adjust catchers so that the catcher ranked 1.5*number of teams (aka the 18th catcher in a 12 team league) is boosted up to $1st.

The reasons for this include:

  • This is a midpoint between the 1 catcher and 2 catcher formats and we have no desire to create separate 1 vs 2 catcher rankings.
  • Even in 1 catcher leagues, the market tends to put a premium on top catchers.
  • For 2 catcher leagues, there is very little market consensus on the bottom quarter of drafted catchers. It is more likely anyone waiting until the final rounds of. say, a 15 team draft would still have their 23rd catcher vs be forced to draft their 30th catcher on their board. The difference between those two values can be anywhere from $3 to $6 which represents several rounds in a snake draft. Boosting all catchers up multiple rounds because of an event that likely won’t happen does not make any sense.

Why does your methodology compare vs. the average player value vs. the replacement value (like WAR)?
A replacement player in fantasy – aka the best hitter/SP/RP you can find on waivers – comes in various unsatisfactory flavors. It could be a power hitter that has poor AVG and no speed. A speedster who can’t hit for power. A player who is just below average (for fantasy purposes) in every category. A solid K pitcher who has high ratios for a bad team. An awful K pitcher who has kind of bad ratios for a really good team and gets Wins.

This variance in category strengths/weaknesses makes defining a replacement in fantasy based on a subset of players whose value is at or around the $1 mark a nebulous exercise.

By using the average value for hitters, SPs, and RPs, you are incorporating every played deemed startable. This is an inherently more stable composite to measure a player against.

The reason why WAR works for measuring real baseball player value is that all events can be boiled down into one metric – Runs. A WAR framework CAN boil down the run contribution of a power hitter with poor AVG and no speed vs a speedster with no power. That is not possible for Roto because you need to consider each category separately.

Does your methodology use z-scores? 

No. Most ‘player raters’ or auction calculators employ z-scores because it is simpler to implement when handling varying league sizes and stat categories.

A z-score assumes the distribution of stats amongst players fits a standard bell curve. This is not necessarily the case – particularly with certain stats like SBs and SVs. I believe that is one reason why tools based on z-score methodologies tend of distort the contributions in certain categories vs. others or have challenges handling ratios (where there are inherently different PA/IP inputs across players) vs counting stats.

But the larger question to ask is, “What question does measuring the distribution of player stats across a player pool help answer?” Is a player 90th percentile in AVG and 10th percentile in SBs as valuable as a player 10th percentile in AVG and 90th percentile in SB (all other things equal)? The only way to get that answer is to actually understand how standings typically distribution for each stat category. That’s what SGPs (Standings Gains Points) do and you do not need z-scores to do it.

This is why most advanced players use some variant of SGPs for their home-brewed values – typically tailoring each category’s distribution based on actual results from the previous year.

Our methodology models these category distributions (which enables them to be run across multiple formats and without manual intervention) and these distributions are tested against actual results.

Why does the sum of the category $ figures not equal the player’s total $ value?
 The value of a replacement player is set at $1 so you’ll need to take the sum and add an extra $1.  Rounding might lead to slight differences as well.

How do you factor in the value of streaming pitchers/hitters?
This is not factored into Player Rater projections due to its complexity.  It is possible – with more research – to perhaps determine the general category strength/weaknesses of a streaming strategy to develop category weights (my recent experience is that it is much harder to stream AVG than the counting stats and that streaming SPs all depends on owner preference but that the default practice is to maximize ERA/WHIP and compensate for the lack of K’s with middle relievers.  This is tougher to employ in a IP cap league though).

Table Instructions

How do I sort results?
Click the column headers once to sort numbers in descending order. Twice to sort in ascending order.

How do I filter results?
You can filter multiple fields at the same time.  The text fields below the column headers enable several methods for filtering the data.  Here are some examples:

Function Symbol Example Explanation
ANY MATCH ‘B’ in Pos Typing B in Pos will filter to any player with 1B, 2B, or 3B eligibility.  Type in more details to filter further – e.g., “1B’, “1B, 3B”, etc.
OR | *Ruth*|*Aaron* in ‘Name’ All players with Ruth or Aaron in their name. The asterisks before/after each Name is needed for wildcarding when you are using OR.
NOT ! !Ruth in ‘Name’ This excludes anyone with Ruth in their name
GREATER THAN > >30 in $ All players whose $ is greater than 30
LESS THAN < <30 in $ All players whose $ is less than 30
GREATER THAN OR EQUAL TO >= >=30 in $ All players whose $ is greater than or equal to 30
LESS THAN OR EQUAL TO <= <=30 in $ All players whose $ is less than or equal to 30

How do I download results?
There is a download button above the table.

Maintained by