Clustering Euroleague Shooters

During this quarantine period, I have listened to a large number of interesting talks about advanced statistics applied to basketball teams, both at a professional and at a youth level. It is crystal clear that if you want to talk about this hot topic, you have to (at least) say Moneyball 30 times/hour and cite “Basketball on Paper” quite often, but do we all really understand real-life applications? Basketball analytics go far beyond the proved theory of 3-point madness, or arithmetical metrics such as OER and DER (despite they are pretty accurate). However, the main question that arises once we gathered some data is: what am I supposed to do with this dataset? Where are the hidden patterns? Should I keep scrolling inside excel til finding the magical equation? Handling datasets by using simple (but effective) Machine Learning techniques (from now on, ML) may help us find what we are really looking for: parameters that might help to improve the performance of the team.

Since we still have a long road in terms of data collection to train Convolution Neural Networks, we’ll start with a simple and effective technique: clustering, which consists of grouping together similar items in terms of some given hand-crafted features. When we want to make a computer learn by applying some ML algorithm, we might face two types of problems: supervised scenarios, which require tags in order to (e.g.) classify or predict, or unsupervised ones, where the model learns from data without using labels. As there is a lot of literature about supervised vs unsupervised, I won’t go into the greedy details, and I’ll just say the clustering is an unsupervised-learning problem… How fun is that?

Thanks to Nacho Gámez (@ngamezj) and his brilliant scraping work on top of shooting Euroleague data, we possess all the attempted and scored shots since 2007 together to the corresponding game and X and Y coordinates. Given that basketball has changed quite a lot, in this post we will only use shooting data within the range of 2014–2015 and 2018–2019 EL seasons (5 seasons).

The main goal of this article is to extract the appropriate features in order to cluster players according to their shooting skills. A priori, the essential challenge is: once I cluster players, will I be able to spot different types of groups according to my basketball knowledge? That is, will my perception and output data match? (concept stolen from @luisclausinmb) We’ll see!

It has to be remarked that this above-mentioned features are the ones that will be used by the computer a posteriori in order to create the groups. This means that the program itself does not recognise Vassilis Spanoulis as we do; instead, the numerical features characterise the greek player are the ones that make the computer understand who he is. For instance, a feature vector containing the average points, rebounds and assists of the player could help the computer to get some insights about Spanoulis, helping him to realise that he is a excellent scorer, a borderline rebounder and a notable passer; in this case, the “Spanoulis feature vector” would be [13.1, 1.9, 4.7].

Nevertheless, at it has been mentioned, in the presented example we’ll work only with shotchart data, so we’ll forget about rebounds and assists and focus on shots. But… How can we characterise basketball shots in a numerical way? There’s not a single correct answer! In fact, there might be hundreds of them. As we can see in the following picture, the adopted solution for this experiment is to split the court in 14 regions, and then see the player’s performance at each zone. More concretely, we have 3 paint sections (left-center-right), 4 baseline/elbow midrange jumpshots, 6 types of three point shots (corners, elbows and central positions), plus free throws. At this point, feature vectors could be already built, but we are forgetting something vital: data visualisation. Despite that our system might work great even if we don’t want cool mapping tools, visualisations are useful in many scenarios: showing data to the head coach / finding programming bugs when everything fails / refining models by observation / doing a pseudocool post in Medium… In this case, the given shots will be mapped in tetradecagons; although the name sounds mathematically fancy and complex, the result is nothing new, just a polygon shape that will have 14 sides, where all the vertices’ orientation correspond to a different type of spatial shot. The reference system can be seen in the following picture; for instance, the player’s shooting skills in the central part of the paint (PC) will be mapped in the vertex placed at exactly 90º.

Reference system for mapping shots in “Shooting tetradecagons”

Ok folks, we split the court, but which kind of shooting data should we use? Shots per game? Total shots? The answer is not that simple. Take as an example the comparison between Arturas Milaknis and Milos Teodosic: the first one shot 154 left-elbowed 3’s in 98 games (1.57 per game), while the second one shot 109 in 70 games (1.55 per game). The numbers show that both players take a relatively similar number of shots from this position, but we all know that, although both of them are snipers, they are not the same type of player. For this reason, we’ll compute two types of data shots:

  • Inner-shot: for a single given player, and without taking into consideration the rest of the league, we’ll compute the total distribution of shots in all regions. The peak of each player will be always set to 7 (it could be another number, but this was ok in terms of generalisation and visualisation). In the given example, Milaknis has his shot peak in the left three elbow (E3L) with 154, where he gets a peak inner-shot value of 7; in all the other 13 regions, the value will just be a ratio between the number of shots in that region. For instance, knowing that Milaknis took 72 shots from the left three corner (C3L), the inner-shot value at the C3L position will be (72/154)*7 = 3.72 (every 7 E3L shots, he takes 3.72 C3L). This process is repeated for all regions, so we can have a ratio of attempted shots per region with respect to the maxima of each player. The output of this process will be a vector of 28 features: the first 14 will contain the number of attempted shots (in the inner-shot range from 0–7) at each position, while the second one will contain its accuracy.

As a whole, the comparison between Milaknis and Teodosic can be spotted in the following figure. As it can be seen in the inner-shot tetradecagon, both players take a high volume of their shots outside the arc, but in the league-shot graph, the role of both players (shooter vs. star) can be spotted. Moreover, something else has to be remarked: take a look at the C3L values of Milaknis! Bearing in mind that the corners are the smallest considered region, it might happen that shooters like Milaknis have relatively small inner-shot value there (~3), but high ones in league-shots. Although teams are using a lot corner 3’s, the limited space and the quick close-out defense in Euroleague makes it impossible to shot as much as in the NBA from there.

At this point, we can concatenate the 28-sized feature vectors in a single one (56 shooting features/player). Furthermore, we’ll add a couple of features that have not been included yet: layups, which are compressed inside shotchart data. For each player, the comparison between the total number of paint shots and layups is included, as well as their accuracy, thus resulting in a 58 feature vector (inner-shot + league-shot + lay-ups).

Let’s cluster for Morey’s sake! Once we quantified hand-crafted features for every single player in the dataset (and filtering those players that played more than 40 games in total), we may now apply a clustering existing algorithm, there’s no need to reinvent the wheel. I picked a method already implemented in the scikit-learn library of Python; more concretely, I used K-Means, although Gaussian Mixture Models or Mean Shift could have been applied as well. Roughly, K-Means is a widely used algorithm that, given N-dimensional data (in this case, N equals 58), computes pairwise differences among all axes, and iteratively, it keeps updating K centroids position, which will correspond to the central value of each cluster; at the end, all samples are grouped into K groups, being K a parameter to be chosen by the user. In this scenario, I decided to cluster into 10 groups, which means that we might find 10 different type of Euroleague players according to their shooting distribution.

Before analysing the results, I have to remark that 5 years of Euroleague have been included in the dataset, so some cases might disturb you a little bit: for instance, Vasilije Micic is now a Euroleague superstar, but he had some rough times in terms of shooting in Belgrado and Kaunas; given that temporal information has not been exploited/weighted, the feature vector of Micic will tell that he’s a mix between his old and actual version.

Let’s see what did I obtain…

Cluster 1: role exterior players that can finish at the rim but have some trouble shooting from deep. In this cluster, we might find players such as Jaka Blazic, Edgaras Ulanovas, Adam Hanga, Nikola Kalinic, Renaldas Seibutis or even Nik Calathes. Although these are vital players that many coaches would want in their teams, their shooting performance is not excellent (especially their 3's). They are not top-scorers, so they have small league-shot values mostly everywhere; in terms of inner-shots, their major source of scoring is the paint, complemented with some open shots.

Cluster 2: top-exterior scorers (aka franchise players). In this group, we find all those small players that can score from every single position, who also play ISO situations and shoot a lot. The list of players in this cluster is quite short, and maybe all these players wouldn’t be able to play together with just one ball, but damn, they are all really good: Sergio Llull, Keith Langford, Taylor Rochestie (amazing year at Nizhny), Vassilis Spanoulis, Mike James, Kostas Sloukas, Nando De Colo, Alexey Shved, Brad Wanamaker, and Shane Larkin. Wow.

Cluster 3: low-key exterior scorers. If you have an alpha player in your team, you must have some underdog assets that can be the go-to-guy in specific moments, a player able to score from outside in a broad spectrum of positions. They don’t shoot that much when comparing them to the franchise players, but I would hire all of them in a Fantasy team; for instance: Facundo Campazzo, Sergio Rodriguez, Jaycee Carroll, Bogdan Bogdanovic, Rodrigue Beaubois, Janis Strelnieks… You can notice that most of them are players that have been in many Final-4 teams while being coached by ego-controller-masters (Laso or Obradovic).

Cluster 4: rollers. Pure centers are disappearing, and instead, we might find some really useful (sometimes undersized) 5’s that can fit in any team. They don’t need the ball to play post-up, and they can’t shoot from outside, but they roll to the rim perfectly, finishing with high accuracy in CP positions. Have you heard about Theis (who also shoots), Tyus, Milutinov, Poirier or Tavares?

Cluster 5: classic post-up 5’s. They might be disappearing, but we still have some centers that have a high ball-dependence. Of course, they are also excellent players in 2-on-2 situations, but they will let you know if they hadn’t take a shot in a while: Ante Tomic, Ioannis Bouroussis or Jan Vesely could be nice examples. Moreover, since the new generation of rollers don’t take shots from the midrange distance, we may find as well in this cluster some interior players with a nice range from 5–6 meters: Shengelia, Lasme or Reyes.

Cluster 6: midrange is not dead! In this limited group, we can find some exterior players that still use midrange as a frequent tool in their offensive skillset. Once again, a midrange shot is not a bad idea if the player who attempts it has approximately a 50% of accuracy (for instance, Datome), so this group include some of the midrange masters: Sonny Weems, Andrew Goudelock, Nikos Zizis, Michael Roll or Vladimir Micov (he might be considered a PF now, but what do positions mean nowadays?)

Cluster 7: sinpers. Oh dear Milaknis, glad to see you again. In this cluster we might find all those role-shooters (not top-scorers like Carroll) that can kill from deep at any given moment. Apart from the Lithuanian, we can find a spot in this group for Matt Janning, Lucca Staiger, KC Rivers, Jon Diebler, Janis Timma, or even Juan Carlos Navarro (if more seasons were included in the dataset, he would be in the 2nd cluster for sure though).

Cluster 8: 3&D. This type of player is now essential in the NBA teams, and Euroleague top ones are trying to adapt it in their rosters. All coaches need that player that can produce without requiring the ball, contributing with off-ball situations, and scoring from outside with (at least) average precision. Victor Claver, Jeff Taylor, Vitaly Fridzon, Ioanis Papapetrou, Nikita Kurbanov are some of the examples.

Cluster 9: left-block specialists. When you cluster in an unsupervised way, there’s always a curious group; in this case, the algorithm grouped together some power-forwards that excel from the left side of the court (midrange and also some 3's), like Derrick Brown, Paulius Jankunas, Anthony Randolph or Georgios Printezis (not left-handed, but his weird baby-hook shots cannot be categorised). Moreover, 2 other stars that abuse from midrange have also been included in this group: Will Clyburn and Alessandro Gentile.

Cluster 10: efficiency from deep, lay-up allergy. In this last cluster, we find players that are highly effective from central and elbow positions, but that they rarely finish at the rim. We might find some “old” players that suffered serious injuries and they avoid power contacts (Rudy Fernandez), short players that don’t take advantage of driving to the basket (Draper or Muhammed) or others that prefer to shoot from midrange instead of doing lay-ups (Koponen or DiBartolomeo).

That’s all folks! In case you are curious, I will attach in the following lines the complete set of players with a percentage cluster definition; this metric has been computed by checking the inverse distance sum (over all 58 directions) to all cluster centroids, plus a normalisation factor. The main reasoning behind this mixture is that one player cannot be classified as one pure type of player; instead, players tend to be versatile and change roles within the different types of clusters. This type of clustering technique could be used for scouting (how to defend similar kinds of players) or even for GM’s in order to fill an empty spot in the roster: for instance, how will Real Madrid replace Jaycee Carrol once he retires?

If you have any question, you can contact me through email (adria.arbues@upf.edu) or Twitter (@arbues6).

— — — — — — — — Cluster 1: Def-Role — — — — — — — -
LEKAVICIUS, LUKAS ; Def-Role — 0.46 ; Efficient Elbow-3PT — 0.31 ; Off-Ball 3&D — 0.23
ULANOVAS, EDGARAS ; Def-Role — 0.42 ; Off-Ball 3&D — 0.33 ; Classic 5–0.25
BALBAY, DOGUS ; Def-Role — 0.36 ; Rollers — 0.34 ; Off-Ball 3&D — 0.3
SARIC, DARIO ; Def-Role — 0.38 ; Mid-Ranger — 0.31 ; Midrange PF — 0.31
BJELICA, MILKO ; Def-Role — 0.42 ; Off-Ball 3&D — 0.29 ; Classic 5–0.29
JACKSON, AARON ; Def-Role — 0.42 ; Rollers — 0.29 ; Classic 5–0.29
RENFROE, ALEX ; Def-Role — 0.49 ; Off-Ball 3&D — 0.27 ; Rollers — 0.24
KUZMINSKAS, MINDAUGAS ; Def-Role — 0.38 ; Rollers — 0.32 ; Classic 5–0.3
THOMAS, WILL ; Def-Role — 0.39 ; Off-Ball 3&D — 0.35 ; Classic 5–0.26
GORDIC, NEMANJA ; Def-Role — 0.36 ; Off-Ball 3&D — 0.35 ; Lowkey — 0.29
PAPPAS, NIKOS ; Def-Role — 0.47 ; Lowkey — 0.29 ; Off-Ball 3&D — 0.24
HACKETT, DANIEL ; Def-Role — 0.38 ; Mid-Ranger — 0.32 ; Lowkey — 0.3
HUERTAS, MARCELINHO ; Def-Role — 0.38 ; Off-Ball 3&D — 0.32 ; Mid-Ranger — 0.3
MICIC, VASILIJE ; Def-Role — 0.48 ; Lowkey — 0.28 ; Off-Ball 3&D — 0.23
BLAZIC, JAKA ; Def-Role — 0.37 ; Off-Ball 3&D — 0.36 ; Lowkey — 0.26
GULER, SINAN ; Def-Role — 0.46 ; Sniper — 0.28 ; Off-Ball 3&D — 0.26
KALINIC, NIKOLA ; Def-Role — 0.43 ; Off-Ball 3&D — 0.34 ; Lowkey — 0.23
JOVIC, STEFAN ; Def-Role — 0.5 ; Off-Ball 3&D — 0.25 ; Mid-Ranger — 0.24
CAUSEUR, FABIEN ; Def-Role — 0.45 ; Rollers — 0.29 ; Sniper — 0.26
SATORANSKY, TOMAS ; Def-Role — 0.42 ; Off-Ball 3&D — 0.33 ; Lowkey — 0.25
DRAGIC, ZORAN ; Def-Role — 0.45 ; Off-Ball 3&D — 0.32 ; Lowkey — 0.24
HANGA, ADAM ; Def-Role — 0.38 ; Rollers — 0.33 ; Off-Ball 3&D — 0.28
CINCIARINI, ANDREA ; Def-Role — 0.41 ; Off-Ball 3&D — 0.31 ; Classic 5–0.27
SEIBUTIS, RENALDAS ; Def-Role — 0.41 ; Off-Ball 3&D — 0.35 ; Efficient Elbow-3PT — 0.25
MOTUM, BROCK ; Def-Role — 0.42 ; Rollers — 0.3 ; Off-Ball 3&D — 0.28
CALATHES, NICK ; Def-Role — 0.47 ; Midrange PF — 0.28 ; Lowkey — 0.25
LO, MAODO ; Def-Role — 0.37 ; Efficient Elbow-3PT — 0.33 ; Lowkey — 0.29
WOLTERS, NATE ; Def-Role — 0.44 ; Classic 5–0.3 ; Rollers — 0.26
MCCALLUM, RAY ; Def-Role — 0.41 ; Midrange PF — 0.32 ; Off-Ball 3&D — 0.26
ORIOLA, PIERRE ; Def-Role — 0.35 ; Rollers — 0.34 ; Classic 5–0.31
— — — — — — — — Cluster 2: Franchise — — — — — — — -
LLULL, SERGIO ; Franchise — 0.37 ; Lowkey — 0.34 ; Efficient Elbow-3PT — 0.28
ROCHESTIE, TAYLOR ; Franchise — 0.38 ; Mid-Ranger — 0.35 ; Midrange PF — 0.27
LANGFORD, KEITH ; Franchise — 0.37 ; Mid-Ranger — 0.33 ; Midrange PF — 0.3
TEODOSIC, MILOS ; Franchise — 0.39 ; Efficient Elbow-3PT — 0.31 ; Lowkey — 0.3
SPANOULIS, VASSILIS ; Franchise — 0.42 ; Lowkey — 0.3 ; Def-Role — 0.27
SLOUKAS, KOSTAS ; Franchise — 0.39 ; Mid-Ranger — 0.32 ; Def-Role — 0.29
DE COLO, NANDO ; Franchise — 0.37 ; Midrange PF — 0.33 ; Mid-Ranger — 0.31
JAMES, MIKE ; Franchise — 0.41 ; Mid-Ranger — 0.31 ; Lowkey — 0.28
SHVED, ALEXEY ; Franchise — 0.43 ; Lowkey — 0.32 ; Mid-Ranger — 0.26
WANAMAKER, BRAD ; Franchise — 0.44 ; Def-Role — 0.3 ; Lowkey — 0.27
LARKIN, SHANE ; Franchise — 0.37 ; Lowkey — 0.33 ; Mid-Ranger — 0.3
— — — — — — — — Cluster 3: Lowkey — — — — — — — -
ANDERSON, JAMES ; Lowkey — 0.36 ; Def-Role — 0.35 ; Off-Ball 3&D — 0.28
MACIULIS, JONAS ; Lowkey — 0.35 ; Lowkey — 0.33 ; Sniper — 0.32
CARROLL, JAYCEE ; Lowkey — 0.39 ; Efficient Elbow-3PT — 0.32 ; Off-Ball 3&D — 0.3
RODRIGUEZ, SERGIO ; Lowkey — 0.34 ; Franchise — 0.33 ; Lowkey — 0.33
CAMPAZZO, FACUNDO ; Lowkey — 0.4 ; Efficient Elbow-3PT — 0.31 ; Off-Ball 3&D — 0.3
VORONTSEVICH, ANDREY ; Lowkey — 0.35 ; Efficient Elbow-3PT — 0.33 ; Off-Ball 3&D — 0.32
SMITH, DEVIN ; Lowkey — 0.4 ; Off-Ball 3&D — 0.32 ; Def-Role — 0.28
WESTERMANN, LEO ; Lowkey — 0.39 ; Off-Ball 3&D — 0.31 ; Mid-Ranger — 0.3
MARKOVIC, STEFAN ; Lowkey — 0.34 ; Lowkey — 0.33 ; Sniper — 0.32
BOGDANOVIC, BOGDAN ; Lowkey — 0.38 ; Franchise — 0.32 ; Mid-Ranger — 0.3
HICKMAN, RICKY ; Lowkey — 0.38 ; Def-Role — 0.38 ; Off-Ball 3&D — 0.24
ABRINES, ALEX ; Lowkey — 0.37 ; Efficient Elbow-3PT — 0.35 ; Sniper — 0.28
SUAREZ, CARLOS ; Lowkey — 0.37 ; Lowkey — 0.33 ; Sniper — 0.3
NEDOVIC, NEMANJA ; Lowkey — 0.41 ; Def-Role — 0.3 ; Efficient Elbow-3PT — 0.28
LOJESKI, MATT ; Lowkey — 0.35 ; Off-Ball 3&D — 0.35 ; Mid-Ranger — 0.31
ADAMS, DARIUS ; Lowkey — 0.37 ; Efficient Elbow-3PT — 0.34 ; Def-Role — 0.29
RICE, TYRESE ; Lowkey — 0.4 ; Def-Role — 0.31 ; Franchise — 0.29
DONCIC, LUKA ; Lowkey — 0.41 ; Def-Role — 0.3 ; Efficient Elbow-3PT — 0.29
BEAUBOIS, RODRIGUE ; Lowkey — 0.4 ; Off-Ball 3&D — 0.31 ; Def-Role — 0.29
GUDURIC, MARKO ; Lowkey — 0.37 ; Off-Ball 3&D — 0.33 ; Def-Role — 0.3
SIMONOVIC, MARKO ; Lowkey — 0.42 ; Off-Ball 3&D — 0.29 ; Sniper — 0.29
DIXON, BOBBY ; Lowkey — 0.35 ; Lowkey — 0.35 ; Sniper — 0.3
SIMON, KRUNOSLAV ; Lowkey — 0.42 ; Off-Ball 3&D — 0.31 ; Efficient Elbow-3PT — 0.27
KALNIETIS, MANTAS ; Lowkey — 0.35 ; Def-Role — 0.33 ; Sniper — 0.32
SINGLETON, CHRIS ; Lowkey — 0.42 ; Off-Ball 3&D — 0.29 ; Efficient Elbow-3PT — 0.29
FELDEINE, JAMES ; Lowkey — 0.37 ; Efficient Elbow-3PT — 0.34 ; Def-Role — 0.28
MILLER, DARIUS ; Lowkey — 0.39 ; Efficient Elbow-3PT — 0.31 ; Mid-Ranger — 0.3
STRELNIEKS, JANIS ; Lowkey — 0.38 ; Mid-Ranger — 0.32 ; Efficient Elbow-3PT — 0.29
WILBEKIN, SCOTTIE ; Lowkey — 0.39 ; Efficient Elbow-3PT — 0.33 ; Sniper — 0.27
PAPANIKOLAOU, KOSTAS ; Lowkey — 0.39 ; Off-Ball 3&D — 0.31 ; Def-Role — 0.3
BERTANS, DAIRIS ; Lowkey — 0.34 ; Sniper — 0.33 ; Lowkey — 0.33
PANGOS, KEVIN ; Lowkey — 0.38 ; Efficient Elbow-3PT — 0.32 ; Def-Role — 0.3
— — — — — — — — Cluster 4: Rollers — — — — — — — -
BROOKS, JEFF ; Rollers — 0.34 ; Rollers — 0.34 ; Off-Ball 3&D — 0.32
GIST, JAMES ; Rollers — 0.4 ; Classic 5–0.33 ; Def-Role — 0.27
ERDEN, SEMIH ; Rollers — 0.4 ; Classic 5–0.36 ; Def-Role — 0.23
PLEISS, TIBOR ; Rollers — 0.38 ; Rollers — 0.37 ; Def-Role — 0.25
IVERSON, COLTON ; Rollers — 0.4 ; Classic 5–0.38 ; Def-Role — 0.23
TYUS, ALEX ; Rollers — 0.39 ; Classic 5–0.38 ; Def-Role — 0.23
DIOP, ILIMANE ; Rollers — 0.4 ; Classic 5–0.36 ; Def-Role — 0.24
YOUNG, PATRIC ; Rollers — 0.38 ; Classic 5–0.37 ; Def-Role — 0.25
THEIS, DANIEL ; Rollers — 0.42 ; Classic 5–0.32 ; Def-Role — 0.26
MILUTINOV, NIKOLA ; Rollers — 0.42 ; Classic 5–0.36 ; Def-Role — 0.22
DUVERIOGLU, AHMET ; Rollers — 0.42 ; Classic 5–0.34 ; Def-Role — 0.23
OMIC, ALEN ; Rollers — 0.4 ; Classic 5–0.36 ; Def-Role — 0.24
VOIGTMANN, JOHANNES ; Rollers — 0.41 ; Def-Role — 0.32 ; Classic 5–0.27
KANE, DEANDRE ; Rollers — 0.39 ; Def-Role — 0.32 ; Classic 5–0.29
TARCZEWSKI, KALEB ; Rollers — 0.42 ; Classic 5–0.36 ; Def-Role — 0.23
POIRIER, VINCENT ; Rollers — 0.41 ; Classic 5–0.37 ; Def-Role — 0.23
GILL, ANTHONY ; Rollers — 0.4 ; Classic 5–0.32 ; Def-Role — 0.28
THOMAS, MALCOLM ; Rollers — 0.42 ; Classic 5–0.32 ; Def-Role — 0.26
WHITE, AARON ; Rollers — 0.41 ; Classic 5–0.33 ; Def-Role — 0.26
ANTETOKOUNMPO, THANASIS ; Rollers — 0.43 ; Classic 5–0.32 ; Def-Role — 0.26
TAVARES, WALTER ; Rollers — 0.41 ; Classic 5–0.35 ; Def-Role — 0.24
— — — — — — — — Cluster 5: Classic 5 — — — — — — — -
BOUROUSIS, IOANNIS ; Classic 5–0.37 ; Def-Role — 0.32 ; Rollers — 0.31
AYON, GUSTAVO ; Classic 5–0.41 ; Rollers — 0.34 ; Def-Role — 0.25
GUDAITIS, ARTURAS ; Classic 5–0.41 ; Rollers — 0.38 ; Def-Role — 0.21
REYES, FELIPE ; Classic 5–0.43 ; Rollers — 0.31 ; Def-Role — 0.26
PARAKHOUSKI, ARTSIOM ; Classic 5–0.42 ; Rollers — 0.36 ; Def-Role — 0.22
LASME, STEPHANE ; Classic 5–0.4 ; Rollers — 0.32 ; Def-Role — 0.29
RADOSEVIC, LEON ; Classic 5–0.4 ; Rollers — 0.33 ; Def-Role — 0.27
BANIC, MARKO ; Classic 5–0.42 ; Rollers — 0.29 ; Def-Role — 0.28
HINES, KYLE ; Classic 5–0.42 ; Rollers — 0.36 ; Def-Role — 0.23
VAZQUEZ, FRAN ; Classic 5–0.39 ; Rollers — 0.35 ; Midrange PF — 0.26
SAMUELS, SAMARDO ; Classic 5–0.39 ; Rollers — 0.35 ; Def-Role — 0.25
SAVAS, OGUZ ; Classic 5–0.38 ; Rollers — 0.33 ; Def-Role — 0.3
VESELY, JAN ; Classic 5–0.41 ; Rollers — 0.39 ; Def-Role — 0.2
TOMIC, ANTE ; Classic 5–0.43 ; Rollers — 0.33 ; Def-Role — 0.23
STIMAC, VLADIMIR ; Classic 5–0.4 ; Rollers — 0.37 ; Def-Role — 0.24
VOUGIOUKAS, IAN ; Classic 5–0.39 ; Rollers — 0.36 ; Def-Role — 0.24
MITROVIC, LUKA ; Classic 5–0.35 ; Classic 5–0.33 ; Def-Role — 0.31
ZIRBES, MAIK ; Classic 5–0.41 ; Rollers — 0.36 ; Def-Role — 0.23
HUNTER, OTHELLO ; Classic 5–0.39 ; Rollers — 0.38 ; Def-Role — 0.22
DUNSTON, BRYANT ; Classic 5–0.39 ; Classic 5–0.39 ; Def-Role — 0.21
SHENGELIA, TORNIKE ; Classic 5–0.4 ; Rollers — 0.32 ; Def-Role — 0.28
SLAUGHTER, MARCUS ; Classic 5–0.37 ; Classic 5–0.37 ; Def-Role — 0.25
AUGUSTINE, JAMES ; Classic 5–0.38 ; Rollers — 0.38 ; Def-Role — 0.25
RADULJICA, MIROSLAV ; Classic 5–0.42 ; Rollers — 0.33 ; Def-Role — 0.24
KUZMIC, OGNJEN ; Classic 5–0.38 ; Rollers — 0.38 ; Def-Role — 0.24
UDOH, EKPE ; Classic 5–0.41 ; Rollers — 0.32 ; Midrange PF — 0.27
MCLEAN, JAMEL ; Classic 5–0.4 ; Rollers — 0.36 ; Def-Role — 0.23
KAVALIAUSKAS, ANTANAS ; Classic 5–0.38 ; Rollers — 0.33 ; Def-Role — 0.29
DAVIES, BRANDON ; Classic 5–0.42 ; Rollers — 0.34 ; Def-Role — 0.24
— — — — — — — — Cluster 6: Mid-Ranger — — — — — — — -
ZISIS, NIKOS ; Mid-Ranger — 0.39 ; Def-Role — 0.32 ; Off-Ball 3&D — 0.3
REDDING, REGGIE ; Mid-Ranger — 0.38 ; Def-Role — 0.31 ; Midrange PF — 0.3
WEEMS, SONNY ; Mid-Ranger — 0.44 ; Midrange PF — 0.32 ; Off-Ball 3&D — 0.25
GRANGER, JAYSON ; Mid-Ranger — 0.38 ; Franchise — 0.36 ; Lowkey — 0.26
GOUDELOCK, ANDREW ; Mid-Ranger — 0.39 ; Franchise — 0.32 ; Lowkey — 0.28
DOELLMAN, JUSTIN ; Mid-Ranger — 0.43 ; Midrange PF — 0.3 ; Def-Role — 0.27
JENKINS, CHARLES ; Mid-Ranger — 0.36 ; Mid-Ranger — 0.34 ; Lowkey — 0.3
MICOV, VLADIMIR ; Mid-Ranger — 0.41 ; Lowkey — 0.3 ; Franchise — 0.29
HEURTEL, THOMAS ; Mid-Ranger — 0.4 ; Franchise — 0.33 ; Midrange PF — 0.27
DATOME, LUIGI ; Mid-Ranger — 0.4 ; Lowkey — 0.32 ; Franchise — 0.28
GREEN, ERICK ; Mid-Ranger — 0.38 ; Lowkey — 0.33 ; Franchise — 0.29
ROLL, MICHAEL ; Mid-Ranger — 0.4 ; Off-Ball 3&D — 0.31 ; Lowkey — 0.29
— — — — — — — — Cluster 7: Sniper — — — — — — — -
MILAKNIS, ARTURAS ; Sniper — 0.41 ; Efficient Elbow-3PT — 0.33 ; Lowkey — 0.26
FOTSIS, ANTONIS ; Sniper — 0.42 ; Efficient Elbow-3PT — 0.29 ; Off-Ball 3&D — 0.29
NAVARRO, JUAN CARLOS ; Sniper — 0.38 ; Efficient Elbow-3PT — 0.33 ; Lowkey — 0.29
OLESON, BRAD ; Sniper — 0.39 ; Efficient Elbow-3PT — 0.32 ; Off-Ball 3&D — 0.29
STAIGER, LUCCA ; Sniper — 0.44 ; Efficient Elbow-3PT — 0.29 ; Off-Ball 3&D — 0.27
RIBAS, PAU ; Sniper — 0.35 ; Sniper — 0.35 ; Lowkey — 0.3
RIVERS, K.C. ; Sniper — 0.37 ; Efficient Elbow-3PT — 0.35 ; Lowkey — 0.28
JANNING, MATT ; Sniper — 0.38 ; Efficient Elbow-3PT — 0.36 ; Lowkey — 0.26
MAHMUTOGLU, MELIH ; Sniper — 0.43 ; Efficient Elbow-3PT — 0.32 ; Off-Ball 3&D — 0.25
MANTZARIS, VANGELIS ; Sniper — 0.39 ; Efficient Elbow-3PT — 0.36 ; Lowkey — 0.26
BATUK, BIRKAN ; Sniper — 0.42 ; Efficient Elbow-3PT — 0.3 ; Off-Ball 3&D — 0.28
ANTIC, PERO ; Sniper — 0.39 ; Efficient Elbow-3PT — 0.33 ; Lowkey — 0.29
DIEBLER, JON ; Sniper — 0.43 ; Efficient Elbow-3PT — 0.3 ; Off-Ball 3&D — 0.27
GABRIEL, KENNY ; Sniper — 0.4 ; Efficient Elbow-3PT — 0.31 ; Off-Ball 3&D — 0.29
DIAZ, ALBERTO ; Sniper — 0.38 ; Efficient Elbow-3PT — 0.33 ; Off-Ball 3&D — 0.29
ERIKSSON, MARCUS ; Sniper — 0.4 ; Efficient Elbow-3PT — 0.34 ; Lowkey — 0.26
TIMMA, JANIS ; Sniper — 0.43 ; Efficient Elbow-3PT — 0.31 ; Off-Ball 3&D — 0.26
VIALTSEV, EGOR ; Sniper — 0.38 ; Efficient Elbow-3PT — 0.37 ; Off-Ball 3&D — 0.25
— — — — — — — — Cluster 8: Off-Ball 3&D — — — — — — — -
NOCIONI, ANDRES ; Off-Ball 3&D — 0.37 ; Def-Role — 0.33 ; Lowkey — 0.29
THOMPKINS, TREY ; Off-Ball 3&D — 0.36 ; Mid-Ranger — 0.35 ; Lowkey — 0.29
ANTONOV, SEMEN ; Off-Ball 3&D — 0.4 ; Sniper — 0.3 ; Lowkey — 0.3
PERPEROGLOU, STRATOS ; Off-Ball 3&D — 0.33 ; Lowkey — 0.33 ; Off-Ball 3&D — 0.33
OSMAN, CEDI ; Off-Ball 3&D — 0.38 ; Def-Role — 0.36 ; Lowkey — 0.26
FRIDZON, VITALY ; Off-Ball 3&D — 0.41 ; Lowkey — 0.32 ; Def-Role — 0.26
MOERMAN, ADRIEN ; Off-Ball 3&D — 0.39 ; Mid-Ranger — 0.31 ; Lowkey — 0.31
LANDESBERG, SYLVEN ; Off-Ball 3&D — 0.42 ; Def-Role — 0.31 ; Lowkey — 0.27
PRELDZIC, EMIR ; Off-Ball 3&D — 0.39 ; Def-Role — 0.34 ; Lowkey — 0.28
MELLI, NICOLO ; Off-Ball 3&D — 0.39 ; Mid-Ranger — 0.31 ; Lowkey — 0.29
THOMAS, DESHAUN ; Off-Ball 3&D — 0.4 ; Mid-Ranger — 0.32 ; Def-Role — 0.28
DANGUBIC, NEMANJA ; Off-Ball 3&D — 0.44 ; Lowkey — 0.3 ; Def-Role — 0.26
LAZIC, BRANKO ; Off-Ball 3&D — 0.38 ; Sniper — 0.32 ; Def-Role — 0.29
HARANGODY, LUKE ; Off-Ball 3&D — 0.41 ; Def-Role — 0.31 ; Lowkey — 0.28
TILLIE, KIM ; Off-Ball 3&D — 0.42 ; Def-Role — 0.34 ; Rollers — 0.24
OHAYON, YOGEV ; Off-Ball 3&D — 0.35 ; Def-Role — 0.34 ; Efficient Elbow-3PT — 0.31
AGRAVANIS, DIMITRIOS ; Off-Ball 3&D — 0.36 ; Def-Role — 0.36 ; Sniper — 0.28
NICHOLS, DEMETRIS ; Off-Ball 3&D — 0.43 ; Sniper — 0.29 ; Lowkey — 0.28
PAPAPETROU, IOANNIS ; Off-Ball 3&D — 0.39 ; Def-Role — 0.35 ; Lowkey — 0.26
KHRYAPA, VICTOR ; Off-Ball 3&D — 0.43 ; Def-Role — 0.29 ; Lowkey — 0.28
HONEYCUTT, TYLER ; Off-Ball 3&D — 0.42 ; Def-Role — 0.29 ; Lowkey — 0.28
CLAVER, VICTOR ; Off-Ball 3&D — 0.42 ; Def-Role — 0.3 ; Lowkey — 0.28
ZUBKOV, ANDREY ; Off-Ball 3&D — 0.36 ; Def-Role — 0.33 ; Rollers — 0.31
VEZENKOV, ALEKSANDAR ; Off-Ball 3&D — 0.41 ; Sniper — 0.31 ; Lowkey — 0.28
HECKMANN, PATRICK ; Off-Ball 3&D — 0.38 ; Def-Role — 0.32 ; Rollers — 0.3
DIEZ, DANIEL ; Off-Ball 3&D — 0.38 ; Sniper — 0.35 ; Def-Role — 0.28
VORONOV, EVGENY ; Off-Ball 3&D — 0.42 ; Def-Role — 0.33 ; Mid-Ranger — 0.25
KURBANOV, NIKITA ; Off-Ball 3&D — 0.41 ; Def-Role — 0.34 ; Lowkey — 0.26
TAYLOR, JEFFERY ; Off-Ball 3&D — 0.35 ; Rollers — 0.33 ; Def-Role — 0.32
NUNNALLY, JAMES ; Off-Ball 3&D — 0.38 ; Lowkey — 0.35 ; Def-Role — 0.27
TOUPANE, AXEL ; Off-Ball 3&D — 0.47 ; Lowkey — 0.29 ; Def-Role — 0.25
— — — — — — — — Cluster 9: Midrange PF — — — — — — — -
JANKUNAS, PAULIUS ; Midrange PF — 0.47 ; Mid-Ranger — 0.27 ; Franchise — 0.26
GENTILE, ALESSANDRO ; Midrange PF — 0.42 ; Mid-Ranger — 0.32 ; Def-Role — 0.26
PRINTEZIS, GEORGIOS ; Midrange PF — 0.47 ; Def-Role — 0.28 ; Mid-Ranger — 0.25
BROWN, DERRICK ; Midrange PF — 0.45 ; Mid-Ranger — 0.28 ; Rollers — 0.27
HIGGINS, CORY ; Midrange PF — 0.39 ; Def-Role — 0.31 ; Mid-Ranger — 0.3
RANDOLPH, ANTHONY ; Midrange PF — 0.47 ; Mid-Ranger — 0.28 ; Off-Ball 3&D — 0.25
CLYBURN, WILL ; Midrange PF — 0.35 ; Def-Role — 0.33 ; Classic 5–0.32
— — — — — — — — Cluster 10: Efficient Elbow-3PT — — — — — — — -
FERNANDEZ, RUDY ; Efficient Elbow-3PT — 0.36 ; Lowkey — 0.32 ; Sniper — 0.32
JERRELLS, CURTIS ; Efficient Elbow-3PT — 0.4 ; Lowkey — 0.3 ; Sniper — 0.3
DRAPER, DONTAYE ; Efficient Elbow-3PT — 0.4 ; Sniper — 0.33 ; Off-Ball 3&D — 0.27
DIAMANTIDIS, DIMITRIS ; Efficient Elbow-3PT — 0.39 ; Lowkey — 0.31 ; Sniper — 0.3
JACKSON, EDWIN ; Efficient Elbow-3PT — 0.39 ; Lowkey — 0.31 ; Sniper — 0.3
MONIA, SERGEY ; Efficient Elbow-3PT — 0.39 ; Sniper — 0.36 ; Lowkey — 0.25
KOPONEN, PETTERI ; Efficient Elbow-3PT — 0.36 ; Lowkey — 0.32 ; Mid-Ranger — 0.32
DIBARTOLOMEO, JOHN ; Efficient Elbow-3PT — 0.38 ; Sniper — 0.37 ; Lowkey — 0.25
VILDOZA, LUCA ; Efficient Elbow-3PT — 0.42 ; Lowkey — 0.3 ; Sniper — 0.29
MUHAMMED, ALI ; Efficient Elbow-3PT — 0.39 ; Sniper — 0.32 ; Lowkey — 0.29

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store