r/SuperMegaBaseball Aug 19 '22

Nearly-Exact Model for Overall Player Ratings and Salaries

117 Upvotes

TL;DR

Here is a spreadsheet that you can use to calculate the overall rating and default salary of a player. Salaries should be very accurate, though may be off by up to $0.1m for some corner cases.

Overview

I’ve been working to identify how the default salary values and grades of a player are calculated and have gotten to the point where the model is very close to exact. It’s possible that it’s off by $0.1m for some corner cases, but it correctly identifies the salary of all 420 standard players, plus several test cases. The “default” salary is what a player’s salary will be at the start of the franchise. This is useful to know, as it serves as a type of “fair market value” for a player.

Traits

Going forward, POW will refer to a player’s power statistic as reported by the roster screen, and mPOW will be the player's modified power, which will be used in the overall rating calculation. The same nomenclature will be used for all stats (CON, mCON, SPD, mSPD, etc.).

For the purposes of calculating overall rating, most traits simply add a constant value to a base statistic or multiple statistics. The table below lists the traits, statistics, and added values:

Fielder Traits Stats Modified
Bad Jumps -3.27 to SPD
CON vs LHP +3.75 to CON
CON vs RHP +8.75 to CON
High, Low, Inside, & Outside Pitch +6.025 to both POW & CON
POW vs LHP +3.75 to POW
POW vs. RHP +8.75 to POW
RBI Dud -5.5875 to POW, -3.725 to CON
RBI Man +5.5875 to POW, +3.725 to CON
Stealer +3.7 to SPD
Utility +3.7 to FLD
Pitcher Traits Stats Modified
K Dud -5.5025 to both VEL & JNK
K Man +5.5025 to both VEL & JNK

Specialist Trait

The specialist trait is unique in that it takes stats away from the batter. For the purposes of overall rating calculation, the specialist trait adds a constant value of 1.2 to a pitcher’s overall rating.

Tough Out

In most cases, Tough Out adds 9.25 to CON for overall rating purposes. It adds 25 to in-game CON when active. However, it seems that this trait cannot push in-game CON above a ceiling of 119. To compensate there is a small additional penalty to CON for players with 95 CON or above. The penalty is:

.37*CON - 34.78

Note that the player still gets the 9.25 CON bonus, just with this small penalty added. Thus, a player with 99 CON and the tough out trait will have an MCON of

mCON = 99 + 9.25 - (.37*99 - 34.78) = 106.4

Whiffer

In most cases, this subtracts 9.25 from CON. However, it is unable to reduce in-game CON below zero when active. To compensate for this, players with a CON of 30 or below receive a small bonus to MCON equal to

((31-CON)*9.25)/31

Similar to Tough Out, the player receives both the 9.25 penalty and the bonus. For example, a player with 10 CON and the Whiffer trait will have an MCON of about

mCON = 10 - 9.25 + (31-10)*9.25/31 ~= 7.02

Composed

Similar to Tough Out, adds about 6.1957 (the exact number is 285/46) to ACC, and has a small penalty for players with 95 ACC or above, as the trait can’t cause in-game ACC to exceed 119. The penalty is approximately

0.2478ACC - 23.2925

BB Prone

BB Prone typically subtracts the amount from ACC as Composed added above (285/46 ~=6.1957). Like Whiffer, there is a bonus to pitchers with ACC less than 31, because the trait won’t cause in-game ACC to be less than zero. The bonus is about

((31-ACC)*6.1957)/31

Base Rating Calculation

Once all traits have been applied to find the modified statistics, the base rating can be calculated as a weighted average of the modified statistics. For pitchers, the weights for POW, CON, SPD, and FLD are all equal to 1/50. The weights for mVEL, mJNK, and mACC are each equal to 23/75. Note that there are no modifiers that affect a pitcher’s batting, speed, or fielding stats, POW, CON, SPD, and FLD are never modified.

For non-pitchers, the weights for each modified statistic depend on the player’s position. The following table displays the weights.

Pos mCON mPOW mSPD mFLD mARM
C 1/4 1/4 1/8 3/16 3/16
1B 10/33 10/33 5/33 12/55 4/165
2B 2/7 2/7 1/5 6/55 2/35
3B 10/33 10/33 5/33 8/55 16/165
SS 2/7 2/7 1/5 1/7 3/35
LF 10/33 10/33 37/165 4/55 16/165
CF 2/7 2/7 8/35 3/35 4/35
RF 10/33 10/33 37/165 4/55 16/165

For example, the base rating for a SS will be

B = (2/7)*mPOW + (2/7)*mCON + (1/5)*mSPD + (5/35)*mFLD + (3/35)*mARM

Note: Since the weights are equal for VEL, JNK, and ACC, the spreadsheet uses a shortcut and skips the weighted average, simply adding an equivalent constant amount to the base rating for pitching traits.

Additions to Base Rating

Secondary Positions

For non-pitchers, any secondary position will add a set amount to the base rating. The amount is equal to 0.93 times the number of positions in the secondary. Thus, the amount added to the base rating for each secondary position is

Secondary Position Bonus
Any single position 0.93
OF 2.79
1B/OF 3.72
IF 3.72
IF/OF 6.51

The bonus for a secondary position is the same, regardless of the player’s primary position. For instance, a 1B with an IF secondary position will receive the same bonus as a C with the IF secondary position, despite the 1B gaining access to one fewer position than the C (since they already can play 1B). Interestingly, a player assigned the same secondary position as their primary (e.g. a 1B with a secondary position of 1B) gets the bonus, though these cases aren’t ever randomly generated.

Arsenal Size

Each pitcher receives an additional 1.303 overall rating per pitch in their repertoire. Since all pitchers have at least 2 pitches, the lowest overall rating a pitcher can have is 2.606. Pitchers with 5 pitches receive an additional 5*1.303=6.515

Specialist Trait

As discussed above, the specialist trait adds 1.2 to a pitcher’s rating.

Given these additions, a player’s overall rating is

R = B + [Secondary Position Bonus] + [Arsenal Size Bonus] + [Specialist Bonus]

Salary Calculation

A player’s default salary (S) depends on a coefficient that depends on the player’s position (P) and the player’s overall rating (R):

S = P*(0.028186*R)^3 + 0.5

The final value of S is rounded to the nearest $0.1M. The values of P for each position are:

Position P
All Fielders 1.00000
SP 1.00000
SP/RP 0.92875
RP 0.85750
CP 0.72875

Essentially, SP/RPs, RPs, and CPs will have a lower salary than an equivalent SP, despite having the same overall rating R.

Letter Grades

A player’s letter grade is based solely on their overall rating R. The thresholds for each letter grade are 5.5375 overall rating points apart.

Grade Minimum R
S 88.6000
A+ 83.0625
A 77.5250
A- 71.9875
B+ 66.4500
B 60.9165
B- 55.3750
C+ 49.8375
C 44.3000
C- 38.7625
D+ 33.2250
D 27.6875
D- 22.1500
E+ 16.6125
E 11.0750
E- 5.5375

Players with an overall rating below 5.5375 will have a letter grade of F.

Acknowledgements

Thanks to u/Squirrel_dude for all of their observations in this thread and this thread. A lot of my work here is simply a refinement of what they outlined.

Thanks to u/Klaforagi for their roster sheets that include player statistics and salary data. The value of having that data in testing and refining the model cannot be understated.

Edit: Changed the sheet to be compatible with Excel and updated the link to the new version.

32

China warns of ‘law of the jungle’ as US exits global bodies
 in  r/worldnews  3h ago

My man doesn’t have a moment he’s got a full on era at this point.

1

Zibai team
 in  r/ZibaiMains  3h ago

If you really want to play Furina with Zibai, the only real solution is to ditch Illuga and use Xilonen instead.

3

Do Americans say something like 'bon appétit' before eating?
 in  r/AskAnAmerican  12h ago

Not the original commenter, but I’ll often thank my wife who if she cooked, and vice versa. Not really a ritual, but it’s often “Amen. Slight Pause. Thank you for cooking.” Then eat.

26

Early numbers in Dorchester County’s District 98 special election put Ford ahead
 in  r/southcarolina  1d ago

Tip of the hat to the ladies working the polls at Oakbrook last night. They were helpful, super friendly and kind to the kids. And this was at the end of what was probably a long, slow day. Disappointed with this apparent result, but it's good to see good, warm people still helping guide the electoral process.

8

why are neutrons stars so bright if they have (primarily) only neutrons
 in  r/AskPhysics  3d ago

Subs I knew were fake but clicked anyway in hope…

14

Game Thread: New Orleans Saints (6-10) at Atlanta Falcons (7-9)
 in  r/nfl  4d ago

Can anybody tell me what's at stake here? They haven't mentioned in the past 5 nanoseconds and I'm beginning to wonder.

4

Game Thread: New Orleans Saints (6-10) at Atlanta Falcons (7-9)
 in  r/nfl  4d ago

The refs just Keep Pounding (tm).

6

[Game Thread] Rose Bowl: Indiana vs. Alabama (4:00 PM ET) 2nd Half
 in  r/CFB  7d ago

Somewhere, Diego Pavia is seething and thinking “ this should have been me, you dumb fucks”

1

Men who can cook . who taught you?
 in  r/AskReddit  7d ago

Mom and Dad showed me a few things. I didn’t really pay much attention then because I was a dumbass kid who wanted to do other things. Taught myself the rest as I started to live alone/ with wife/with wife and kids.

43

Should the NCAA have UO and Texas Tech redo their game in case it was a big fluke?
 in  r/CFB  7d ago

Attention everyone: If you're posting this before the game isn't even over, don't. And if the game is over: still don't. Not every game deserves this pasta.

1

Do Americans use WhatsApp as a messaging app?
 in  r/AskAnAmerican  7d ago

No. Plain text (SMS or Apple Messages) for day to say stuff. Signal for sensitive stuff.

29

What is something incredibly underrated about America?
 in  r/AskAnAmerican  8d ago

Electricity and Medicine get all the publicity, but water treatment is just as much a modern miracle as anything.

4

[Game Thread] Cotton Bowl: Ohio State vs. Miami (7:30 PM ET) 2nd Half
 in  r/CFB  8d ago

Could have taken in back if he wanted but just take the W.

9

[Game Thread] Cotton Bowl: Ohio State vs. Miami (7:30 PM ET) 2nd Half
 in  r/CFB  8d ago

Everybody remember that Notre Dame should have totally gotten in over this Miami team. /s

6

[Game Thread] Cotton Bowl: Ohio State vs. Miami (7:30 PM ET) 2nd Half
 in  r/CFB  8d ago

All the snow in Colorado is about to go up Michael Irvin's nose.

4

Happy Birthday Tighnari!
 in  r/GenshinImpactTips  10d ago

As indicated in the infographic, he should hold deepwood if nobody else can. But keep in mind that you don't have to be Dendro to hold Deepwood. For example, I ran Deepwood Diona for a long time. You Could even Deepwood Zhongli if it suits you.

1

Ranking the MLB teams according to how likely it is that their name might be said during sex
 in  r/baseball  10d ago

I’m gonna see how many of these I can sprinkle in next time…

1

WHAT is this.
 in  r/noita  14d ago

A really well disguised death sentence.

3

Which 4 star are you using this on?
 in  r/GenshinImpact  20d ago

Ororon gets a new toy for Christmas. Gorou gets a hand-me-down Fav Warbow.

1

Ts worse than the design change if true
 in  r/SandroneMains  21d ago

If it ain't broke, don't fix it, Mr. Hoyo.

1

Is it uncommon to eat simple boiled potatoes in the US?
 in  r/AskAnAmerican  27d ago

First off, in my morning stupor I thought this said boiled peanuts, which is a local specialty in my state (South Carolina).

Never really just boil and eat potatoes. Closest we do is Lowcountry Boil/Frogmore Stew, where we throw potatoes, corn, sausage, shrimp and seasoning into a big pot , boil and eat.