Post by eric on Sept 20, 2018 18:19:55 GMT
Ratings and Attributes
Attributes are those quantities we can give +5 to in a skill camp and are not visible to GMs. Ratings are visible to GMs as letter grades and are composed of attributes as follows:
Inside Scoring = 50% Inside Scoring + 20% Strength + 30% Jumping
Outside Scoring = 50% Jump Shot + 50% Three Point Shot
Handling = (67% Passing + 15% Quickness) * (1 + 0.5% * Handling)
Rebounding = 45% Defensive Rebounding + 35% Offensive Rebounding + 15% Strength + 5% Quickness
Defense is roster position dependent as follows:
Any attribute exceeding the roster position's cap will not factor into the player's defensive grade, but will have an impact on the court. When a player changes roster position and gets + or -, this is why. Handling attribute has a notch that treats 61 Handling as 51 Handling for grade calculation purposes, as well as diminishing returns above 61. Again, this does not mean the player has gotten worse, just that grades can be deceiving. Finally, attributes are hard capped for roster positions as follows:
C_: 75 handling, 75 passing, 75 perimeter defense
PF: 80 handling, 80 passing, 75 perimeter defense
SF: none
SG: 60 offensive rebounding, 60 defensive rebounding
PG: 50 offensive rebounding, 50 defensive rebounding, 75 post defense
An attribute cannot exceed a roster position's hard cap either through training camp growth or skill camp / reward camp. However, under certain circumstances a player can be at a different depth chart position than roster position. Only the player's roster position caps apply.
Minimum Rating Needed for Each Grade
The software enforces a minimum rating of 1 and maximum rating of 100, as well as a minimum attribute of 5 and maximum attribute of 100.
Attribute Change over Time
Every player has a hidden and visible potential. Visible potential is calculated after each training camp as hidden potential / 2 + 25 ± 15, with the last term a random range from +15 to -15: 32.5% from +2 to -2, 65% from +14 to +3 and -3 to -14, and 2.5% for +15 and -15. The only value that matters for attribute growth is the hidden potential after training camp. Ending hidden potential from 0 to 20 is tier one, 21 to 40 tier two, and so on to tier five. Here are the maximums for per position at the time of training camp per tier:
The minimum values are -1 for Jump Shot, -2 for Quickness, Strength, and Jumping, and -5 for everything else. All distributions are symmetrical except for Inside Scoring and Jump Shot, which are skewed down. The only effect of age is that Quickness, Strength, and Jumping will have a -1 applied at age 30+ and an additional -1 applied at age 36+. Quickness, Strength, and Jumping are unaffected by having lower tier growth, as are the minimums for all other attributes.
Hidden potential itself for veterans in their twenties changes from -4 to -7 for hidden potentials from 71 to 100, -7 to -10 from 51 to 70, and +5 to -5 from 1 to 50. For those in their thirties, a -3 is applied. For those in their teens, only the 71 to 100 range is different with four evenly weighted possibilities:
-decrease of potential / 5
-decrease of between -2 and -6
-stay the same
-increase of between +1 and +20
Current Rating
The software combines all of a player's characteristics into one single number called Current Rating, which is hidden from GMs. It does not do so in a way that accurately reflects a player's contributions on the floor. Current Rating determines roster order within a position, so the highest C will have the highest Current Rating.
.
Testing
I check each position from two perspectives.
BAD
-Create a player with fifty less than his position's maximum in every attribute and record eighty seasons.
-Increase one attribute to the maximum and record eighty seasons.
-Return that attribute to fifty less than max, increase the next attribute to the maximum and record eighty seasons.
-Repeat for every attribute.
GOOD
-Create a player with the maximum in every attribute and record eighty seasons.
-Reduce one attribute by fifty and record eighty seasons.
-Return that attribute to the max, reduce the next attribute by fifty and record eighty seasons.
-Repeat for every attribute.
I specifically recorded player [games, minutes, field goals, field goal attempts, free throws, free throw attempts, three pointers, three point attempts, rebounds, assists, steals, blocks, turnovers, fouls, points] and team [wins, points allowed, turnovers allowed, field goals allowed, field goal attempts allowed, free throw attempts allowed, points, turnovers, field goals, field goal attempts, free throw attempts]. This allows me to calculate usage by team and player as well as Pythagorean wins in addition to actual wins.
.
Results
Usage
Usage is functionally capped: the GOOD regime only shows usage changes when Inside Scoring or Strength are reduced. Attributes increase usage mostly in the area suggested by their rating, but Inside Scoring for example will also increase jump shots and passes to a lesser degree. This table is given in [tenths of a use per 36 minutes to the nearest half-use] from [fifty points of an attribute].
Minutes Played
Minutes played are based on two fundamental principles. First, a coach will give more playing time to a player he thinks deserves it, and it turns out that he makes this judgment on a very strict attribute by attribute basis for each position. These numbers are given below in terms of multiplicative increase in MP per fifty points of attribute. Second, a referee will send off a player that accumulates six personal fouls, and so attributes that decrease fouling will increase playing time. In both cases, minutes are functionally capped at about 38 minutes per game for bigs and 40 minutes per game for perimeter players.
Most attributes are irrelevant to fouling. There are no offensive fouls in the software.
Shot Blocking decreases for everyone.
Perimeter Defense slightly increases for everyone.
Quickness, Post Defense, and Strength increase for perimeter players and decrease for bigs.
Injuries
No attribute helps avoid injury. The more a player plays, the more likely they are to be injured.
Wins
Tested for players who are BAD. This table is given in [tenths of a Pythagorean win] from [fifty points of attribute] in one year.
Tested for players who are GOOD.
Granular Results per Attribute
This is going to get pretty intense. The way I recommend reading this chart is to go column by column, and those columns are [rebounds, assists, steals, blocks, turnovers, personal fouls, points] per 36 minutes, usage%, points per true shot attempt, assists per turnover, defenses per personal foul, % of uses that ended in [field goal attempt, turnover, free throw attempts, three point attempt], free throw %, three point %. It's a lot of information, but I'll give some examples below.
So let's look at "ast" first. It turns out that a player can only generate so many assists, so a bad player can increase their ast/36 with eight different attributes, but a good player can only increase assists with Passing. We also see evidence of non-linear effects: a 50 Inside Scoring 50 Passing player will see more assists from an increase in Inside Scoring, but a 100/100 player will see more from a decrease in the same attribute. A similar story occurs in usage %.
Two interesting wrinkles that are not obvious from the attribute descriptions. Quickness affects every grade except Scoring, but it turns out to increase 3P% and not increase rebounds. I guess it's possible Quickness' impact on rebounding refers to boxing out and so it might help team rebounding or something, but I doubt it. The second interesting one is that Defensive Rebounding increases free throw rate, which one would normally associate with Offensive Rebounding. Because the software doesn't split out rebounds into offensive and defensive there's no way to know for sure, but my guess is that each Rebounding helps on each side of the ball, it's just slanted one way or the other. Thus Offensive Rebounding helps free throw rate more, but Defensive Rebounding still helps it.
.
Overall Recommendations
The following tables are ultimately subjective. I have listed what I feel are the relevant result of increasing attribute relative to others available to the position:
gain is the expected team wins generated
growth is how quickly the attribute can be expected to grow naturally
mp is whether the attribute will be rewarded by the coach with more playing time
usage is how much the attribute can be expected to increase the player's usage
point guard
shooting guard
small forward
power forward
center
Keep in mind that Shot Blocking and Three Shot are nonlinear - a player who doesn't do them at all will see little impact from a small increase.
.
Measureables
An average center was tested at 140, 240, and 340 pounds. One thing changed: FG%, and at about the rate of 0.1% (.001) per 5 pounds, so each 100 pounds of weight was worth 2%. Literally every other stat was identical.
An average center was tested at 5'11", 6'11", and 7'11". One foot of height makes for about 0.3 more rebounds per 36 minutes, 0.2 less blocks per 36 minutes, and 1.5 more team wins per season, most of which come on the offensive end, but height does help team defense. In terms of overall contribution a foot of height is very roughly worth about 500 Strength.
An average point guard showed similar results.
.
Depth Chart
Pace:
Faster: More possessions, higher scoring, higher FG%, more free throws drawn, more shots taken from three
Slower: Less possessions, more assists, slightly less turnovers per possession
If team A scores more points per possession on average than team B, a faster pace further favors team A because a larger sample size will push the actual values closer to the expected values: it's plausible for a 50% FT shooter to go 2 of 2 and an 80% shooter to go 1 of 2, it's prohibitively unlikely for them to go 200 of 200 and 100 of 200 respectively.
Scoring Focus:
23% C_ / 23% PF / 18% SF / 18% SG / 18% PG - inside
18% C_ / 18% PF / 21% SF / 20% SG / 23% PG - balanced
15% C_ / 15% PF / 19% SF / 24% SG / 27% PG - outside
These values are a baseline. Specific players will shoot more or less than the average depending on their attributes. Overall, a team will have more threes, less free throws, and less turnovers the further outside your focus is. In a very fast paced outside focus:
Press: Pressing doesn't work. Opponents get more assists and more points per true shot attempt, a pressing team gets less blocks, more fouls, and no additional turnovers forced.
Trapping: Trapping works. Opponents don't shoot worse, but will turn the ball over more and assist less without drawing more fouls. A trapping team will focus more on steals than blocks and so the rate of shots blocked will go down slightly, but the tradeoff is worth it. The whole team will trap, not just bigs, and perimeter players will see more defensive improvement overall, but trapping is good for every good defender.
Minutes
Better players and especially players who score a lot of points will play more minutes than worse players. The software only really cares about the first two healthy players listed at a given position. If we test three DC types over a three season simulation...
A: starter / backup / backup
B: starter / backup / starter
C: starter / backup / utility
...the starters and backups played 99.7%, 99.7%, and 99.6% of the available minutes, and the starters played 77%, 77%, and 77%. A team can squeeze out about 15 seconds per game by putting a given starter at other position's third strings, but at the cost of 4 minutes per game being played by players the software coach selects even if everyone stays healthy. This can be a very significant cost because the software coaches make truly inexplicable decisions: for example playing a C Handling PF at PG when a B+ Handling PG was available on the bench but not on the DC. The third string will come into play even more when injuries occur, especially for mid-sim and short term injuries where DC adjustment isn't possible.
Scoring Option
A better description would be Playmaking Option, because making a player a scoring option will increase both their shot attempts and pass attempts. Players who already have high usage will not see as big a bump by being a given Scoring Option, and the first Scoring Option provides the biggest bump. Gain in usage from being a scoring option also depends on position and focus.
Gain refers to being a #1 option. #2 options get about 75% and #3 options get about 40% of the effect. Loss refers to another player being a #1 option, and the same ratios apply to them being #2 and #3 options. The max for a starter is thus being a #1 option when the other options are third stringers, and the min is three other starters being scoring options.
There is no usage/efficiency trade off in the software, and a player will not change shot selection based on being an option. A player will be as efficient as a 1st option as a non option.
Depth Chart Position
Two otherwise identical players listed at PF and C on the roster will have identical production if each are listed at PF on the depth chart, or each listed at C, or each listed at PG (this is illegal, don't do this).
An identical player listed at different depth chart positions will see production change in the following ratios regardless of offensive focus.
Rebounds: bigs 520, wings 420, point 390
Blocks: bigs 60, wings 30, point 25
Fouls: bigs 210, wings 110, point 90
Steals: shooting guards 90(!), centers 60, everyone else 70
Three Point %: bigs 30%, small forwards 27%, guards 25%
The player will also see production change depending on inside, balanced, and outside focus.
FTA/use: bigs, wings, point. In order of offense the splits were 10/7/6, 8.5/6.5/5, 8/6/5.
TOV/use: bigs, wings, point. 14/16/23, 14/16/19, 15/15/16
3PA/use: small forward, shooting guard, point, bigs. 14/12/11/7, 16/15/13/10, 19/17/15/13
.
Players and Contracts
An age 34 or lower player under contract will never retire in the following offseason. An age 35+ player has between a 25% and 50% chance to retire, regardless of Current Rating. Age 35-37 are verified 25% and age 43 is verified 50%. Players not under contract can retire younger.
When a league starts, every team has a 50 Win Rating.
After the playoffs are completed in every season, a team's Win Rating is (wins + 10 * playoff rounds won + 5 * championship won).
At some point in the offseason, a team's Win Rating is the average of the past year's starting and finishing values rounded to the nearest even number.
Players are marked in the software as resigning after day 120 and before the playoffs, which is before the team's new Win Rating is calculated.
Offering to resign is based only on Current Rating:
89.5% for 01-10 CRtg
85% for 41-50
75% for 51-60
60% for 61-70
50% for 71+
There is no correlation from loyalty, play for winner, or win rating to anything to do with resigning. There is significant correlation between greed and contract length and size, but not offering to resign at all.
Free Agency
Contract raises are generated by multiplying the previous year's value by the percent, but they are capped at the sum of the first year's value multiplied by the percent. For example, a contract of 6 years, $12.5m, 9% is
$12,500,000
$13,625,000 (1.09 * the previous value)
$14,851,250 (1.09 *)
$16,187,862 (1.09 *)
$17,500,000 (only 1.081 * the previous value because 12.5m+4*1.25m < 16.1m*1.09)
$18,750,000 (only 1.071 * for the same reason)
First year dollar amount is the most important factor, with enough of a gap the higher amount will win exactly 100% of the time, and players with higher greed will have larger responses to a given gap. Total amount in and of itself does not matter, but later years do: 5yr $6m will never beat 1yr $10m, but a 2yr $9m will often (not always) beat 1yr $9m, and for 0 greed players a 6yr $8m 10% will tie a 6yr $10m 0%.
There are many arbitrary break points where a losing but otherwise competitive offer will instead win 0%. One is a piecewise and irregular function of player greed and salary cap / 381, and that's the simple one. Try not to think about it.
Loyalty refers to the player's last team, not hometown. A team with Bird rights trying to retain a player with 50 greed and 50 loyalty with a 7yr $12.5m bid against another team with a 6yr $12.5m 10% bid will win as a function of raises:
00% - 8%
03% - 38%
05% - 70%
07% - 91%
10% - 99%
MAX - 100%
The same scenario with 7yr $12.5m 5% raises for an array of greeds and loyalties results in the Bird team winning as:
It is not the case for this set of contracts that an equal amount of greed balances an equal amount of loyalty.
As more non Bird teams bid, the total non Bird chance of winning increases (so long as every non Bird bid has more than 0% chance of success) but each individual non Bird team's chance decreases.
.
Software Players
When there aren't enough manually created players for a draft, the software will fill in randomly generated prospects with certain constraints depending on position:
These are the maximum and minimum values. The distributions are not symmetric. Averages are usually slightly below the midpoints except for Inside Scoring, where the average is far below the midpoint.
Attributes are those quantities we can give +5 to in a skill camp and are not visible to GMs. Ratings are visible to GMs as letter grades and are composed of attributes as follows:
Inside Scoring = 50% Inside Scoring + 20% Strength + 30% Jumping
Outside Scoring = 50% Jump Shot + 50% Three Point Shot
Handling = (67% Passing + 15% Quickness) * (1 + 0.5% * Handling)
Rebounding = 45% Defensive Rebounding + 35% Offensive Rebounding + 15% Strength + 5% Quickness
Defense is roster position dependent as follows:
caps qui ste sho poD peD drD str
c 45 65 85 85 55 80 85
pf 50 60 85 80 55 80 75
sf 65 75 70 65 70 70 65
sg 75 85 50 55 85 80 50
pg 85 85 35 45 85 75 45
values qui ste sho poD peD drD str total
c 35 10 35 45 15 30 30 200
pf 35 10 35 40 25 30 30 205
sf 35 30 20 40 30 30 25 210
sg 40 35 20 40 35 30 15 215
pg 40 35 20 35 45 30 15 220
Any attribute exceeding the roster position's cap will not factor into the player's defensive grade, but will have an impact on the court. When a player changes roster position and gets + or -, this is why. Handling attribute has a notch that treats 61 Handling as 51 Handling for grade calculation purposes, as well as diminishing returns above 61. Again, this does not mean the player has gotten worse, just that grades can be deceiving. Finally, attributes are hard capped for roster positions as follows:
C_: 75 handling, 75 passing, 75 perimeter defense
PF: 80 handling, 80 passing, 75 perimeter defense
SF: none
SG: 60 offensive rebounding, 60 defensive rebounding
PG: 50 offensive rebounding, 50 defensive rebounding, 75 post defense
An attribute cannot exceed a roster position's hard cap either through training camp growth or skill camp / reward camp. However, under certain circumstances a player can be at a different depth chart position than roster position. Only the player's roster position caps apply.
Minimum Rating Needed for Each Grade
rating grade
1 f-
6 f
11 f+
16 d-
21 d
26 d+
31 c-
39 c
53 c+
61 b-
66 b
71 b+
76 a-
86 a
96 a+
The software enforces a minimum rating of 1 and maximum rating of 100, as well as a minimum attribute of 5 and maximum attribute of 100.
Attribute Change over Time
Every player has a hidden and visible potential. Visible potential is calculated after each training camp as hidden potential / 2 + 25 ± 15, with the last term a random range from +15 to -15: 32.5% from +2 to -2, 65% from +14 to +3 and -3 to -14, and 2.5% for +15 and -15. The only value that matters for attribute growth is the hidden potential after training camp. Ending hidden potential from 0 to 20 is tier one, 21 to 40 tier two, and so on to tier five. Here are the maximums for per position at the time of training camp per tier:
tier 5
att pg sg sf pf c
ins 10 10 10 13 13
jsh 4 4 3 3 3
3sh 17 18 15 2 2
han 15 10 8 7 7
qui 2 2 2 2 2
pas 15 10 8 7 7
ste 15 15 13 10 10
sho 7 7 10 13 15
poD 10 10 10 13 15
peD 15 15 10 7 7
drD 13 13 13 13 13
orb 7 7 10 16 17
drb 7 7 10 16 17
str 2 2 2 2 2
jum 2 2 2 2 2
tier 4
att pg sg sf pf c
ins 7 7 8 10 10
jsh 4 4 3 3 3
3sh 17 18 15 2 2
han 15 10 8 7 7
qui 2 2 2 2 2
pas 14 10 8 7 7
ste 15 15 13 10 10
sho 7 7 10 13 15
poD 10 10 10 13 15
peD 15 15 10 7 7
drD 13 13 13 13 12
orb 7 7 10 16 17
drb 7 7 10 16 17
str 2 2 2 2 2
jum 2 2 2 2 2
tier 3
att pg sg sf pf c
ins 6 6 6 8 8
jsh 4 4 3 3 3
3sh 13 13 11 2 2
han 11 8 7 6 6
qui 2 2 2 2 2
pas 11 8 7 6 6
ste 11 11 9 7 8
sho 6 6 7 9 11
poD 7 7 7 9 11
peD 11 11 7 6 6
drD 9 9 9 8 9
orb 6 6 7 9 9
drb 6 6 7 9 9
str 2 2 2 2 2
jum 2 2 2 2 2
tier 2
att pg sg sf pf c
ins 5 5 5 5 5
jsh 2 2 2 2 3
3sh 5 5 5 2 2
han 5 5 5 5 5
qui 2 2 2 2 2
pas 5 5 5 5 5
ste 4 5 5 5 5
sho 5 5 5 5 5
poD 5 5 5 5 5
peD 5 5 5 5 5
drD 5 5 5 5 5
orb 5 5 5 6 6
drb 5 5 5 6 6
str 2 2 2 2 2
jum 2 2 2 2 2
tier 1 is a max of 2 for all positions for all attributes
The minimum values are -1 for Jump Shot, -2 for Quickness, Strength, and Jumping, and -5 for everything else. All distributions are symmetrical except for Inside Scoring and Jump Shot, which are skewed down. The only effect of age is that Quickness, Strength, and Jumping will have a -1 applied at age 30+ and an additional -1 applied at age 36+. Quickness, Strength, and Jumping are unaffected by having lower tier growth, as are the minimums for all other attributes.
Hidden potential itself for veterans in their twenties changes from -4 to -7 for hidden potentials from 71 to 100, -7 to -10 from 51 to 70, and +5 to -5 from 1 to 50. For those in their thirties, a -3 is applied. For those in their teens, only the 71 to 100 range is different with four evenly weighted possibilities:
-decrease of potential / 5
-decrease of between -2 and -6
-stay the same
-increase of between +1 and +20
Current Rating
The software combines all of a player's characteristics into one single number called Current Rating, which is hidden from GMs. It does not do so in a way that accurately reflects a player's contributions on the floor. Current Rating determines roster order within a position, so the highest C will have the highest Current Rating.
.
Testing
I check each position from two perspectives.
BAD
-Create a player with fifty less than his position's maximum in every attribute and record eighty seasons.
-Increase one attribute to the maximum and record eighty seasons.
-Return that attribute to fifty less than max, increase the next attribute to the maximum and record eighty seasons.
-Repeat for every attribute.
GOOD
-Create a player with the maximum in every attribute and record eighty seasons.
-Reduce one attribute by fifty and record eighty seasons.
-Return that attribute to the max, reduce the next attribute by fifty and record eighty seasons.
-Repeat for every attribute.
I specifically recorded player [games, minutes, field goals, field goal attempts, free throws, free throw attempts, three pointers, three point attempts, rebounds, assists, steals, blocks, turnovers, fouls, points] and team [wins, points allowed, turnovers allowed, field goals allowed, field goal attempts allowed, free throw attempts allowed, points, turnovers, field goals, field goal attempts, free throw attempts]. This allows me to calculate usage by team and player as well as Pythagorean wins in addition to actual wins.
.
Results
Usage
Usage is functionally capped: the GOOD regime only shows usage changes when Inside Scoring or Strength are reduced. Attributes increase usage mostly in the area suggested by their rating, but Inside Scoring for example will also increase jump shots and passes to a lesser degree. This table is given in [tenths of a use per 36 minutes to the nearest half-use] from [fifty points of an attribute].
pg sg sf pf c usg
435 55 80 95 105 100 inside scoring
105 20 30 35 15 5 jump shot
85 15 25 35 10 0 three shot
-25 -5 -5 -5 -5 -5 handling
80 15 25 30 10 0 quickness
185 15 50 55 35 30 passing
0 0 0 0 0 0 stealing
0 0 0 0 0 0 shot blocking
0 0 0 0 0 0 post defense
0 0 0 0 0 0 perimeter defense
0 0 0 0 0 0 drive defense
15 0 5 0 5 5 offensive rebounding
20 5 5 0 5 5 defensive rebounding
315 30 55 60 85 85 strength
150 15 30 35 35 35 jumping
165 300 340 300 260
Minutes Played
Minutes played are based on two fundamental principles. First, a coach will give more playing time to a player he thinks deserves it, and it turns out that he makes this judgment on a very strict attribute by attribute basis for each position. These numbers are given below in terms of multiplicative increase in MP per fifty points of attribute. Second, a referee will send off a player that accumulates six personal fouls, and so attributes that decrease fouling will increase playing time. In both cases, minutes are functionally capped at about 38 minutes per game for bigs and 40 minutes per game for perimeter players.
pg sg sf pf c mp
1 1.10 1.15 1.13 1.13 inside scoring
1.17 1 1.15 1 1 jump shot
1 1.10 1.15 1 1 three shot
1.17 1 1 1 1 handling
1.17 1 1.15 1 1 quickness
1.17 1 1.15 1 1 passing
1 1 1 1 1 stealing
1 1 1 1 1 shot blocking
1 1 1 1 1 post defense
1 1 1.15 1 1 perimeter defense
1 1 1 1 1 drive defense
1 1 1 1 1 offensive rebounding
1 1 1.15 1 1 defensive rebounding
1 1 1.15 1 1.13 strength
1 1 1.15 1 1 jumping
Most attributes are irrelevant to fouling. There are no offensive fouls in the software.
Shot Blocking decreases for everyone.
Perimeter Defense slightly increases for everyone.
Quickness, Post Defense, and Strength increase for perimeter players and decrease for bigs.
Injuries
No attribute helps avoid injury. The more a player plays, the more likely they are to be injured.
Wins
Tested for players who are BAD. This table is given in [tenths of a Pythagorean win] from [fifty points of attribute] in one year.
pg sg sf pf c pyth wins
-05 30 43 23 25 inside scoring
13 26 35 11 12 jump shot
05 15 21 24 00 three shot
10 19 17 19 05 handling
03 15 19 13 02 quickness
-15 -12 -03 01 03 passing
-15 07 15 07 17 stealing
-17 16 39 53 55 shot blocking
-24 11 15 23 24 post defense
-06 20 27 06 10 perimeter defense
-19 -08 06 04 03 drive defense
-14 30 32 37 31 offensive rebounding
-08 22 23 26 24 defensive rebounding
-10 25 30 23 24 strength
-28 -18 01 -07 -04 jumping
Tested for players who are GOOD.
pg sg sf pf c pyth wins
50 69 72 82 80 inside scoring
68 64 64 72 80 jump shot
35 39 25 22 27 three shot
58 32 43 29 34 handling
20 12 -01 06 -08 quickness
-18 -10 -08 -18 -21 passing
05 13 10 11 17 stealing
24 35 40 56 54 shot blocking
-14 06 14 04 -05 post defense
05 05 09 03 02 perimeter defense
06 -04 04 14 03 drive defense
23 31 20 26 25 offensive rebounding
22 30 25 33 26 defensive rebounding
08 19 34 34 21 strength
-04 -03 00 01 -05 jumping
Granular Results per Attribute
This is going to get pretty intense. The way I recommend reading this chart is to go column by column, and those columns are [rebounds, assists, steals, blocks, turnovers, personal fouls, points] per 36 minutes, usage%, points per true shot attempt, assists per turnover, defenses per personal foul, % of uses that ended in [field goal attempt, turnover, free throw attempts, three point attempt], free throw %, three point %. It's a lot of information, but I'll give some examples below.
So let's look at "ast" first. It turns out that a player can only generate so many assists, so a bad player can increase their ast/36 with eight different attributes, but a good player can only increase assists with Passing. We also see evidence of non-linear effects: a 50 Inside Scoring 50 Passing player will see more assists from an increase in Inside Scoring, but a 100/100 player will see more from a decrease in the same attribute. A similar story occurs in usage %.
Two interesting wrinkles that are not obvious from the attribute descriptions. Quickness affects every grade except Scoring, but it turns out to increase 3P% and not increase rebounds. I guess it's possible Quickness' impact on rebounding refers to boxing out and so it might help team rebounding or something, but I doubt it. The second interesting one is that Defensive Rebounding increases free throw rate, which one would normally associate with Offensive Rebounding. Because the software doesn't split out rebounds into offensive and defensive there's no way to know for sure, but my guess is that each Rebounding helps on each side of the ball, it's just slanted one way or the other. Thus Offensive Rebounding helps free throw rate more, but Defensive Rebounding still helps it.
.
Overall Recommendations
The following tables are ultimately subjective. I have listed what I feel are the relevant result of increasing attribute relative to others available to the position:
gain is the expected team wins generated
growth is how quickly the attribute can be expected to grow naturally
mp is whether the attribute will be rewarded by the coach with more playing time
usage is how much the attribute can be expected to increase the player's usage
point guard
gain growth mp usage attribute
highest slowest yes medium Jump Shot
high slow no highest Inside Scoring
high fast yes none Handling
medium slow no none Shot Blocking
low slowest no high Strength
medium fastest no medium Three Shot
low slowest yes medium Quickness
medium slow no none Reboundings
shooting guard
gain growth mp usage attribute
highest medium yes highest Inside Scoring
high slowest no medium Jump Shot
medium fastest yes medium Three Shot
medium slow no none Shot Blocking
low slowest no high Strength
medium slow no none Offensive Rebounding
medium medium no none Handling
medium slow no none Defensive Rebounding
small forward
gain growth mp usage attribute
highest medium yes highest Inside Scoring
highest slowest yes medium Jump Shot
high medium no none Shot Blocking
high slow no none Handling
medium slowest yes high Strength
medium fastest yes medium Three Shot
low medium yes none Defensive Rebounding
low medium no none Offensive Rebounding
low medium yes none Perimeter Defense
power forward
gain growth mp usage attribute
highest medium yes highest Inside Scoring
highest fast no none Shot Blocking
medium slowest no high Strength
high slowest no low Jump Shot
medium fastest no none Reboundings
medium slowest no low Three Shot
medium slow no none Handling
center
gain growth mp usage attribute
highest medium yes highest Inside Scoring
highest fast no none Shot Blocking
high slowest no none Jump Shot
medium slowest yes high Strength
medium fastest no none Offensive Rebounding
medium fastest no none Defensive Rebounding
medium slow no none Handling
low medium no none Stealing
Keep in mind that Shot Blocking and Three Shot are nonlinear - a player who doesn't do them at all will see little impact from a small increase.
.
Measureables
An average center was tested at 140, 240, and 340 pounds. One thing changed: FG%, and at about the rate of 0.1% (.001) per 5 pounds, so each 100 pounds of weight was worth 2%. Literally every other stat was identical.
An average center was tested at 5'11", 6'11", and 7'11". One foot of height makes for about 0.3 more rebounds per 36 minutes, 0.2 less blocks per 36 minutes, and 1.5 more team wins per season, most of which come on the offensive end, but height does help team defense. In terms of overall contribution a foot of height is very roughly worth about 500 Strength.
An average point guard showed similar results.
.
Depth Chart
Pace:
Faster: More possessions, higher scoring, higher FG%, more free throws drawn, more shots taken from three
Slower: Less possessions, more assists, slightly less turnovers per possession
If team A scores more points per possession on average than team B, a faster pace further favors team A because a larger sample size will push the actual values closer to the expected values: it's plausible for a 50% FT shooter to go 2 of 2 and an 80% shooter to go 1 of 2, it's prohibitively unlikely for them to go 200 of 200 and 100 of 200 respectively.
Scoring Focus:
23% C_ / 23% PF / 18% SF / 18% SG / 18% PG - inside
18% C_ / 18% PF / 21% SF / 20% SG / 23% PG - balanced
15% C_ / 15% PF / 19% SF / 24% SG / 27% PG - outside
These values are a baseline. Specific players will shoot more or less than the average depending on their attributes. Overall, a team will have more threes, less free throws, and less turnovers the further outside your focus is. In a very fast paced outside focus:
pg sg sf pf c loc
.15 .21 .16 .26 .26 close
.67 .60 .61 .57 .57 midrange
.18 .19 .23 .17 .17 three
Press: Pressing doesn't work. Opponents get more assists and more points per true shot attempt, a pressing team gets less blocks, more fouls, and no additional turnovers forced.
Trapping: Trapping works. Opponents don't shoot worse, but will turn the ball over more and assist less without drawing more fouls. A trapping team will focus more on steals than blocks and so the rate of shots blocked will go down slightly, but the tradeoff is worth it. The whole team will trap, not just bigs, and perimeter players will see more defensive improvement overall, but trapping is good for every good defender.
Minutes
Better players and especially players who score a lot of points will play more minutes than worse players. The software only really cares about the first two healthy players listed at a given position. If we test three DC types over a three season simulation...
A: starter / backup / backup
B: starter / backup / starter
C: starter / backup / utility
...the starters and backups played 99.7%, 99.7%, and 99.6% of the available minutes, and the starters played 77%, 77%, and 77%. A team can squeeze out about 15 seconds per game by putting a given starter at other position's third strings, but at the cost of 4 minutes per game being played by players the software coach selects even if everyone stays healthy. This can be a very significant cost because the software coaches make truly inexplicable decisions: for example playing a C Handling PF at PG when a B+ Handling PG was available on the bench but not on the DC. The third string will come into play even more when injuries occur, especially for mid-sim and short term injuries where DC adjustment isn't possible.
Scoring Option
A better description would be Playmaking Option, because making a player a scoring option will increase both their shot attempts and pass attempts. Players who already have high usage will not see as big a bump by being a given Scoring Option, and the first Scoring Option provides the biggest bump. Gain in usage from being a scoring option also depends on position and focus.
inside
pos base gain loss max min
PG 184 100 14 284 154
SG 176 132 20 308 133
SF 179 130 22 309 132
PF/C 228 104 27 332 170
balanced
pos base gain loss max min
PG 225 97 16 322 191
SG 204 127 24 331 152
SF 212 127 26 339 156
PF/C 175 133 22 308 128
outside
pos base gain loss max min
PG 278 64 23 342 229
SG 249 85 30 334 185
SF 189 118 25 307 135
PF/C 151 121 20 272 108
Gain refers to being a #1 option. #2 options get about 75% and #3 options get about 40% of the effect. Loss refers to another player being a #1 option, and the same ratios apply to them being #2 and #3 options. The max for a starter is thus being a #1 option when the other options are third stringers, and the min is three other starters being scoring options.
There is no usage/efficiency trade off in the software, and a player will not change shot selection based on being an option. A player will be as efficient as a 1st option as a non option.
Depth Chart Position
Two otherwise identical players listed at PF and C on the roster will have identical production if each are listed at PF on the depth chart, or each listed at C, or each listed at PG (this is illegal, don't do this).
An identical player listed at different depth chart positions will see production change in the following ratios regardless of offensive focus.
Rebounds: bigs 520, wings 420, point 390
Blocks: bigs 60, wings 30, point 25
Fouls: bigs 210, wings 110, point 90
Steals: shooting guards 90(!), centers 60, everyone else 70
Three Point %: bigs 30%, small forwards 27%, guards 25%
The player will also see production change depending on inside, balanced, and outside focus.
FTA/use: bigs, wings, point. In order of offense the splits were 10/7/6, 8.5/6.5/5, 8/6/5.
TOV/use: bigs, wings, point. 14/16/23, 14/16/19, 15/15/16
3PA/use: small forward, shooting guard, point, bigs. 14/12/11/7, 16/15/13/10, 19/17/15/13
.
Players and Contracts
An age 34 or lower player under contract will never retire in the following offseason. An age 35+ player has between a 25% and 50% chance to retire, regardless of Current Rating. Age 35-37 are verified 25% and age 43 is verified 50%. Players not under contract can retire younger.
When a league starts, every team has a 50 Win Rating.
After the playoffs are completed in every season, a team's Win Rating is (wins + 10 * playoff rounds won + 5 * championship won).
At some point in the offseason, a team's Win Rating is the average of the past year's starting and finishing values rounded to the nearest even number.
Players are marked in the software as resigning after day 120 and before the playoffs, which is before the team's new Win Rating is calculated.
Offering to resign is based only on Current Rating:
89.5% for 01-10 CRtg
85% for 41-50
75% for 51-60
60% for 61-70
50% for 71+
There is no correlation from loyalty, play for winner, or win rating to anything to do with resigning. There is significant correlation between greed and contract length and size, but not offering to resign at all.
Free Agency
Contract raises are generated by multiplying the previous year's value by the percent, but they are capped at the sum of the first year's value multiplied by the percent. For example, a contract of 6 years, $12.5m, 9% is
$12,500,000
$13,625,000 (1.09 * the previous value)
$14,851,250 (1.09 *)
$16,187,862 (1.09 *)
$17,500,000 (only 1.081 * the previous value because 12.5m+4*1.25m < 16.1m*1.09)
$18,750,000 (only 1.071 * for the same reason)
First year dollar amount is the most important factor, with enough of a gap the higher amount will win exactly 100% of the time, and players with higher greed will have larger responses to a given gap. Total amount in and of itself does not matter, but later years do: 5yr $6m will never beat 1yr $10m, but a 2yr $9m will often (not always) beat 1yr $9m, and for 0 greed players a 6yr $8m 10% will tie a 6yr $10m 0%.
There are many arbitrary break points where a losing but otherwise competitive offer will instead win 0%. One is a piecewise and irregular function of player greed and salary cap / 381, and that's the simple one. Try not to think about it.
Loyalty refers to the player's last team, not hometown. A team with Bird rights trying to retain a player with 50 greed and 50 loyalty with a 7yr $12.5m bid against another team with a 6yr $12.5m 10% bid will win as a function of raises:
00% - 8%
03% - 38%
05% - 70%
07% - 91%
10% - 99%
MAX - 100%
The same scenario with 7yr $12.5m 5% raises for an array of greeds and loyalties results in the Bird team winning as:
L / G 0 50 100
0 44 24 16
50 95 70 46
100 100 96 79
It is not the case for this set of contracts that an equal amount of greed balances an equal amount of loyalty.
As more non Bird teams bid, the total non Bird chance of winning increases (so long as every non Bird bid has more than 0% chance of success) but each individual non Bird team's chance decreases.
.
Software Players
When there aren't enough manually created players for a draft, the software will fill in randomly generated prospects with certain constraints depending on position:
PG SG SF PF C stat
77 80 83 84 90 Height
219 240 255 320 320 Weight
23 23 23 23 23 Age
85 100 89 100 99 InsideScoring
90 95 90 85 85 JumpShot
75 75 80 55 65 ThreePointShot
90 80 80 79 75 Handling
80 60 60 60 60 Passing
100 85 75 65 55 Quickness
55 55 55 80 85 PostDefense
65 80 55 55 45 PerimeterDefense
55 60 55 55 55 DriveDefense
80 80 70 60 60 Stealing
55 55 65 80 85 ShotBlocking
50 55 55 65 70 OffenseRebound
50 55 55 65 70 DefenseRebound
65 75 85 95 100 Strength
85 100 95 85 65 Jumping
PG SG SF PF C stat
66 73 78 78 81 Height
150 160 210 200 202 Weight
18 18 18 18 18 Age
10 10 15 15 15 InsideScoring
40 45 40 35 35 JumpShot
20 25 15 10 5 ThreePointShot
5 5 5 5 5 Handling
25 15 15 15 15 Passing
65 55 45 35 25 Quickness
10 10 10 15 25 PostDefense
20 10 10 10 10 PerimeterDefense
10 10 10 10 10 DriveDefense
35 35 25 15 15 Stealing
10 10 20 15 20 ShotBlocking
10 10 10 20 25 OffenseRebound
10 10 10 20 25 DefenseRebound
25 35 45 55 65 Strength
35 55 45 35 30 Jumping
These are the maximum and minimum values. The distributions are not symmetric. Averages are usually slightly below the midpoints except for Inside Scoring, where the average is far below the midpoint.