• Answering your sports questions with real analysis of the stats.
  • Be sure to check out the StatDance.com in-depth five part series on the NBA draft!
  • Now Posted! Part I of the Fantasy Basketball Ranking Manifesto

...where the stats always talk

Ranking the GMs Read More ...

Is Tiger really four majors away from catching up with Jack? We rank golf's best from 1860 to today. Read More ...

Analyzing the expected value of a draft pick, and ranking the best and worst draft picks since 2002. Read More ...

Welcome to StratPinion, your new favorite weekly fantasy basketball column. StatDance.com has been around for a couple of years, as a place to post my projects, but I enjoy fantasy basketball enough I can support a weekly column to vent my creative spirits.

About the Season at StatDance.com

The plan for the upcoming NBA season is to post something useful or interesting most days. With my work schedule, the update rate might not be regular, but I'll try my best. I'm also not planning on posting long articles every day, so it should be maintainable and entertaining (hopefully at least the latter!).

I have a schedule in mind, but until things start rolling I'm not going to post it. I plan on pointing out waiver wire pickups. This column will run weekly, most likely on Mondays. Another possible feature would be reader questions, if there are enough interesting questions.

Starting today, I'm posting my Ray Guy Memorial All-Stars, a ranking of top players to target for punting certain categories. The feature I'm most excited about though is my trade value ranking. Similar to what ESPN has run in the past, with their top 130 players ranked by rest-of-season trade value, I will run an algorithm-based top 200 value ranking. Based on their average stats over varying time periods, their ADP, and their per-minute stats, I will compute their rank and equivalent auction value. By having auction value, you can more easily determine if the #10 ranked player is worth trading for the #15 and #20 ranked players.

And obviously, I should probably post my rankings finally, after promising to do it last year and never finishing the product. That will be done by the two-week point of the season, once we have enough average stats to actually have reasonable ranks.

Besides introducing my plans for the website this NBA season, I should probably introduce myself. I'm an avid NBA fan with a Chemical Engineering degree (currently happily employed in a technical field outside of Chemical Engineering) and a love for data analysis and Computer Science. I recently moved to Boston, which is convenient for me as a Celtics fan originally from the Midwest. I love reading Grantland, fivethirtyeight, and listening to the Starters podcasts (although I preferred TBJ) and I spend a lot of my time online on reddit, on /r/nba and /r/fantasybball.

About MRiS

My fantasy bball philosophy revolves around my ranking system, MRiS (Modified Rarity Index Scoring). The basic premise behind rarity scoring is that if there are 100 points scored and 50 rebounds recorded, each rebound is worh twice that of a point. The "Modified Index" part of the name is from the idea that you should only count the stats that are above what you would expect the worst player to have, setting a baseline "true zero" for each stat category based on league size and categories. You can read all about MRiS, in entertaining detail (if you like math, I suppose!), in my Fantasy Basketball Manifesto, posted here on StatDance.com. I also explain how it compares to more traditional metrics.

Since it would seem disingenuous to leave you with no opinions or strategy in the inaugural issue of StratPinion, I'll leave you with some thoughts about punting. While I usually try to use a punting strategy in my own teams, that's mostly because there is more strategy involved in building a team that is punting some categories, so I naturally gravitate towards punting. I don't think every team should punt categories, but it is a lot of fun to discuss and think about, so I will be spending a lot of time talking about different strategies relating to punting. Just please don't get the impression I think all teams should punt, a quality balanced team can win leagues too, and I know it.

Punting Strategies

Why Punt?
By collecting players who share a weakness, you can sacrifice the categories that these players are harmful in, and build upon the strengths that these players do have. Instead of these "toxic" players hurting you in a category you want to compete in, you can resolve your team to losing that category (or categories), and concentrate your team's value in enough categories to win the matchup overall.

Why Not Punt?
In roto leagues, losing isn't a black-and-white proposition. There is a huge difference between being ranked 6th of 10, and being ranked 10th of 10. This makes punting very difficult, and not as recommended. Obviously, if you are first in 8 categories, and last in 1 category, you are still going to win the league, but that's a difficult proposition.

Punting positive counting stats is also difficult, because not accumulating these stats doesn't hurt a team, so there simply isn't as much added value to acquiring a lot of teams that don't produce in a certain counting stat.

As an example, if Roy Hibbert doesn't score any points one night, its not inconceivable that you could still win the points category in your matchup that week. On the other hand, if Dwight Howard goes 0/20 from the free throw line, winning FT% that week would take a miracle. For most cases, this idea is why I recommend punting turnovers and percentages before you punt counting stats. The other side of this coin, of course, is that even if you "punt" a simple counting statistic, you still might win a few matchups against someone else who shares it as a weakness, or just hits the injuries at the right time. Less reward, less risk.

What To Punt
Ideally, you want to punt categories that collect strengths. Punting FT% will generally get you a lot of big men who are good at rebounding, FG%, and blocked shots. Punting FG% will get you guards who make a lot of threes and get a lot of assists and steals. However, if you combine these two, you will get an appropriate mix of players that compile all of the stats, and who might be undervalued because other players are worried about the negative impact on their percentages.

I have calculated the most attractive players for all of the above strategies. The listings are as follows (for 10 team, 13 player 9-cat leagues): Player, rank with the punting strategy, rank in standard leagues, and the "added value" in an auction for the punting strategy.

Note: All stats were generated using my MRiS scoring system, based on Rotowire's projected stats. They have the best projections of anyone I've seen, and highly recommend them.

Here are the inaugural Ray Guy Memorial All-Stars:

Punting: FG% Rank Punting Standard Rank Added Value
Kemba Walker 12 40 $15
Ricky Rubio 27 73 $13
Brandon Jennings 38 82 $13
Trey Burke 49 96 $11
Jamal Crawford 58 114 $10
Damian Lillard 3 9 $9
Russell Westbrook 8 15 $9
John Wall 19 35 $9
Kyle Lowry 20 42 $9
Danilo Gallinari 22 46 $9

Punting: FT% Rank Punting Standard Rank Added Value
Andre Drummond 1 NR $67
DeAndre Jordan 4 69 $43
Dwight Howard 8 NR $40
Nerlens Noel 23 125 $26
Blake Griffin 6 17 $16
Kenneth Faried 9 30 $16
Mason Plumlee 29 83 $16
Josh Smith 47 NR $16
Derrick Favors 15 44 $15
John Henson 49 NR $15

Punting: TO Rank Punting Standard Rank Added Value
Kobe Bryant 43 79 $10
Russell Westbrook 9 15 $9
John Wall 16 35 $9
Victor Oladipo 64 116 $9
Michael Carter-Williams 79 NR $9
Ricky Rubio 46 73 $7
Jrue Holiday 23 37 $6
Goran Dragic 27 43 $6
Lance Stephenson 59 86 $6
Rajon Rondo 96 NR $6

Punting: FG% TO Rank Punting Standard Rank Added Value
Ricky Rubio 17 73 $18
Michael Carter-Williams 47 NR $18
Russell Westbrook 5 15 $17
John Wall 10 35 $17
Kemba Walker 12 40 $15
Kobe Bryant 27 79 $15
Brandon Jennings 33 82 $15
Victor Oladipo 46 116 $15
Rajon Rondo 58 NR $14
Trey Burke 51 96 $11

Punting: FG% FT% Rank Punting Standard Rank Added Value
Andre Drummond 2 NR $48
DeAndre Jordan 9 69 $25
Nerlens Noel 24 125 $25
Josh Smith 27 NR $23
Dwight Howard 35 NR $21
Michael Carter-Williams 37 NR $21
Rajon Rondo 54 NR $17
Brandon Jennings 32 82 $14
J.R. Smith 70 NR $12
Paul Millsap 11 26 $10

Punting: FG% FT% TO Rank Punting Standard Rank Added Value
Andre Drummond 7 NR $37
Michael Carter-Williams 19 NR $28
Dwight Howard 25 NR $26
Rajon Rondo 28 NR $24
Josh Smith 31 NR $23
Nerlens Noel 41 125 $20
DeAndre Jordan 16 69 $18
John Wall 8 35 $16
Brandon Jennings 29 82 $16
Ricky Rubio 24 73 $15




I went through my data from last year and calculated the amount of stats you need to win each standard category in fantasy basketball. Obviously, for FG% and FT%, the equivalent is just beating the average percentages (47% FG% and 78% FT% for league size of 130; 46% FG% and 77% FT% for a league size of 210). 

This does not tell you how many points you need to win 75% of your matchups. All I did was calculate the averages of the top players for a ton of different league sizes and then add them up and write some javascript to make the calculator.

To use this, just add your players' projected averages together. If you are 150% of the average value, you will be pretty dominant in that category. If you are right around average, you'll probably win about half your matchups. Pretty self-explanatory!



To use the calculator, enter the number of teams in your league and then the number of roster spots ("players") per team. Let me know what you think!

Category Averages Per Team
Teams:
Players
3PM:
Points:
Rebounds:
Assists:
Steals:
Blocks:


Obviously, since I went through all the work to develop these rankings I probably have a reason. In part I, I explained how most websites (Yahoo, ESPN, and Basketball Monster, among others I am sure) do their rankings (Standard Scoring). In part II, I explained the idea of Rarity Rankings. Finally, in part III, I explained in detail my ranking system, which I am calling Modified Rarity Scoring, or MRiS.

The concepts are the same - try to normalize production across all categories. In Standard Scoring, this is done by using standard deviations away from the average, and in MRiS it is based on the rarity of production above a minimum production threshold. Since both systems attempt to compare production in all different categories, it is easy to compare them. 

Standard Scoring assigns each player a negative starting point by subtracting from their production the average production in each category. This means that if they have a zero score overall, they are producing the average amount overall. In a 100 player league, they should be ranked around 50th. However, since every single player gets the same "average production" subtracted, we can ignore it. Like I explained earlier in the Manifesto, if both teams got 30 extra points to start a game, the winner is still determined in the 48 minutes of actual play.

The normalized scoring unit is the standard deviation. A single "Z score" is assigned for every standard deviation of production. In Modifed Rarity Scoring, Equivalent Fantasy Points are the normalized ranking units. So, by setting EFP equal to a Standard Scoring "Z score", we can compare the two systems and see which one makes more sense.

Before we get to the numbers, I'll make a pitch on purely theoretical grounds. This is the important argument - if we only agreed to accept results that we were hoping to see in science, not much progress would occur. Obviously, this is not a rigourous scientific endeavor (as much as I try!) but the idea is the same. In my mind, it does not matter how the statistics are distributed amongst players, only how many stats you can accumulate overall as a team. I see no logical reason that standard deviations should be added together and used to compare players. Fantasy basketball works by accumulating statistics, not players. Modified Rarity Scoring is based on the simple principle of equality of categories.

And now, on to the numbers...

CategoryStandard ScoringMRiSPercent Difference (MRiS/SS)
Points1.571.570.0%
3pt Made8.7610.2517.0%
Rebounds2.92.982.8%
Assists3.454.0116.2%
Steals15.9216.564.0%
Blocks12.7918.5645.1%
FGOP12.9912.3-5.3%
FTOP20.2831.354.3%
Turnovers-9.4-10.137.8%

As you can see, I 'anchored' the scoring systems to points. It looks like most of the categories are more valuable in my system, but really this is demonstrating that Standard Scoring does not account for the high True Zero of points. There is actually a wider difference than Standard Scoring allows between players since we expect even the worst player to score a significant number of points. 

The big differences between the systems are 3PTM, Assists, Blocks, and FT%. These are all categories with high standard deviations - some players score a lot of these, other players score few. The Standard Scoring method would have you believe that blocks are less valuable because blocks are more scattered among players. Does it really matter if you win a category with 1 player scoring 15 blocks one week? 

Standard Scoring is faulted because it does not account for the minimum expected scoring of the worst player worthy of being picked up, and it mistakenly assumes that the more tightly-grouped players are in a category, the more valuable that category is. Most seasoned fantasy players know that it only takes a couple good producers to win blocks for you every week, and a lot of times those same players will guarantee that you lose Free Throw Percentage as well! These two effects are discounted in the Standard Scoring method.

Stay Tuned to StatDance.com for our rankings pages, soon to come! I will post the MRiS rankings in standard leagues with their EFP in each category, along with some Free Agent ideas and players to target if you are tanking certain categories. A lot to come!

In part I, I explained how fantasy players are usually ranked - with Standard Scoring. In part II, I introduced another way, Rarity Scoring. This, part III, is putting the finishing touches on Rarity Scoring by introducing what I call "True Zero" - finally giving us a quality means of ranking fantasy basketball players. In part IV, I will discuss the differences between Standard Scoring and Rarity Scoring (and hopefully show how much better my system is than the standard system).

True Zero


True Zero (t0) is the amount of the statistic that you expect is the baseline value for any player that is good enough to be owned in your league. Pure rarity scoring assigns weights to each statistical category so that they are equal in value, since each category is just as valuable as another. Using True Zero values, we will be able to equally value production accross all statistics above the minimum expected from owned players.

I know that this isn't a simple concept to grasp - at least with how well I described it - so here is an example to try to make it more obvious. Earlier in the Manifesto, to demonstrate pure Rarity Scoring, I grabbed the stats from the top 12 players and ranked a few of their stats. The weights ("Value" in the pictures) were for pure rarity scoring. Since points are by far the most common statistic, the other coefficients ("Values") are much higher, i.e. points is 1.00 and blocks is 29.23.



This example, and these coefficients, aren't applicable to actual leagues since it only accounts for twelve players and six categories. But the concepts are nearly identical. In this league, the worst player scores almost twenty points. If we assume that these are the only players you can play, in order to out-score your opponent, the worst player you can play will score twenty points. That makes a player who can score 30 points much more valuable!


(Click on image to open in larger view)

The relative value ("Coefficient" is the term I will usually use to refer to these values that scale different categories so they are equally weighted) of each category is represented by the blue "Value" row. Since the worst player in this league (like most leagues!) records 0 blocks, the True Zero (t0) is actually zero. The result is that blocks are 6 times (the blue "Value" region) as rare as points scored. In the future, I will refer to the resulting score (Coefficient*Production) as Fantasy Points Equivalent (FPE).

In actual leagues, determining True Zero is much more complicated. We have to figure out what the worst player in each category would produce but still be good enough to be owned. To be clear, a player who scored the t0 value in every category would be a terrible fantasy player. For example, t0 would be the number of blocks we expect a lazy point guard to have or the number of points a pure defensive specialist will score. Using a smooth-line approach gives us what we expect to find on the waiver wires in each category, as a minimum.

True Zero by Category


It turns out that production in fantasy basketball is best represented with exponential decay. Using this knowledge, I smooth the lines and find what the worst player in each category should produce in that category. For categories like Blocks and Threes, these values are basically zero, but for categories like Points and Rebounds, there is significant expected value for everyone in the league.

These plots are FPE for the best 156 players ranked using all of the categories except turnovers. Unfortunately, the way my spreadsheet is set up this is much easier than the actual stats and I'd have to tinker with all of my numbers to get these screenshots to reflect production instead of the equivalent FPE. The important thing to notice is how the smoothed lines match up with production (or don't!) and the general shape of the plots. OK, maybe it's not important, but I thought it was interesting to see the shapes of the stats.

To calculate the weight of each category, I add up all the production with the top players (based on league size, if you have 10 teams of 13 players, your population is 130) , then subtract (number of players in the league)*(minimum expected production), or Population*t0. Then I assign coefficients for each category so they are weighted equally above true zero.

The t0 is only used to develop the coefficients for each category, not in ranking players. This means I don't subtract the t0 value from production individually when I rank players - it would have no effect. If you took that value away from everyone, it would be like giving every NBA team 30 points to start the game. It changes the total score at the end, but the winner is still the person who scored the most during the game. All players start at zero and get the same credit for each point, steal, block, FGOP, or assist as every other player.

I also do not find a t0 for the percentage categories like Field Goal Percentage and Free Throw Percentage, since FGOP and FTOP true zeros are actually 0, which is what an empty spot on your roster scores and the average shooters score.

Finishing the System


When developing these numbers, the coefficients for the traditional counting categories stay pretty constant (points, rebounds, steals, assists, etc) no matter what time period you analyze over, but the percentages vary wildly. After some panic, I realized this is due to it being common for players to get in shooting streaks, so high values of FGOP and FTOP happen in short time periods compared to points scored. However, these values tend to flatten out in longer time periods. This means high and low shooting percentages are more rare if you look at season-long stats, and therefore FGOP and FTOP are "worth more" compared to points scored. For roto leagues that compare statistics over the course of the entire season, we should use the larger coefficients, but for more common weekly leagues, we should use the smaller coefficients.

It would simplify the numbers to use a flat 1.00 for points scored. I have decided, instead, to normalize the numbers to have a total of 10 FPE above the t0 value for points. So in my system, the average player would get 10 FPE in every category above the true zero. This makes total scores more consistent across different leagues, but is wholly unnecessary for analysis - using 1.00 would work identically; to convert my numbers listed below simply divide all the coefficients by the points coefficient. The end result is that the average score, for each category and no matter what your league size or settings are, is 10 FPE above t0.

So, How Do I Use This?


Now, for the numbers! The numbers below are for a league size of 156 (12 teams of 13 players) and 8 categories - Points, 3PM, FG%, FT%, Rebounds, Assists, Steals, and Blocks. I then computed the value of a Turnover, but the players were not ranked using turnovers. The process for creating these is the same as I went over in Part II, but using the t0 values.

CategoryStatCoefficientTrue Zero
Field Goal PercentageFGOP12.300
Free Throw PercentageFTOP31.300
Three Pointers Made3PTM10.250.10
Points ScoredPTS1.578.17
Total ReboundsREB2.982.17
AssistsASTS4.010.83
StealsSTLS16.560.44
BlocksBLKS18.560.08
TurnoversTO-10.130.95
Some notes on these numbers:

1. The t0 values listed above are actually stats, not Fantasy Point Equivalents.

2. FGOP over the season has a coefficient of 23.1, FTOP has 51.0. These numbers I used here are over the past 7 days, which we are assuming are average values (these are a little low, but not very far away).

3. An FTOP of over 31 does seem really high, but imagine how hard it is to have an entire free throw made over average percentage (78.8% so far in this example league) per game. You would have to average 5/5 from the line, or 9/10 for a full FGOP. It is just as helpful to your fantasy team to have a player score 31.3 FPE's in FTOP or Points - which is going 9/10 from the line or scoring 20 points (31.3/1.57=20). That sounds about right to me.

4. Note that some plays help you in multiple categories - making shots (free throws or regular) helps you in points and percentages. Some leagues have FTA or OREB as categories, which help in multiple categories as well.

5. I use yahoo's in-game average stats, so .245 blocks is calculated the same as .155 blocks, both show up as .2. These errors will average out almost all of the time, so I haven't tweaked my spreadsheet to fix this.

6. Due to normalizing for 10 FPE over t0, the total amount of FPE in every category will equal (10+t0*coeff)*Players_Owned.

7. Blocks are much more rare than steals, but since they are so much more spread out, they are nearly equal in true rarity. It is approximately the same to average 1 block as it is to average 1.5 steals, for fantasy valuation purposes.

Using These Results


To close, I've created a WolframAlpha widget to calculate players values using these coefficients. Disclaimers: different sized leagues and different league settings would have to change the numbers to be perfectly accurate. For leagues not using Turnovers, enter 0. For leagues using different categories not listed here, and different sizes - stay tuned, I will be posting results for all the categories I've heard of eventually!


Ranking fantasy basketball players, and determining how valuable the players are in general, is not as easy as it seems due to the number of categories head-to-head and rotisserie leagues compete in. As I discussed in part I, Standard Scoring is the mainstream method used by big players in fantasy sports such as ESPN and Yahoo sports. Rarity scoring is a simpler method of ranking players, giving value to stats based on how rare they are. As I will discuss in part III, this is a much superior method than Standard Scoring.

Rarity Scoring Basics


The premise is simple - every category matters as much as another. If there are 1,000 points scored and 500 rebounds total, then each rebound will be twice as valuable as each point. As an illustrative example, I'll look at Yahoo's current (January 25th) top 12 players over this season's average stats.

The "population" of our league has 12 players. The most common statistic is points scored, so we will put all the other statistics in terms of points scored. Since no category is more important than another, we normalize each category so the total "fantasy points" are equal.


We just have to divide total points scored (286.5) by the total amounts of the rest of the categories and then we get a coefficient we can use to normalize all the categories. In this example, the coefficients are in the "value" column at the bottom. For blocks, the value coefficient is roughly 30 points. This means it is just as valuable for your player to score 1 block as it is to score 30 points.

Now we will use these coefficients to see how we rank and value the 12 players in our population. The coefficients and ranks won't work in any league with more than 12 players and 6 categories, but the concepts are the same.

(click image to expand)

Normalizing Percentages


Free throw and field goal percentages should be equally important as the other categories in fantasy basketball. In part I of this series, I went over FTOP and FGOP - my method of turning percentages into simple countable statistics. But even after making field goal percentage and free throw percentage countable, normalizing FGOP and FTOP is more difficult than the other categories, since half the scores are negative.

To account for how much more the worst shooters affect your team than the best shooters, I only normalize the positive shooting to points scored. The statistics FTOP and FGOP already ensure that there is equal value above and below the average shooter. The total effect of FGOP and FTOP coefficients is the same as the other categories, even though half of the effect is negative.

Ranking Players with Rarity Scoring


1. Determine the size of your league (your population).
2. Nominally rank all NBA players - we will have to re-rank players over and over again, so the way we rank them the first time doesn't matter. It helps to use a logical ranking so it takes fewer iterations though.
3. Assign nominal coefficients to all of the categories in your league. Again, the more logical your starting point the faster the process finds your solution.
4. Find the sums of all the countable statistics of players that would be owned in your league (a 13 player, 10 team league you would sum the top 130 players - your "population"), then determine the coefficients to normalize those scores back to points.
5. Using the new coefficients you just calculated, find the total fantasy production of each player in the NBA, then re-rank the players.

Since every time you re-rank your players, it will change the totals of all the players in your population, you have to re-calculate the coefficients and total values over and over again. Usually by 5 iterations, the ranks will have already stabilized and you have results. Please note that this whole process is a lot of work in excel, so before you try this make sure you have some time to invest. The last installment of this series will have a downloadable spreadsheet to calculate stats for your league if you want me to do the work for you!

Using average statistics for generating ranks and coefficients gives a lot better results - the number of games played or games missed will greatly affect results. In order to be more accurate, calculate the averages yourself using total stats and total games played - a spreadsheet carries a lot more decimal places than websites designed to be easy to read.

How to Use Rarity Scoring Coefficients


I am not posting results for most of the categories here because there is so much more to the Fantasy Basketball Manifesto that I haven't covered yet, but here are the coefficients. FTOP and FGOP are more difficult than posting a coefficient due to things we will discuss in part IV. Using these coefficients is easy - multiply a box score line by the coefficient below to see how valuable it is for fantasy.

Points: 1
Rebounds: 2.5
Assist: 4.5
3PM: 15
Steal: 10
Block: 20

These are rough estimates of the values using pure rarity scoring. A 30 point, 5 rebound game with no treys, blocks, steals, or assists doesn't help very much compared to a 12 points, 2 treys, 5 assist, 3 steal, and 1 block line, even though the first one has a better chance of getting you on SportsCenter!

Armed with this I hope you have better luck in your leagues trying to pick up new players or ripping off your friends in blockbuster trades! Keep looking here for the rest of the StatDance.com Fantasy Basketball Manifesto!


Every fantasy basketball player tries to rank players on their own. There are many ways to figure out what players give you a better chance of winning. The best way is to watch a lot of basketball and judge who is performing well, and anticipate who will get better, come back from injury, or get more playing time. Obviously, most fantasy basketball players aren't going to be doing this as a full-time job, so that isn't going to cut it. Reading a lot about the NBA helps a lot, gaining knowledge from the people that follow the NBA professionally (or semi-professionally at least). But the way most fantasy players add players and make trades is by looking at box scores then trying to compare them, combined with following the league a bit.

A great tool to use is the in-game player ranks – it’s not telling you how a player will perform in the future, but it is supposed to tell you how much players contributed to fantasy teams over the specified time period in the past.

How do they come up with these ranks? To many players, it is a magic black box that comes up with a number that doesn't always make sense. But often, they do - Kevin Love is putting up his usual monster numbers, and sure enough, he’s ranked in the top 5. 

They aren't hiding how they do the ranks though - Yahoo, Basketball Monster, and ESPN all rank their players using “Standard Scoring” (also referred to as a Z-Score). Basketball Monster links to the same Wikipedia page I do and posts the individual Standard Scores for each player. ESPN at least lists the score of each category. If you use the same time periods, league size, and categories, Basketball Monster will give you very similar ranks to Yahoo and ESPN. 

There are slight differences, indicating added minor wrinkles, but the ranks are almost never more than a few ranks different. Yahoo appears to use a population of 130 (standard yahoo league size) and Basketball Monster as a default uses a population of 156 - 12 teams of 13 players, but is very flexible. ESPN's player rater seems to use different population sizes for different statistics. But, the results for all three websites are based on Standard Scoring.

How to Properly Weigh Percentages 


In order to compare percentages properly with each other, they have to be a countable stat, like blocks or rebounds. Obviously shooting 9 of 10 is better than 2 of 2 - but shooting 100% is better than 90%. Instead, you should calculate the number of made shots above your opponents field goal percentage.

If your opponent shoots 50%, we count how much each player helps us beat that percentage. If Durant shoots 9 of 20, then he is one field goal short of the goal percentage (50%). Conversely, if LeBron shoots 12 of 16 then he is four field goals above 50% for the night. 

Free throw percentage is calculated the same way. This creates new, countable stats that we can substitute in for the percentages. I call these stats "FGOP" and "FTOP" (pronounced "Ef-Gop" and "Ef-Top") - Field Goals Over Percentage and Free Throws Over Percentage. These are countable stats just like treys and blocks. In the above example, Durant scored -1 FGOP and LeBron had +4 FGOP. 

Obviously, everyone's opponent has different shooting percentages, so we have to use average field goal percentage (or free throw percentage) - which is, on average, what everyone's opponent shoots. I have been using this method for years, but as I researched this article, I found that Basketball Monster and ESPN do as well. Given how similar the ranks are, I believe Yahoo does too. But most importantly, this method makes logical sense to me.

Your opponents, on average, will shoot the league average. Lets say this week your opponent shoots exactly the league average. Going into the last night of the matchup, your team has scored cumulatively -1 FGOP. If on the last night, your team scores greater than +1 FGOP, then your team will win the matchup by scoring a positive number of baskets above your opponents percentage.

The player who amasses the most FGOP or FTOP will almost always win the matchup. If there is a large difference in attempts, then it is more likely the player scoring fewer FGOP will win. On the extreme side, if your team made its only free throw, you would win that category despite only having approximately .25 FTOP.

FGOP and FTOP would always predict the winner of a matchup if you based the statistic on your opponents percentages (a positive sum would mean you win, negative you lose) - but using average percentages is a great way compare a player's overall contribution to field goal and free throw percentage across all teams. 

The Ranking Process


Using the Standard Scoring method is simple in theory, but gets complicated to actually do. The general process has to be iterative in order to get the averages of only the top players.

1. Rank all the NBA players in descending value. How you rank the players is not really important.
2. Determine the population size – the size of your league. Our example will be a 13-player, 10-team – a population of 130.
3. Find the average production in each category of the “own-able” players – in our example, the top 130.
4. Find the standard deviation of each category in our population.
5. Calculate the Standard Score of each player – all players in the NBA. Each player gets 1 point for each standard deviation he is from the average of our own-able population. If the average player in the top 130 scores 10 points per game and the standard deviation is 5 points, and you score 5 points per game, your score is -1. Conversely, if you score 15 points per game, your score is +1.
6. Re-rank all of the players by the resulting sums of Standard Scores of each category your league competes in.
7. Repeat steps 3-6 until the ranks no longer change.

If computing standard scores isn't clear, and Wikipedia did not help you, I have a fun example to possibly help explain it.

Seven NBA stars have a sock contest at the All-Star game. They go to their luggage and count the pairs of socks of each color they have with them. The winner is the player with the highest Standard Score for their contest’s three categories – Red, Blue, and Black. I'm sure Cliff Paul would have won had he been invited.




(And yes, those are actually approximations of Points, Assists, and Steals)

As an aside, ESPN’s player rater and Yahoo’s in-game ranks do not change based on your league’s settings (Yahoo uses 9 categories including turnovers, ESPN uses 8 categories). Every custom league that has changed the categories and uses the in-game ranks to evaluate trades and waiver-wire pickups is using numbers that don’t actually apply to their league. To determine the Standard Scores for your league’s settings, I recommend using Basketball Monster’s tools.

This is the fourth installment of the StatDance.com NBA Draft Analysis series. In Part I, I established the basis of how the process works - how to value players and establish an Expected Value based on their draft position. In Part II, I ranked the last ten draft classes by strength. And Part III was ranking the best-drafting teams over the last ten drafts.

Now, we get to the decision-makers and analyze the General Managers themselves. Originally, this was why I started the NBA Draft analysis project. I looked back at who was the GM for every team at every draft over the last ten years (2002-2011 drafts) and assigned each of them credit (or blame) for their team's draft that year. I do realize that every GM has help and/or orders on draft night - the team owner or another executive might force some picks and the GM has no choice but to take responsibility for it.

For example, Michael Jordan has been widely ridiculed for running the Bobcats poorly, but he has never actually been the GM in Charlotte. Therefore, he is not eligible for the rankings, despite most likely having a lot of influence over who gets drafted. Another example is Pat Riley, who was hired as the head coach and team president of the Heat in 1995, but has only had the General Manager title since the 2009 draft. While I assume that Riley was calling the shots since he got there, if I make a judgement call for any team, I have to look in to every team - and it still wouldn't be fair. Even Pat Riley still has a boss, and it could have been the owner's decision to draft Wade in 2003. The point is, there is no fair way to look at this unless we use a black-and-white system of who had the GM title.

I highly recommend looking back at Part I and Part III for further information about how these numbers were generated if you are interested. Now, on to the rankings!

The Top 10 Drafting Tenures as GM (2002-2011)

 The formula I came up to rank the top GM tenures with is overly complicated, but basically it values drafting well over a large sample size. To qualify, you must have at least 5 draft picks. This is a ranking I plan on taking another look at in the future with a wider historical window, since ten years doesn't really do this justice, especially if you consider how many players can still change their evaluation.


The Worst 10 Drafting Tenures as GM (2002-2011)

Much simpler ranking - total raw value short of Expected Value. I did not include Jerry Krause since Jay Williams' motorcycle accident is the only reason he would have made the list. This list favors failed GMs from early in the 2002-2011 window, but the more recent GMs might argue their picks still might turn out, and I tend to agree.


Ranking the Current GMs from 1 to 30

The simplest  rating so far - just ranking by percentage of Expected Value they have drafted as GM from 2002-2011. Some of these executives have multiple tenures during this period, but they have all been combined to give a overall drafting performance over the last decade.


Before Pat Riley emails me and complains that he doesn't deserve to be on the bottom of this list, let me just say that its not really fair to say Riley has drafted worse than Kahn and Pritchard. They have a much larger raw deficit, this is just simple percentage based ranking.

Some other interesting notes:
  • Kevin Pritchard has a new job for the Pacers after he showed up in the top 10 worst tenures in the last decade ranking. He made the mistake in Portland a lot of people would have made, drafting Oden over Durantula. He was not far below average other than that pick.
  • Michael Jordan was only GM for one year that I looked at in Washington (2002) - he got 70% of his expected value with four picks, two in each round. 
  • 17% of the league's current GMs were not in charge of a team from 2002-2011
  • Donnie Nelson looks like a poor drafter in this analysis, which might be true - but he has been in charge of the Mavericks for 10 years and has only had 1 pick in the top 24 in that time (he picked Devin Harris 5th, who has outperformed his EV). During that tenure they are second in the NBA in winning percentage. That's hard to do even if you find talent late in the draft - which he obviously can't do.
Thanks, as always, to Basketball-Reference.com for their data (both player stats and executive listings), this would be even more time-intensive if not for that resource.


This was Part IV of the StatDance.com NBA draft analysis.
Part I: Determining the expected value of a draft pick
Part II: Ranking the Strongest NBA Drafts
Part III: The best and worst drafting teams
Part V: Who did they miss? Looking at the undrafted free agents in the NBA - Coming Soon