{"id":1286,"date":"2016-12-16T16:35:32","date_gmt":"2016-12-16T22:35:32","guid":{"rendered":"http:\/\/kenpom.com\/blog\/?p=1286"},"modified":"2016-12-16T17:15:44","modified_gmt":"2016-12-16T23:15:44","slug":"comps-are-back","status":"publish","type":"post","link":"https:\/\/kenpom.com\/blog\/comps-are-back\/","title":{"rendered":"Comps are back"},"content":{"rendered":"<p>I have a love\/hate relationship with player comps. There are clearly some good things about them but some of the utility in identifying a player\u2019s group of comparables is removed by the human tendency to first\u00a0match players based on things like race, ethnicity, or even hair style. While I haven\u2019t studied it, I expect that even comparables among African-Americans are influenced by skin color.<!--more--><\/p>\n<p>Whether it\u2019s <a href=\"http:\/\/thebiglead.com\/2015\/06\/26\/jalen-rose-made-a-bunch-of-dumb-comparisons-during-the-nba-draft\/\">Jalen Rose<\/a> or <a href=\"https:\/\/twitter.com\/search?f=tweets&amp;vertical=default&amp;q=in%20%20%22so%20much%22%20from%3Ajonrothstein&amp;src=typd\">Jon Rothstein<\/a>, the comp-by-looks approach can produce poor results.<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_1286_1('footnote_plugin_reference_1286_1_1');\" onkeypress=\"footnote_moveToReference_1286_1('footnote_plugin_reference_1286_1_1');\" ><sup id=\"footnote_plugin_tooltip_1286_1_1\" class=\"footnote_plugin_tooltip_text\">1<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_1286_1_1\" class=\"footnote_tooltip\"><\/span><\/span> The next time a white guy is compared to a black guy might be the first for either. And this is not a disease that affects only those two guys. Almost everyone covering the game seems to accept this is the way of doing comp business. Now obviously it isn&#8217;t true that all (or even most) within-race comps are bad. But the worst part of player comps are that they too often rely on stereotypes.<\/p>\n<p>However,\u00a0there are some positive uses for comps. At their best, they are\u00a0shorthand for a description or projection of a player. One benefit to using advanced stats is being able to better isolate skills whether it\u2019s for a team or a player. But it\u2019s difficult to know if a high-usage, low-efficiency player has any chance to get much better without doing a study specifically looking at those kinds of players. And those types of players come in all kinds of varieties. A six-footer who is primarily taking 2\u2019s and not getting to the free throw line figures to have a different outlook than a six-footer who is taking 3&#8217;s.<\/p>\n<p>Statistical comps are a way to get through the mess of considering all of these variables. Part of the reason most humans fall back on racial biases is their own desire\u00a0for a shortcut. Finding a comparison for\u00a0Frank Kaminsky\u00a0among the entire population of past basketball players is impossible for most\u00a0human brains. But using racial stereotypes makes this task manageable. That\u2019s not to say that statistical comps are superior\u00a0to human-based comps. But unfortunately, the humans I\u2019ve come across that are the best at this are not in the media.<\/p>\n<p>After a hiatus of about a year, my statistical-based comps are back on the site. Let me describe what goes into them. First of all, I\u2019ve standardized all stats by season. Then for each stat used, I compare the player\u2019s deviation from average to all other players, sum the differences, and voila, the player with lowest difference is the top comp.<\/p>\n<p>Here\u2019s the weight placed on each stat used:<\/p>\n<p><strong>Height (4), Weight (2).<\/strong> Size wasn\u2019t included in the previous version of my comps, but it seems to produce a more sensible list of comparables to include it.<\/p>\n<p><strong>MPG (4).<\/strong> Playing time may not seem like something we should consider, but coaches usually know what they are doing. If a player has great stats and isn\u2019t getting court time, there are usually basketball-related reasons for that beyond the coach being a dope. So this should capture some of the things that aren\u2019t measured in a box score.<\/p>\n<p><strong>AdjOE (2), AdjDE (2), AdjTempo (1), SOSO (.5), SOSD (.5).<\/strong> It\u2019s important to consider the environment that a player is playing in. Here, I\u00a0mostly rely on team strength but there\u2019s a slight consideration for a team\u2019s pace and its opponent strength as well.<\/p>\n<p><strong>3PA% (3), 2P% (3), 3P% (1), FT Rate (1).<\/strong> For the statistical portion of the comp calculations I tried to be loyal to the numbers that are the most consistent from season to season. Thus three-point percentage gets weighed less than 3PA% and 2P%. In fact, guys who take a lot of 3&#8217;s\u00a0tend to be good three-point shooters anyway (and vice versa), so you won\u2019t see many cases of good shooters matched up with bad shooters. And if you\u2019re taking a lot of 2\u2019s and making them at a high rate, you\u2019re probably getting to the line more than the average player, so there&#8217;s less incentive\u00a0to give extra weight to free throw rate.<\/p>\n<p><strong>Usage (3).<\/strong> Offensive role is really important. I don&#8217;t have anything more to say.<\/p>\n<p><strong>Block% (2), Steal% (2).<\/strong> Defense is the hard part to figure out. I\u2019m not going to pretend this weighting scheme does a great job, but overweighting these factors isn\u2019t the answer, either.<\/p>\n<p><strong>Assist% (3), Turnover% (1).<\/strong> If you haven\u2019t figured it out, there\u2019s a lot of subjectivity in the formulation. Much of my testing was done by tinkering with weights and inputs and seeing what looked good. And here it seemed that matching on assists was more important than matching on turnovers.<\/p>\n<p><strong>OR% (1.5), DR% (1).<\/strong> Likewise, rebounding doesn\u2019t add as much to the comps as I liked. Perhaps the height\/weight\/shooting tendencies tend to overlap a lot here.<\/p>\n<p><strong>Class (\u221e).<\/strong> I should have mentioned earlier that a\u00a0player only gets matched to players in his eligiblity class. But\u00a0players are not matched to someone in the same class playing in the same season.<\/p>\n<p><strong>Race (0), Ethnicity (0), Hair Style (0). <\/strong>Sorry.<\/p>\n<p>So that is it.I reserve the right to tinker with this moving forward. And there\u2019s more data out there than just box score and measurement data that can help us bridge the athleticism gap, so at some point I\u2019d like to include that as well.<\/p>\n<p>The comps for this season will be updated on a nightly basis going forward. The top five comps are provided for each player, so hopefully there\u2019s one in that group that provides some insight. And if not, well\u00a0maybe the list will start a fun conversation.\u00a0The whole business of coming up with good comps is extremely challenging whether it&#8217;s automated or not.<\/p>\n<div class=\"speaker-mute footnotes_reference_container\"> <div class=\"footnote_container_prepare\"><p><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_label pointer\" onclick=\"footnote_expand_collapse_reference_container_1286_1();\">&#x202F;<\/span><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_collapse_button\" style=\"display: none;\" onclick=\"footnote_expand_collapse_reference_container_1286_1();\">[<a id=\"footnote_reference_container_collapse_button_1286_1\">+<\/a>]<\/span><\/p><\/div> <div id=\"footnote_references_container_1286_1\" style=\"\"><table class=\"footnotes_table footnote-reference-container\"><caption class=\"accessibility\">References<\/caption> <tbody> \r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_1286_1('footnote_plugin_tooltip_1286_1_1');\"><a id=\"footnote_plugin_reference_1286_1_1\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">^<\/span>1<\/a><\/th> <td class=\"footnote_plugin_text\">The Carlos Boozer-to-Trey Lyles comparison might be the best example of comparison-by-skin-color going wrong and it was used by both guys.<\/td><\/tr>\r\n\r\n <\/tbody> <\/table> <\/div><\/div><script type=\"text\/javascript\"> function footnote_expand_reference_container_1286_1() { jQuery('#footnote_references_container_1286_1').show(); jQuery('#footnote_reference_container_collapse_button_1286_1').text('\u2212'); } function footnote_collapse_reference_container_1286_1() { jQuery('#footnote_references_container_1286_1').hide(); jQuery('#footnote_reference_container_collapse_button_1286_1').text('+'); } function footnote_expand_collapse_reference_container_1286_1() { if (jQuery('#footnote_references_container_1286_1').is(':hidden')) { footnote_expand_reference_container_1286_1(); } else { footnote_collapse_reference_container_1286_1(); } } function footnote_moveToReference_1286_1(p_str_TargetID) { footnote_expand_reference_container_1286_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_1286_1(p_str_TargetID) { footnote_expand_reference_container_1286_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }<\/script>","protected":false},"excerpt":{"rendered":"<p>I have a love\/hate relationship with player comps. There are clearly some good things about them but some of the utility in identifying a player\u2019s group of comparables is removed by the human tendency to first\u00a0match players based on things like race, ethnicity, or even hair style. While I haven\u2019t studied it, I expect that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/posts\/1286"}],"collection":[{"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/comments?post=1286"}],"version-history":[{"count":10,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/posts\/1286\/revisions"}],"predecessor-version":[{"id":1296,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/posts\/1286\/revisions\/1296"}],"wp:attachment":[{"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/media?parent=1286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/categories?post=1286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kenpom.com\/blog\/wp-json\/wp\/v2\/tags?post=1286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}