Messed Around & Tracked a Triple Double
How can we design a dashboard to allow users to easily track Russell Westbrook’s stats?
R • d3 • Data Analysis • Data Visualization
Project Overview:
A triple double is when a basketball averages 10 points, rebounds, and assists. The only player to accomplish that over the course of an NBA season was Oscar Robertson, roughly 50 years ago. Russell Westbrook, currently a point guard for the Oklahoma City Thunder, has a been close to that milestone all season – a feat that has been talked about greatly in the media this year.
I wanted to create an interactive dashboard that would allow users to explore and analyze Westbrook’s historic season. This intially entailed using R to query data off NBA’s API and generate a probabilistic model for Westbrook’s chances of averaging a triple-double. From there I used Javacsript’s d3 library to deliver an information rich, interactive interface.
The project can be found here, and will continue to live update through the rest of the NBA season. A screenshot is below.
Yahoo DFS Bankroll Analysis
Background
In the Tool section is a basic bankroll analysis tool for Yahoo Daily Fantasy Sports built on RStudio’s Shiny framework. The purpose of the tool is to provide basic information to help users make more informed decisions with their bankroll.
Below is a chart of my NFL Yahoo DFS history over the past year:
The above chart suggests that GPP & Quad Ups are the most successful, while Double Ups have been less successful (ROI = 1 indicates break even). Decuple Ups and Triple Ups show promise, but with a low amount of contests played, it’s difficult to determine the efficacy of each chart.
Tool
Nylon Calculus – Age and upside in the NBA Draft
K-Means Ranking for Fantasy Football [Beta]
Nylon Calculus – Expected Value in the NBA Draft
Project Focus:
Data Visualization • Data Analysis • R
Project Overview
This past year I started translating my quantative sports analysis hobby into freelance pieces. This piece, Expected Value in the NBA Draft, was featured on one premier NBA Analytics websites, Nylon Calculus.
Skills Used
The data was scraped from Basketball-Reference and the NBA Stats API via R. The visualiztions were all created through R’s ggplot2 package
Project
The full piece can be found here. Other featured freelance pieces I’ve done are Will the Warriors Be Too Tired to Beat LeBron & the Cavs (Sports Illustrated) and Age & Upside in the NBA Draft (Nylon Calculus).
Sports Illustrated – Will The Warriors Be Too Tired To Beat LeBron And The Cavs?
Gauging Media Preseason Projections
Team Assist Matrix Visualization
Project Focus:
Data Visualization • Data Analysis • R
Project Overview
I noticed that NBA teams create offense in very different ways (as measured by assists) – for examples most of the LA Clippers offense comes through Chris Paul whereas the San Antonio Spurs take a very different approach. Consequently, I wanted to create a visualization that gave a quick snapshot of team’s offenses were run.
Methodology
I scraped the data off the NBA’s individual player Pass Dashboards. From there I used R to wrangle the data so that I could export it to the heatmaps seen below. Finally, I created a Shiny application so users can easily access the data.
Below is a Shiny/RStudio app for assist visualizations of individual NBA teams. The heatmap [should] be self-explanatory – it shows which players assist others on a given team.
The Github code can be found here.
Project
Notes
- Assists are not normalized by games or minutes played. Consequently, the visualization favors high MPG players and non-injured players.
- Utah’s map is probably my favorite one. It’s really cool to see how many different ways they initiate the offense, while maintaining a league average ORtg.
- While I wish the Lakers nothing but failure, the DLo/Clarkson/Randle love is cool to see. The Nick Young/Bass connection is also too strong. It’ll be interesting to see how DLo’s assist relationship with his teammates changes in light of recent news (only half kidding).
- Most team’s seem to converge on a 3-player core (Klay/Dray/Steph, MCW/Giannis/Middleton, CJ/Dame/Plumlee)