MyNBA is my favorite playing mode in NBA 2K. Starting out as the GM of theSeattle Supersonics in 1983, how well can I steer the franchise?
Playing all 82 games per season would need \(82 \text{ games/season}\times 41 \text{ seasons} \times 20 \text{ min/game} \approx 47 \text{days}\) to catch up to today’s NBA and that’s not accounting for theplayoffs. Simulating games is the way to go; might help improve my understandingof the game.
Reading the Stats
Unlike the real NBA, MyNBA is a software program that runs on deterministicrules. While I can’t control the outcome of each game as there ispseudo-randomness, it should be possible to intentionally win titles over thecourse of a couple seasons.
is an undergrad senior project that tested 6 models(logistic regression, random forest, k-neighbors, support vector, gaussian naïvebayes, and XGBoost), and arrived at gaussian naïve bayes as the best performingone at \(65.1\%\) accuracy.
ranked teams in various stats and used the differentialsto infer which stats are more predictive of wins: offensive rating(estimated number of points scored per 100 possessions), defensiverating (estimated number of points conceded per 100 possessions),rebounds, 3pt percentage, field goal percentage, assist/turnover ratio, 3ptattempts, field goal attempts, and finally pace of play.
’s logistic regression model claims \(70.37\%\)accuracy. It uses z-score or standard score (the number ofstandard deviations by which a data point is above or below the mean) .
Initially, used Elo ratings that depend on thefinal score of the game and home-court advantage, and carry over between games,giving a measure of “form” . However, Elo ratingsare slow to pick up roster changes (e.g., injuries and trades), and so augmented the prediction pipeline with talent ratings foreach player weighted by the projected playing time.
In NBA 2K simulations, highly-rated players turn out on top, e.g., Jordaneventually dominates the league. However, analyzing player stats over time has alot of manual data entry work which isn’t that fun. 2K provides a box score thathas several stats: PTS, FGM/FGA, 3PTM/3PTA, FTM/FTA, FAST_BREAK_PTS, PAINT_PTS,SECOND_CHANCE_PTS, BENCH_PTS, AST, OREB, DREB, STL, BLK, TO, BIGGEST_LEAD, andPOSSESSION. Can these stats approximate the underlying player-dominatedsimulation to help win games more often than not?
What stats should I use? It seems that it should mostly be differentials:
PTS
differential is the attribute that I’m trying to predict.- How do I treat
FGM
andFGA
? considersFGM/FGA
vs.FGA
. AFGA
differential being significant would tell me if my teamneeds to shoot more shots, asFG%
is more or less the same between teams. AsignificantFGM
differential tells me that I should focus on inside shotsfor my team. A significantFG%
would tell me that I need more quality shots,and not necessarily volume. Will have all 3 differentials in the dataset. Samereasoning applies for differentials in 3pt shots and free-throws. - Differentials for
FAST_BREAK_PTS
,PAINT_PTS
,SECOND_CHANCE_PTS
,BENCH_PTS
,OREB
,DREB
,STL
, andBLK
seem straightforward to includein the dataset. AST:TO
is frequently used in place of justAST
orTO
. There is somecriticism thatAST:TO
is flawed because not allTO
occur when trying toget an assist. Will use all 3 differentials to see if any is more predictivethan the others.- While
BIGGEST_LEAD
might turn out predictive, it’s not actionable for me asa team GM. - Maybe
POSSESSION
can be used to compute proxies for forOFF_RATING
andDEF_RATING
, which found predictive? FATIGUE
can be approximated by counting the days since the previous game. Idon’t think 2K takes geographical distance into account for fatigue; I’ve hadCLE and PHX games back-to-back, which would be brutal in the real world.
Using scikit.linear_model
’s BayesianRidge
regression model to identifycoefficients for the various stats, which should help me focus my team’s focuswhile on a budget.
The Road So Far
Went 6-5 in the 1986-87 season.
Coefficients for the 1986-1987 season
Feature | Coefficient | |
---|---|---|
1 | PAINT_PTS | 1.8149 |
2 | 3PTA | -1.7272 |
3 | OFFENSIVE_RATING | 1.5864 |
4 | FGM_PER_FGA | 1.4986 |
5 | DEFENSIVE_RATING | -1.4942 |
6 | FGM | 1.4364 |
7 | DEF_REB | 1.3849 |
8 | FAST_BREAK_PTS | 1.3170 |
9 | SECOND_CHANCE_PTS | 1.2708 |
10 | BLK | 1.2390 |
11 | BIGGEST_LEAD | 1.2381 |
12 | TEAM_FOULS | -1.1239 |
13 | OFF_REB | -1.1225 |
14 | OPP_BIGGEST_LEAD | -1.1004 |
15 | ASSISTS | 0.8605 |
16 | TO | -0.8133 |
17 | IS_HOME | 0.7866 |
18 | 3PTM_PER_3PTA | 0.6460 |
19 | FTM | 0.5923 |
20 | 3PTM | -0.5755 |
21 | ASSISTS_PER_TO | 0.4268 |
22 | FTM_PER_FTA | 0.4128 |
23 | FTA | 0.3483 |
24 | DAYS_SINCE_LAST_GAME | -0.3399 |
25 | FGA | -0.0543 |
26 | BENCH_PTS | -0.0492 |
27 | STL | 0.0214 |
PAINT_PTS
is my strongest predictor, probably because CLE CUT 2 LOOP SWING
is my money play: Jack Sikma (C) sets good screens, and either Tom Chambers (PF)or Xavier McDaniel (SF) come flying in for the alley-oop. 3PTA
being the nextpredictor for losses is a symptom of me trying to shoot my way out of animpending loss, and evidently, it seldom works. OFFENSIVE_RATING
andDEFENSIVE_RATING
being 3rd and 5th support ’s findingsbut not sure how to make them actionable. FGM_PER_FGA
being 4th while FGM
being 6th implies that accuracy matters more than volume; or maybe that teamshave similar number of attempts and thus my pace is fine but the shot selectionneeds to be smarter.
Tips and Tricks
Trade Finder is great for shedding long-term bad contracts and getting 1st roundpicks in exchange for role players. Trade Finder honors cap rules, no tradeclauses, untouchables. For stars, you’re better off proposing a trade yourself.
Draft classes are not 100% accurate. Other than some top players that 2K hasrights to, the rest of the class is auto-generated. Community-generated draftclasses bridge that gap.
There was once a bug that at the end of the regular season, all 1st round pickswere of equal value. Trading picks with the bottom few teams would bedisproportionately rewarding.
References
Predicting the Outcome of NBA.Mathew Houde.
digitalcommons.bryant.edu .Accessed Sep 7, 2024.
Which NBA Statistics Actually Translate to Wins?Chinmay Vaidya.
www.watchstadium.com .Accessed Sep 7, 2024.
JakeKandell/NBA-Predict: Predicts Daily NBA Games Using a Logistic Regression Model.Jake Kandell; Patrick McDonagh.
github.com .Accessed Sep 7, 2024.
Standard score - Wikipedia.
en.wikipedia.org .Accessed Sep 7, 2024.
How Our NBA Predictions Work | FiveThirtyEight.
fivethirtyeight.com .Apr 12, 2023.Accessed Sep 7, 2024.
How We Calculate NBA Elo Ratings | FiveThirtyEight.
fivethirtyeight.com .Accessed Sep 7, 2024.
Why don’t 90+ overall players appear in the trade finder in MyLeague? : NBA2k.
www.reddit.com .Accessed Sep 2, 2024.
InterestingAd5732 comments on How do i acquire the 1st overall pick in nba 2k23 mynba easily?
www.reddit.com .Accessed Sep 2, 2024.
2K's Poor Draft Classes are game-breaking for MyNBA Eras. : NBA2k.
www.reddit.com .Accessed Sep 2, 2024.