Category Archives: NBA

Total Points v Total Minutes: all NBA players through Dec 22

scat_nbap_points_minutes_20151222

This scatter plot show the total points scored vs total minutes played for all NBA players through Dec 22.

Curry is well above the curve with 858 points in 941 minutes.

Here are the most efficient scorers thus far in 2015:

Minutes Points Points/Min
941 858.0 0.91 Stephen Curry
780 590.0 0.76 Kevin Durant
1105 834.0 0.75 James Harden
662 490.0 0.74 Demarcus Cousins
958 712.0 0.74 Russell Westbrook
872 635.0 0.73 Lebron James
963 688.0 0.71 Paul George
1011 684.0 0.68 Blake Griffin
1058 712.0 0.67 Damian Lillard
859 556.0 0.65 Anthony Davis
884 573.0 0.65 Reggie Jackson
902 587.0 0.65 Isaiah Thomas
957 609.0 0.64 Carmelo Anthony
900 571.0 0.63 Kawhi Leonard
743 462.0 0.62 Dwyane Wade
1061 654.0 0.62 Demar Derozan
150 92.0 0.61 Tyler Zeller
793 482.0 0.61 Klay Thompson
941 574.0 0.61 Andrew Wiggins
1011 619.0 0.61 Eric Bledsoe
692 411.0 0.59 Zach Lavine
1032 609.0 0.59 Kyle Lowry
778 448.0 0.58 Dirk Nowitzki
939 541.0 0.58 Brook Lopez
787 450.0 0.57 Karl
976 558.0 0.57 Jimmy Butler

Guard v Forward FanDuel Fantasy Points for Each NBA Team

Guard v Forward Fantasy Points
Guard v Forward Fantasy Points

This set of small multiple scatter plots shows the guard’s v forward’s fantasy points for each NBA team through Nov 22, 2015. Each scatter plot show the performance of a team. The horizontal position of each dot gives the total fantasy points for that team’s starting forwards and the vertical position that for the starting guards.

The Hornets in the upper left show the most negative correlation: when the guards get a lot of fantasy points the forwards get few. At the other extreme in the lower right the Nuggets show the most positive correlation: when their guards do well so do their forwards.

Also notable is the relatively tight correlation (seen by the narrow shaded region of normalcy) for the Jazz, Thunder and Grizzlies and that the Wizard’s Forwards are most consistent in their Fantasy output.

How might this inform your Fantasy choices?

This matplotlib graphic was made at SportsDatabase.com with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season=2015 and team and date|$1,$2@$3 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2015’?polyfit=1&transparency=0.3&polyfit_show=0&marker_size=10&symmetric=1

Guard v Forward Fantasy Points for NBA teams in 2014

scatter_nbap_forwardsFP_guardsFP_2014
These scatter plots show the combined fantasy points of the starting guards v combined fantasy points of the starting forward for each NBA player-game in 2014: that is, each dot represents player performance in a single game.
This matplotlib graphic was made at SportsDatabase.com
with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season =2014 and team and date|$1,$2@1 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2014’?polyfit=3&transparency=0.3&polyfit_show=0

A small change of the SDQL breaks this relationship down by team.
scatter_nbap_forwardsFP_guardsFP_xteam_2014

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season =2014 and team and date|$0001,$2@$3 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2014’?polyfit=2&transparency=0.3

Final Margin vs Points Scored for NBA teams through January 2015

Final Margin vs Points Scored for NBA teams through January 2015
Final Margin vs Points Scored for NBA teams through January 2015

This set of small multiples shows the Final Margin vs Points Scored for NBA teams through January 2015.

Also shown is the linear fit with (tightly spaced) error bars.

Teams in the bottom row do better in higher scoring games.

Teams at the top not so much.

The half-circle icons at the small multiple edges make extrema easy to spot.

The Pelican have the highest score of the season at 140; the Pelican the lowest with 65.

The largest margin was 53 when the Mavs beat the 76ers.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

points,margin@self.nice_team(team) and (season=2014) as ‘Final Margin vs Points ScorednNBA teams through January 2015’?polyfit=1&polyfit_show=1&transparency

Final Margin v Margin at the Half for NBA Teams Through Jan 21, 2015

Final Margin v Margin at the Half for NBA Teams Through Jan 21, 2015
Final Margin v Margin at the Half for NBA Teams Through Jan 21, 2015

This scatter plot shows the average final margin v the margin at the half for NBA teams through Jan 21, 2015.

Also show in the linear fit with error-bar swath.

The positive slope of the fit line (1.4) shows that teams leading at the half generally tend to extend their lead. That the slope is less than two indicates that the winning team doesn’t generally double their lead.

Teams above the fit line tend to do better in the second half while teams below the fit line tend to fold. The Blazers, Bulls and Jazz look to be the best 2nd half teams while the Heat, Magic and Lakers tend to do worse in the 2nd half.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

A(margin at the half),A(margin),R(team)@team and season=2014|$1 as Average Margin at the Half,$2 as Average Final Margin,$3@1 as ‘Final Margin v Margin at the HalfnNBA teams through Jan 21, 2015’?polyfit=1&ysymmetric&symmetric&marker_size=40&polyfit_show=1

Points v Assists for NBA Teams Through Jan 20, 2015

Points v Assists for NBA Teams Through Jan 20, 2015
Points v Assists for NBA Teams Through Jan 20, 2015

This set of scatter plots show points v assists for each NBA team.

Also given is the linear fit with estimated errors shown as shaded regions.

The Raptors points scales the least with assists: that is, the score about the same over a range of assists.

At the opposite end of the spectrum, the Thunder stick way out with 2.2 points per assist.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

assists, points @ self.nice_team(team) and (season=2014) as ‘Points v AssistsnNBA teams through Jan 20, 2015’?polyfit=1&polyfit_show=1

Total Points v Three Point Attempted NBA teams through Dec 30, 2014

Total Points v Three Point Attempted NBA teams through Dec 30, 2014
Total Points v Three Point Attempted NBA teams through Dec 30, 2014

This scatter plot shows total points scored v three pointers attempted for NBA teams through Dec 30, 2014.

Each point represents a game.

The linear fit is also shown with its shaded region of normalcy.

Teams with a lot of points to the right side, like the Rockets, have taken a lot of threes. The Wizards, with a lot of points falling to the left, take few 3s.

For most teams shooting more threes correlates with more points.

This is not so for the Knicks, Celtics and a few other teams.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL
three pointers attempted, points @ self.nice_team(team) and (season=2014) as ‘Total Points v Three Point AttemptednNBA teams through Dec 30, 2014’?polyfit=1&polyfit_show=1&transparency=0.5&polyfit_error_scale=0.3

Steals v Turnovers NBA teams through Dec 26, 2014

Steals v Turnovers NBA teams through Dec 26, 2014
Steals v Turnovers NBA teams through Dec 26, 2014

This scatter plot shows steals v turnovers for NBA teams through Dec 26, 2014.

The dashed line is the 2nd order polynomial fit and the shaded region of normalcy guides the eye.

The 76ers have both the most turnovers and the most steals.

The Bulls have the fewest steals and an average number of turnovers.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL
S(turnovers), S(steals),Replace(team)@team and season=2014|int($1) as Turnovers,int($2) as Steals,$3@1 as ‘Steals v TurnoversnNBA teams through Dec 26, 2014’?polyfit=2&polyfit_error_scale=0.001&marker_size=50

Wins v Lead Changes NBA teams through Dec 25, 2014

Wins v Lead Changes NBA teams through Dec 25, 2014
Wins v Lead Changes NBA teams through Dec 25, 2014

This scatter plot show wins v total number of lead changes for NBA teams through Dec. 25, 2014.

The Magic have had the most lead changes and the Hawks have had the fewest.

The Knicks and Pistons stick out for having a high number of lead changes and a low number of wins.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL
S(lead changes),S(W),Replace(team)@team and season=2014|int($1) as Lead Changes,int($2) as Wins,$3@1 as ‘Wins v Lead ChangesnNBA teams through Dec 25, 2014’?marker_size=60

Opponent Fouls v Fouls NBA teams through Dec 20, 2014

Opponent Fouls v Fouls NBA teams through Dec 20, 2014
Opponent Fouls v Fouls NBA teams through Dec 20, 2014

This set of scatter plots shows opponent fouls v fouls for NBA teams through Dec 20, 2014.

Also show is the linear fit and shaded region of normalcy. The scatter plots are sorted by the slope of the fit line which is give above each small multiple.

Teams in the top row, starting with the Knicks, show little correlation between fouls they take and fouls they give.

At the other extreme the Kings stick way out as a foul tit for tat team.

Also notable are the 76ers with the narrowest distribution of values.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL
fouls as Fouls,o:fouls as Opponent Fouls@team and (season=2014) as ‘Opponent Fouls v FoulsnNBA teams through Dec 20, 2014’?polyfit=1&polyfit_show=1&transparency=0.65&marker_size=20&aspect=1&columns=5