Data Study on Conference Finalists Performance in NBA

Posted on May 1, 2017
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Note: Please also check out my Shiny app which will have an interactive box plot on individual statistics, as well as the density graphs shown in this post.

As the 2017 NBA Playoffs are rolling along, a thought popped up in my head: do the conference finalists each year have better stats than other teams in the regular season? We will use data and stats to visualize their performances.


The Data Set

With this question in mind, I searched around and ended up using a dataset of NBA teams' regular season logs from a personal blog named Quantifan.

The dataset came in CSV format with around 12,000 observations and 31 columns involving mostly basic stats such as points and assist per game for each team since 2012. While cleaning the data of unwanted observations, I noticed two oddities that occurred multiple times: duplicates and outrageous scores. The latter reported an NBA team scoring 5 points in the entire 48 minutes allotted in a game, so I decided to set an arbitrary cutoff of 61 points (the lowest score I could find on in the time period) for the data set. I also decided that since I wanted to compare the conference finalists to their regular season performance, I took out the current season's observations as well in order to have the appropriate context.




I split my observations into three categories, as structured below:

  • Offense
    • Assists to Turnovers: How well does the team take care of the ball on offense?
    • 3-Point Attempts in Proportion to Total Field Goals Made: Determines
    • Free Throw Percentage to Attempts: Does a team capitalize well on the rewarded free throws when fouled?
    • Average Points: How many points can they generate on a nightly basis?
  • Defense
    • Defensive Rebounds: The more rebounds, the more likely a team is denying the opposing team a second chance at scoring on the same trip down the court.
    • Fouls: These almost always indicate sloppy defense, whether it be a foul to stop a free dunk or a defender reaching in.
  • Misc.
    • Plus-Minus: In a team context, this shows how much more a team scores over the opponent. This can possibly show how good a team is if it is constantly winning by a large margin.


The Data Observations

Data Study on Conference Finalists Performance in NBAData Study on Conference Finalists Performance in NBAData Study on Conference Finalists Performance in NBA

The results are interesting, as it seems that conference finalists since 2012 have, on average, resorted to slightly less three point attempts in the regular season. With teams like the 2014 Spurs, 2015/16 Warriors and Cavaliers, you would think that 3-point shots would be at a premium. On the other hand, points-related statistics seem to be about as expected; you do need more points to win basketball games, after all.




There are also stats that had very similar distributions. My initial guess is that these would be the ones with bigger differences as they would show the quality of a good team beyond just the game results. And then it hit me, and I told myself: basketball isn't just about numbers, silly.


The Context

With the multitude of things going on in every single possession in basketball, it would be reasonable to say that there would be hard-to-capture elements with simple statistics and ratios. Here are some ideas that could be lost in the statistics:

  • Good Execution:

  • There are many ways to get points for a team, but good execution by the team as a whole would have to be the easiest and most reproducible method on average. For example, take these two videos for example:

As much as Kobe Bryant was one of the greatest basketball players to have graced the game, it would probably be easier (even for Kobe) to hit an open shot like the one in the first clip. Statistics could very well miss this.

  • Defensive rotations:

  • You would be hard pressed for a readily available statistic that will account for when a teammate doesn't help out when the offense breaks through the team's defense. This could get even more complicated in situations that involve screens, where the two players on offense could pop, roll, or even catch another open man on a bad rotation elsewhere.
  • The Stats Themselves:

  • When looking at assists to turnovers, you could be getting teams that are avoiding this stat by throwing up ill-advised shots. A team could also pass the ball less, which could also affect statistics like this. The statistics themselves also could have inherent flaws. For example, average points by itself would not
  • Bad Foul Calls:

  • There's always a chance that the officiating is poor and overstate the sloppiness of a team's defense.


  • Team Strengths and Weaknesses:

  • While not an inherent flaw of using statistics, the exploratory work in this post shows that overall trends may not apply to specific teams. For example, the 2017 Houston Rockets are a great offensive team but allowed the 5th most points in the league this regular season.



So while statistics are useful in a vacuum, I think it is equally important to have good background knowledge of what you are trying to observe, as you wouldn't be able to separate nonsensical statistics from ones which do tell a proper story.




About Author

Kai Chan

Kai Chan received his bachelor's degree in economics from the University of California, San Diego. Kai believes that with the increasing importance and prevalence of various programming tools in the world of data analysis, a career in data...
View all posts by Kai Chan >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI