Skip to content

Instantly share code, notes, and snippets.

@ccagrawal
Created February 8, 2016 19:34
Show Gist options
  • Save ccagrawal/c541a0443a24408e3504 to your computer and use it in GitHub Desktop.
Save ccagrawal/c541a0443a24408e3504 to your computer and use it in GitHub Desktop.
Ranking teams if all players were in their prime
Player Position Team Prime BPM Projected MPG
Stephen Curry PG GSW 12.4 30.4
Draymond Green PF GSW 6.4 30.8
Andrew Bogut C GSW 4.4 23.7
Andre Iguodala SG GSW 4.4 32.0
Leandro Barbosa SG GSW 2.9 29.4
Klay Thompson SG GSW 2.7 28.7
Harrison Barnes SF GSW 1.1 25.4
Festus Ezeli C GSW 0.9 16.0
Brandon Rush SG GSW 0.7 23.7
Russell Westbrook PG OKC 11 36.2
Kevin Durant SF OKC 8.8 40.6
Serge Ibaka PF OKC 3 28.6
Nick Collison PF OKC 2.4 20.6
Cameron Payne PG OKC 1.7 12.2
Andre Roberson SG OKC 1.4 22.9
Enes Kanter C OKC 1.2 32.8
Steve Novak PF OKC 1.1 19.9
Steven Adams C OKC 1.1 26.3
DeMarcus Cousins C SAC 4.7 31.7
Caron Butler SF SAC 4.7 39.0
Rajon Rondo PG SAC 4.5 32.3
Quincy Acy PF SAC 4.1 8.5
Seth Curry PG SAC 3.9 8.8
Rudy Gay SF SAC 2.7 39.0
Marco Belinelli SG SAC 1.7 24.7
Darren Collison PG SAC 1.5 34.0
Kosta Koufos PF SAC 1.5 22.0
Jordan Mickey PF BOS 32.6 2.4
Amir Johnson PF BOS 4.3 14.8
David Lee PF BOS 3.8 35.8
Isaiah Thomas PG BOS 3 38.8
Jae Crowder SF BOS 2.9 38.4
Kelly Olynyk C BOS 2.1 26.7
Jared Sullinger PF BOS 2 32.4
Marcus Smart PG BOS 1.7 32.6
Jonas Jerebko PF BOS 1 18.3
Manu Ginobili SG SAS 8.1 31.9
Kawhi Leonard SF SAS 8 33.3
Tim Duncan C SAS 7.6 41.7
Danny Green SG SAS 5 29.3
Boban Marjanovic C SAS 4.8 8.9
Matt Bonner C SAS 4.1 5.9
David West PF SAS 3.9 17.6
Tony Parker PG SAS 3.1 35.0
Boris Diaw PF SAS 3.1 36.4
James Harden SG HOU 8.4 32.9
Dwight Howard C HOU 5.5 31.0
Josh Smith PF HOU 5.5 31.7
Corey Brewer SF HOU 3.9 10.2
Jason Terry SG HOU 3.7 31.4
Trevor Ariza SF HOU 3.4 31.6
Patrick Beverley PG HOU 3.4 15.6
Ty Lawson PG HOU 3.3 31.1
Terrence Jones PF HOU 2.2 24.5
Chris Paul PG LAC 11.2 39.0
Jeff Ayres C LAC 5.7 3.0
Paul Pierce SF LAC 4.9 40.8
Blake Griffin PF LAC 4.8 32.9
DeAndre Jordan C LAC 4.1 35.4
Cole Aldrich C LAC 2.5 11.7
Lance Stephenson SF LAC 2.3 35.7
Wesley Johnson SF LAC 1.5 19.2
J.J. Redick SG LAC 1.4 22.3
Shayne Whittington PF IND 6.9 2.7
George Hill PG IND 5.6 32.0
Paul George PF IND 4.7 40.8
Ian Mahinmi C IND 3.1 26.1
Monta Ellis SG IND 1.7 41.1
Lavoy Allen PF IND 0.8 18.4
C.J. Miles SF IND 0.7 20.9
Jordan Hill PF IND 0.6 24.2
Rodney Stuckey PG IND 0.3 33.8
Jared Dudley PF WAS 3.7 23.7
John Wall PG WAS 3.5 35.1
Marcin Gortat C WAS 2 31.3
DeJuan Blair C WAS 1.6 20.8
Otto Porter SF WAS 1.5 30.2
Drew Gooden PF WAS 1 25.6
Ramon Sessions PG WAS 0.8 26.9
Garrett Temple SF WAS 0.8 13.8
Bradley Beal SG WAS 0.5 32.7
Reggie Jackson PG DET 3.2 31.0
Andre Drummond C DET 2.4 20.7
Brandon Jennings PG DET 2.3 35.3
Joel Anthony C DET 2.3 4.0
Ersan Ilyasova PF DET 2 27.6
Steve Blake PG DET 1.7 31.7
Kentavious Caldwell-Pope SG DET 1.3 36.9
Jodie Meeks SG DET 0.7 33.2
Anthony Tolliver PF DET 0.6 19.7
LeBron James SF CLE 13 33.2
Kevin Love PF CLE 8.4 31.9
Anderson Varejao C CLE 4.6 31.7
Kyrie Irving PG CLE 3.3 26.9
Richard Jefferson SF CLE 3 34.5
J.R. Smith SG CLE 2.9 27.9
Mo Williams PG CLE 2.3 30.8
Sasha Kaun C CLE 1.4 3.8
James Jones SF CLE 1.2 19.3
Paul Millsap PF ATL 5.4 33.3
Al Horford C ATL 4.4 36.2
Thabo Sefolosha SF ATL 3.5 28.4
Kyle Korver SG ATL 3.3 33.2
Tiago Splitter C ATL 3.3 20.4
Jeff Teague PG ATL 1.8 31.5
Mike Muscala PF ATL 1.7 12.9
Kent Bazemore SF ATL 0.5 29.2
Mike Scott PF ATL -0.6 14.9
Damian Lillard PG POR 5.1 38.7
Ed Davis PF POR 3 25.3
Mason Plumlee C POR 2.4 19.8
Al-Farouq Aminu SF POR 2.4 20.0
C.J. McCollum SG POR 0.7 38.1
Chris Kaman C POR 0.4 40.4
Meyers Leonard PF POR 0.2 16.7
Maurice Harkless SF POR -0.1 26.5
Allen Crabbe SG POR -0.3 14.5
Anthony Davis PF NOP 7.1 35.6
Ryan Anderson PF NOP 4.6 31.8
Kendrick Perkins C NOP 2.6 24.2
Jrue Holiday PG NOP 2.3 32.2
Tyreke Evans PG NOP 2 30.2
Toney Douglas PG NOP 1.8 16.9
Eric Gordon SG NOP 1.3 37.2
Omer Asik C NOP 1.1 14.5
Dante Cunningham SF NOP 0.8 17.3
Kyle Lowry PG TOR 7.4 38.0
James Johnson PF TOR 4.5 19.0
Lucas Nogueira C TOR 4.2 8.3
Patrick Patterson PF TOR 3.2 27.5
DeMarre Carroll SF TOR 2.9 32.3
Luis Scola PF TOR 1.4 31.4
DeMar DeRozan SG TOR 1.3 37.4
Cory Joseph PG TOR 0.7 18.9
Jonas Valanciunas C TOR 0.3 27.2
Joakim Noah C CHI 6.6 27.9
Derrick Rose PG CHI 5.9 29.6
Pau Gasol C CHI 5.4 29.3
Jimmy Butler SG CHI 4.7 30.6
Kirk Hinrich SG CHI 3.3 28.8
Mike Dunleavy F-G CHI 2.1 28.5
Taj Gibson PF CHI 1.4 21.1
Nikola Mirotic PF CHI 1.2 16.0
Aaron Brooks PG CHI 0.2 28.2
Nicolas Batum SG CHO 4.2 35.2
Kemba Walker PG CHO 3.5 34.8
Al Jefferson C CHO 3 33.2
Spencer Hawes PF CHO 2.7 24.2
Marvin Williams PF CHO 2.2 28.6
Jeremy Lin PG CHO 2.2 26.2
Cody Zeller C CHO 0.4 23.4
Jeremy Lamb SG CHO 0 20.5
Tyler Hansbrough PF CHO -0.5 13.9
Dirk Nowitzki PF DAL 6.7 32.5
Jeremy Evans SF DAL 5.7 6.7
Wesley Matthews SG DAL 3.9 30.3
Deron Williams PG DAL 3.5 32.8
Chandler Parsons SF DAL 2.7 32.6
Devin Harris PG DAL 2.5 32.5
Zaza Pachulia C DAL 2.2 26.5
Raymond Felton PG DAL 1.6 29.7
JaVale McGee C DAL 1.5 16.3
Nikola Jokic C DEN 5.3 21.1
Jameer Nelson PG DEN 5.1 32.9
Kenneth Faried PF DEN 3.4 23.8
Mike Miller SF DEN 3 31.7
Danilo Gallinari SF DEN 2.3 34.3
Will Barton SG DEN 1.4 30.4
Randy Foye SG DEN 0.9 32.4
J.J. Hickson C DEN 0.6 33.4
Wilson Chandler F DEN 0 0.0
Tyson Chandler C PHO 4.2 33.9
Eric Bledsoe PG PHO 3 38.0
P.J. Tucker SF PHO 2.3 34.2
Brandon Knight SG PHO 2.2 36.1
Markieff Morris PF PHO 1 29.6
Jon Leuer PF PHO 0.1 5.6
Ronnie Price PG PHO -0.1 16.5
Mirza Teletovic PF PHO -0.5 21.6
Alex Len C PHO -1 24.5
Kevin Garnett PF MIN 9.9 33.3
Andre Miller PG MIN 3.4 31.5
Karl-Anthony Towns C MIN 2.6 25.4
Gorgui Dieng C MIN 2.5 25.4
Kevin Martin SG MIN 2.4 29.7
Tayshaun Prince SF MIN 2.4 31.3
Ricky Rubio PG MIN 2.2 25.5
Nikola Pekovic C MIN 1.5 22.7
Nemanja Bjelica PF MIN -0.1 15.3
Channing Frye C ORL 3.7 25.5
Nikola Vucevic C ORL 1.9 29.8
Aaron Gordon PF ORL 1.5 20.3
C.J. Watson PG ORL 1.5 23.6
Victor Oladipo SG ORL 0.9 29.4
Tobias Harris PF ORL 0.7 31.0
Evan Fournier SF ORL 0.4 29.4
Jason Smith C ORL -0.1 22.4
Elfrid Payton PG ORL -0.7 28.7
Carmelo Anthony SF NYK 3.6 40.4
Robin Lopez C NYK 3 33.1
Jose Calderon PG NYK 2.6 31.6
Arron Afflalo SG NYK 2.1 35.2
Kyle O'Quinn PF NYK 0.8 11.7
Sasha Vujacic SG NYK 0.8 16.9
Kristaps Porzingis PF NYK 0.5 29.5
Langston Galloway PG NYK 0.4 26.1
Lou Amundson PF NYK 0.4 15.4
Greg Monroe C MIL 3.8 31.1
John Henson C MIL 2.7 18.1
Khris Middleton SG MIL 1.4 29.7
Chris Copeland PF MIL 1.4 6.4
Jerryd Bayless SG MIL 1.3 22.4
Giannis Antetokounmpo SF MIL 0.5 31.0
Michael Carter-Williams PG MIL 0.4 29.9
O.J. Mayo SG MIL 0.4 37.5
Greivis Vasquez PG MIL 0.1 34.0
Vince Carter SG MEM 7 42.9
Brandan Wright PF MEM 6.8 20.2
James Ennis SF MEM 6.7 4.3
Marc Gasol C MEM 6.1 37.8
Mike Conley PG MEM 4.1 37.2
Tony Allen SF MEM 3.6 22.4
Matt Barnes SF MEM 3.4 27.8
Zach Randolph PF MEM 2.5 39.2
Jordan Adams SG MEM 2.3 8.1
Rudy Gobert C UTA 5.8 32.7
Gordon Hayward SF UTA 3.4 42.8
Derrick Favors PF UTA 2.5 39.9
Jeff Withey C UTA 2.3 18.3
Trevor Booker PF UTA 0.9 28.0
Chris Johnson SF UTA 0.7 21.9
Rodney Hood SG UTA 0.6 38.7
Dante Exum G UTA 0 0.0
Joe Ingles SF UTA -0.2 17.8
Kobe Bryant SF LAL 6.4 40.4
Metta World Peace SF LAL 4.3 32.7
Roy Hibbert C LAL 3 29.0
Lou Williams SG LAL 1.9 25.6
Brandon Bass PF LAL 0.7 18.1
Ryan Kelly PF LAL -0.2 21.7
Jordan Clarkson SG LAL -0.3 24.4
Tarik Black C LAL -0.5 20.6
Nick Young SG LAL -1.9 27.5
Joe Johnson SF BRK 2.3 39.3
Brook Lopez C BRK 1.9 36.7
Thaddeus Young PF BRK 1.7 34.4
Rondae Hollis-Jefferson SF BRK 1.5 21.9
Jarrett Jack PG BRK 1.2 33.8
Chris McCullough F BRK 0 0.0
Andrea Bargnani C BRK -0.8 31.3
Wayne Ellington SG BRK -1 25.8
Sergey Karasev SF BRK -1.2 16.7
Gerald Green SG MIA 17.7 3.7
Dwyane Wade SG MIA 10.7 36.1
Goran Dragic SG MIA 3.9 32.9
Amar'e Stoudemire C MIA 3.9 31.7
Chris Bosh PF MIA 3.7 33.9
Chris Andersen C MIA 3.4 19.3
Josh McRoberts PF MIA 2.9 20.8
Luol Deng SF MIA 2.7 35.1
Hassan Whiteside C MIA 1.9 26.5
Carl Landry PF PHI 1.8 25.5
Nerlens Noel PF PHI 0.8 46.5
Robert Covington SF PHI 0.2 42.1
Joel Embiid C PHI 0 0.0
Richaun Holmes PF PHI 0 21.3
Elton Brand F PHI 0 0.0
Jerami Grant SF PHI -0.5 38.4
Ish Smith PG PHI -0.9 34.5
T.J. McConnell PG PHI -1 31.7
Rank Team Net Rating
1 San Antonio Spurs 28.0
2 Cleveland Cavaliers 25.4
3 Memphis Grizzlies 23.8
4 Los Angeles Clippers 23.5
5 Miami Heat 22.9
6 Houston Rockets 22.8
7 Golden State Warriors 21.7
8 Oklahoma City Thunder 21.5
9 Chicago Bulls 18.1
10 Minnesota Timberwolves 16.7
11 Dallas Mavericks 16.4
12 Sacramento Kings 16.2
13 New Orleans Pelicans 14.7
14 Atlanta Hawks 14.6
15 Boston Celtics 14.6
16 Toronto Raptors 14.5
17 Denver Nuggets 13.1
18 Indiana Pacers 12.4
19 Charlotte Hornets 11.6
20 Utah Jazz 11.2
21 Los Angeles Lakers 9.9
22 New York Knicks 9.5
23 Detroit Pistons 9.0
24 Washington Wizards 8.9
25 Portland Trail Blazers 8.5
26 Phoenix Suns 8.5
27 Milwaukee Bucks 6.1
28 Orlando Magic 5.3
29 Brooklyn Nets 4.6
30 Philadelphia 76ers 0.2
library(sportsTools)
player.ids <- GetPlayerIDs(2016)
team.ids <- GetTeamIDs(2016, 'Basketball-Reference')
team.ids$strength <- 0
players.df <- data.frame()
for (i in 1:nrow(team.ids)) {
roster <- GetTeamSpecificStats(team.ids[i, 'id'], 'roster', 2016)
roster$team <- team.ids[i, 'id']
roster$prime.bpm <- 0
roster$prime.mpg <- 0
for (j in 1:nrow(roster)) {
stats <- GetPlayerSpecificStats(roster[j, 'Player'], 'advanced', 2016, player.ids)
if (class(stats) == 'data.frame') {
prime.row <- which(stats$BPM == max(stats$BPM))[1]
roster[j, 'prime.bpm'] <- stats[prime.row, 'BPM']
roster[j, 'prime.mpg'] <- stats[prime.row, 'MP'] / stats[prime.row, 'G']
}
cat(j, '\n')
}
players <- roster[, c('Player', 'Pos', 'team', 'prime.bpm', 'prime.mpg')]
players <- players[order(players$prime.bpm, decreasing = TRUE), ]
players <- players[1:9, ]
mpg.ratio <- sum(players$prime.mpg) / 240
players$prime.mpg <- players$prime.mpg / mpg.ratio
players.df <- rbind(players.df, players)
team.ids[i, 'strength'] <- sum(players$prime.bpm * players$prime.mpg) / 48
cat(i, '\n')
}
colnames(players.df) <- c('Player', 'Position', 'Team', 'Prime BPM', 'Projected MPG')
write.csv(players.df, 'prime_players.csv', row.names = FALSE)
write.csv(team.ids, 'prime_teams.csv', row.names = FALSE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment