When it comes to the NBA draft, experts tend to argue about a number of things: at which position will a player be selected? what is the best draft class ever? etc… Luckily, the wealth of data made available by the great people ofhttp://www.basketball-reference.com/draft/ make it possible to address a number of these, and other questions.

To begin, I started off by writing a quick Python script to scrape draft data for the time period of 1980-2014 (see at the end of this post for the source code, or on my GitHub). For the purpose of this analysis, I focussed on some key metrics that I deemed to be informative and useful enough to investigate further, which included:

  • Name of player (player)
  • College of drafted player (college)
  • Year of draft (draft_year)
  • Draft pick rank (rank)
  • Team that drafter the player (team)
  • Total games played (gp)
  • Total minutes played (mp)
  • Minutes per game (mpg)
  • Points per game (ppg)
  • Assists per game (apg)
  • Rebounds per game (rbg)
  • Win shares (ws)
  • Win shares per 48 minutes (ws_48)
  • Total years in league (yrs)

Once this was achieved, I began by measuring the respective contribution of each pick position during the period of 1980-2014. Here, I simply computed and normalized the median statistics for each pick position. Not too surprisingly, higher draft picks tend to be contribute more to their respective teams, although we do notice that some late 2nd round draft pick have high win shares per 48 numbers. It turns out that these correspond to the picks at which Kurt Rambis (57th) and Manu Ginobilli (58th) were picked…but more on this later


Next, I decided to estimate the quality of each draft year by measuring how players performed in comparison to players picked at the same rank during other years. I was somewhat surprised to discover that the draft crop of 2008 was the one with the highest win shares, although looking back at the players that participated at that draft,it makes a lot of sense! On the other hand, the vaunted draft class of 1984 (Olajuwon, Barkley, Jordan) and 2003 (James, Anthony, Wade, Bosh) did not fare as well, which may be attributable to the fact that these included more elite players, but were far less deep in the lower picks of the draft.

Next, I looked at the longevity of each draft pick, in other words how long each draft pick is expected to remain in the NBA league, which can be achieved by using survival curves. Not too surprisingly, higher draft picks are much more likely to stay longer in the league. As a general observation, this also means that NBA teams are quite proficient at selecting the right players at the right position.

At this point, we can examine the relative performance of NBA teams with regards to their drafting skills. To do this, I compared the performance of each player compared to the average performance of other players drafted at the same position, computed the respective ratios, and summed these up for each NBA team. This analysis revealed that the top 5 drafting teams were Detroit Pistons, Cleveland Cavaliers, Memphis Grizzlies, Phoenix Suns and the San Antonio Spurs (I purposely ignored the Brooklyn Nets and the New Orleans Hornets because of the small number of years these two teams have been in the league.)

Finally, I decided to look for the best players picked at each position. Again, I compared each player’s career stats to the average numbers obtained by other players picked at the same position. For display purposes, I only show the top three players at each pick position, although you can easily reproduce the results by re-running my code here. (At this point, I should take the opportunity to advertise the great stargazerR package, which allows to quickly output R objects into LaTex or HTML tables). The results I obtained made a lot of sense, and I was very interested to learn that even at pick position 13, Kobe Bryant was only the 2nd best pick, as he was outnumbered by none other than the Mailman himself (i.e. Karl Malone). Of course, this analysis only considers numbers as opposed to achievements and trophies, but I think it is still amusing to find that Kobe Bryant isn’t even the most productive player at his position.

  Best pick 2nd best pick 3rd best pick
1 LeBron James John Wall Allen Iverson
2 Isiah Thomas Jason Kidd Gary Payton
3 Michael Jordan Deron Williams Pau Gasol
4 Chris Paul Russell Westbrook Stephon Marbury
5 Charles Barkley Dwyane Wade Kevin Garnett
6 Damian Lillard Brandon Roy Antoine Walker
7 Kevin Johnson Stephen Curry Alvin Robertson
8 Andre Miller Clark Kellogg Detlef Schrempf
9 Dirk Nowitzki Tracy McGrady Andre Iguodala
10 Paul Pierce Brandon Jennings Paul George
11 Fat Lever Michael Carter-Williams Terrell Brandon
12 Mookie Blaylock Muggsy Bogues John Bagley
13 Karl Malone Kobe Bryant Sleepy Floyd
14 Tim Hardaway Clyde Drexler Peja Stojakovic
15 Steve Nash Al Jefferson Gary Grant
16 John Stockton Nikola Vucevic Metta World Peace
17 Jrue Holiday Josh Smith Shawn Kemp
18 Mark Jackson Ty Lawson Joe Dumars
19 Rod Strickland Zach Randolph Jeff Teague
20 Larry Nance Jameer Nelson Paul Pressey
21 Rajon Rondo Darren Collison Michael Finley
22 Scott Skiles Reggie Lewis Kenneth Faried
23 Tayshaun Prince A.C. Green Wilson Chandler
24 Sam Cassell Kyle Lowry Arvydas Sabonis
25 Jeff Ruland Mark Price Nicolas Batum
26 Vlade Divac Kevin Martin George Hill
27 Dennis Rodman Jamaal Tinsley Jordan Crawford
28 Tony Parker Sherman Douglas Gene Banks
29 Toni Kukoc Josh Howard P.J. Brown
30 Gilbert Arenas Nate McMillan David Lee
31 Doc Rivers Danny Ainge Nikola Pekovic
32 Rashard Lewis Brent Price Luke Walton
33 Grant Long Dirk Minniefield Steve Colter
34 Carlos Boozer Mario Chalmers C.J. Miles
35 Mike Iuzzolino DeAndre Jordan Derek Smith
36 Clifford Robinson Ersan Ilyasova Omer Asik
37 Nick Van Exel Mehmet Okur Jeff McInnis
38 Chandler Parsons Chris Duhon Steve Blake
39 Rafer Alston Earl Watson Khris Middleton
40 Monta Ellis Dino Radja Lance Stephenson
41 Cuttino Mobley Popeye Jones Otis Smith
42 Stephen Jackson Patrick Beverley Matt Geiger
43 Michael Redd Eric Snow Trevor Ariza
44 Chase Budinger Malik Rose Cedric Henderson
45 Goran Dragic Hot Rod Williams Antonio Davis
46 Jeff Hornacek Jerome Kersey Voshon Lenard
47 Paul Millsap Mo Williams Gerald Wilkins
48 Marc Gasol Micheal Williams Cedric Ceballos
49 Andray Blatche Haywoode Workman Kyle O’Quinn
50 Ryan Gomes Paul Thompson Lavoy Allen
51 Kyle Korver Jim Petersen Lawrence Funderburke
52 Fred Hoiberg Anthony Goldwire Lowes Moore
53 Anthony Mason Tod Murphy Greg Buckner
54 Sam Mitchell Shandon Anderson Mark Blount
55 Luis Scola Kenny Gattison Patrick Mills
56 Ramon Sessions Amir Johnson Joe Kopicki
57 Manu Ginobili Marcin Gortat Frank Brickowski
58 Kurt Rambis Don Reid Robbie Hummel
59 NA NA NA
60 Isaiah Thomas Drazen Petrovic Robert Sacre

As usual, all the code for this analysis can be found on GitHub account.

CAVEATS

With regards to the analysis shown above, it is important to highlight a few potential caveats:

    • I worked with career averages, which somewhat ignores the years of peak performance achieved by certain players. However, I feel it that career averages are a reasonably good proxy for overall player competence.
    • I completely ignored the fact that some teams had more opportunities to select higher draft picks than others (cough…Cleveland…cough). As such, there may be a bias towards historically bad teams that would have been in the top 5 picks more often than others. However, I did compare each player to others that were picked at the same position, some hopefully this will bypass the issue (for example, if a team had plenty of NO 1 picks that were bad compared to other NO 1 picks, this insight will be revealed in the analysis)

转自:https://statofmind.wordpress.com/2015/01/26/comparing-the-contribution-of-nba-draft-picks/

Comparing the contribution of NBA draft picks(转)的更多相关文章

  1. Git工作流指南:Gitflow工作流 Comparing Workflows

    Comparing Workflows The array of possible workflows can make it hard to know where to begin when imp ...

  2. Go 2 Draft Designs

    Go 2 Draft Designs 28 August 2018 Yesterday, at our annual Go contributor summit, attendees got a sn ...

  3. Comparing the MSTest and Nunit Frameworks

    I haven't seen much information online comparing the similarities and differences between the Nunit ...

  4. 见证历史 -- 2013 NBA 热火夺冠之路有感

    见证历史-- 2013 NBA 热火夺冠之路有感今年NBA季后赛从第一轮看起,到最终的热火夺冠,应该看得是最爽的一次.但一些情节和细节,回忆起来,深有感悟. 1. 做人要低调詹宁斯豪言演黑八雄鹿本赛季 ...

  5. Writing the first draft of your science paper — some dos and don’ts

    Writing the first draft of your science paper — some dos and don’ts 如何起草一篇科学论文?经验丰富的Angel Borja教授告诉你 ...

  6. JavaScript案例六:简单省市联动(NBA版)

    JavaScript实现简单省市(NBA版)联动 <!DOCTYPE html> <html> <head> <title>JavaScript实现简单 ...

  7. More on Conditions - To Compare -Comparing Sequences and Other Types

    The conditions used in while and if statements can contain any operators, not just comparisons. The ...

  8. Educational Codeforces Round 5 A. Comparing Two Long Integers

    A. Comparing Two Long Integers time limit per test 2 seconds memory limit per test 256 megabytes inp ...

  9. Codeforces Educational Codeforces Round 5 A. Comparing Two Long Integers 高精度比大小,模拟

    A. Comparing Two Long Integers 题目连接: http://www.codeforces.com/contest/616/problem/A Description You ...

随机推荐

  1. char , unsigned char 和 signed char 区别

    ANSI C 提供了3种字符类型,分别是char.signed char.unsigned char.char相当于signed char或者unsigned char,但是这取决于编译器!这三种字符 ...

  2. Doxygen + Graphviz windows下安装配置(图解)

    查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程. 本人常用windows系统,所以主要讲解下windows下相关的内容 要 ...

  3. effective c++ Item 48 了解模板元编程

    1. TMP是什么? 模板元编程(template metaprogramming TMP)是实现基于模板的C++程序的过程,它能够在编译期执行.你可以想一想:一个模板元程序是用C++实现的并且可以在 ...

  4. 非负矩阵分解(4):NMF算法和聚类算法的联系与区别

    作者:桂. 时间:2017-04-14   06:22:26 链接:http://www.cnblogs.com/xingshansi/p/6685811.html 声明:欢迎被转载,不过记得注明出处 ...

  5. kmp(看毛片)算法

    别人的两篇博客. 传送门1 传送门2 其中T为主串,P为模式串. 其实就是在T中找P. 其中next数组存的是"部分匹配值". "部分匹配值"就是"前 ...

  6. T_SQL编程赋值、分支语句、循环

    咱们在C#中会常用到赋值.循环.分支语句什么的 今天咱们来看下当初在C#用到的一点东西放到SQL中是怎么使用的 创建变量 在C#中创建一个值类型变量很简单 int a:这就可以了 SQL: decla ...

  7. Android -- 带你从源码角度领悟Dagger2入门到放弃

    1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...

  8. 使用Entity Framework时遇到的问题

    1.运行程序时提示 ,vension does not match. 差不多是这样一个提示,具体怎么样的给忘记了. #1remove 'entity framework' from reference ...

  9. 捕获mssqlservice 修改表后的数据,统一存储到特定的表中,之后通过代码同步两个库的数据

    根据之前的一些想法,如果有A,B 两个数据库, 如果把A 用户通过界面产生的更新或者插入修改,操作的数据同步更新到B 库中,如果允许延时2分钟以内 想法一: 通过创建触发器 把变更的数据和对应的表名称 ...

  10. 开通阿里云 CDN

    CDN,内容分发网络,主要功能是在不同的地点缓存内容,通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容,从而加快文件加载速度. 阿里云提供了按量计费的CDN,开启十分方便,于是我在自 ...