To Affinity and Beyond: Finding Sleepers with Statcast’s New Toy

Ben Pernick explores Statcast's Player Similarity feature and finds some intriguing fantasy sleepers.

I wanted to dedicate this article to one of my favorite underutilized features found on Statcast player pages, mysterious in its ways, yet elegant in its simplicity. That feature is Statcast’s Player Similarity tool, also called Affinity. This nifty feature uses an algorithm to compare a player’s overall batting profile with the closest matches from around the league. It’s at least as effective as the OkCupid Match % system and far less painful, at least speaking from personal experience.

If you don’t want to do the much easier thing and go to Statcast to see for yourself, I’ll attempt to explain how it works here. When you go to any player’s “Player Similarity”, a visual shows that player’s attributes using eight differently colored circles of varying size (larger means the player has a relatively higher rate) for a player’s barrel rate, five other types of contact, and strikeout and walk rates. It also measures the closeness of the correlation to each player using a .01 – .99 correlation, with the top matches circling your chosen player like an incomplete idea web. This is a handy heuristic if you don’t want to get too granular looking at individual parts of a player’s performance, and want to see how a player’s overall hitting profile compares to other hitters. However, if you DO want to get more granular, you can visually compare your player’s different circle sizes to those of each comp (displayed only when you hover your cursor over that player) to deduce the cause for correlation.

Now, this is just a tool and not a statistic, and it likely isn’t groundbreaking like K-BB, Barrels, or more recently, CSW%. There has yet to be any study that I’m aware of assessing the validity of Player Similarity comps as a valid or reliable tool. However, if you play around with it, you should find that for the most part, the comparisons do mostly seem logical. For example, Kyle Schwarber’s top comparison is Mitch Garver (.91), another slugger who makes up for a high strikeout rate and average walk rate with a high barrel rate and fly ball-heavy profile. Two other top comps include Pete Alonso (.85) and Matt Olson (.81). As for comps for Mike Trout… there are none. His closest comp, falling below the generally recognized significant correlation of .7, is Yonder Alonso (.64). You do you, Mr. Trout.

Now, of course, there are quite a few caveats. This is descriptive and in no way predictive, using only the numbers from the given season. Also, similar to many Statcast metrics, this score eschews considerations such as sample size/platoon split, previous season’s performance, in-season development or decline, and impact of injuries. So don’t overreact if a stud who played through an injury has some bad comps, or if a lefty-mashing part-timer matches with stars. It also doesn’t account for defense, baserunning speed, and Coors. So this underrates the fantasy value (but also real-life value) of players like Trea Turner, Trevor Story, or a hypothetically healthy Kevin Kiermaier, and mistakenly thinks Albert Pujols has more value than a statue being wheeled around the bases by a monkey on a bicycle. Still, once you take those into account and play around with the feature, you find some very interestingly intriguing sleeper profiles and potential busts that are… extriguing? Until Merriam-Webster makes that a word, let’s just focus on the sleepers today.


Marcell Ozuna, OF, Atlanta Braves (ADP: 99)

Top Comps: Freddie Freeman (.89), JD Martinez (.86), Austin Meadows (.84), Christian Walker (.83), Mitch Moreland (.81)

Ozuna has been one of my favorite 2020 sleepers, and this further cements my opinion that he may be a rare sleeper that remains one even after being labeled as such. First of all, the fact that his top two comps are two of the league’s top high-average sluggers is a great sign, since it dispels the notion that Ozuna won’t be special if his 2019 stolen base spike regresses. While he’s moving to a less hitter-friendly park than Coors Lite, this suggests he had bad luck despite the bandbox. Now he’ll have an elite supporting cast and easy 100+ RBI potential behind Acuna, Albies, and Freeman. The rest of the list isn’t so bad either, especially since Meadows (ADP 45) himself is a high-end sleeper, and the other two were platoon-mashing first baseman. I’ll be bold and say he’s a player to pounce on after pick 60 and before pick 75 to make sure you get him. But lest that Moreland comp give you pause, know that the next two comps on the list were George Springer (.81) and Juan Soto (.81), so don’t get cute with ADP.


C.J. Cron, 1B, Detroit Tigers (ADP: 245)

Top Comps: Ian Happ (.79), Christian Yelich (.78), Josh Bell (.76), Pablo Sandoval (.76), Jose Abreu (.75)

I’ve been shouting Cron’s name from the rooftops all offseason, so it may be stale by now. Then again, his Affinity score was what initially piqued my excitement. Even though it’s an uneven list of comps, it’s certainly encouraging that he matches with a player who is elite even with stolen bases removed, as well as Bell and Abreu, who are both top-100 players. Cron has quietly improved barrels every year while cutting down his strikeout rate, and if that trend were to continue he could be a .270, 35+ HR fantasy monster. He still has a problematic platoon split, and his rates could regress as his new, much weaker midwestern club has no reason to shield him from lefties. However, that still should at least be canceled out by counting stats. Especially given their ages, it would not be outrageous to see Cron out-earn Abreu in 2020.


Mike Yastrzemski, OF, San Francisco Giants (ADP: 294)

Top Comps: Paul Goldschmidt (.87), Hunter Dozier (.85), Kole Calhoun (.84), Lourdes Gurriel Jr. (.83), Austin Meadows (.81)

The grandson of the far more legendary Yaz, he’s defied odds just by landing a full-time role at age 29. Spring reports expected him to bat leadoff, which would lead to higher playing time volume and more home runs, although the role is an odd fit. If he could hit like his comps, he’d likely be a top-250, if not 200, player, but the big question is whether or not it was a fluke. Seeing as he was mediocre for years before his 2019 breakout, I’m not surprised that the projections all bake regression heavily into his 2020 projection. But if his baseball bloodlines win out, he could be a great source of late-round power and runs with an average that keeps you afloat.


Howie Kendrick, 1B/2B, Washington Nationals (ADP: 312)

Top Comps: Ozzie Albies (.81), Rafael Devers (.73), Ketel Marte (.71), Freddie Freeman (.69), JD Martinez (.68)

Hungry Howie is my proof that baseball is ageist… well, kinda. Despite the smaller sample size, his production was Nelson Cruz-esque. And yeah, that can seem fluky at age 36, but his exit velocity (92 mph) and xBA .336 were better than Mike Trout, so perhaps his age-35 breakout is legit. And he actually underperformed power-wise, with his studly .572 SLG% dwarfed by an insane .622 xSLG, so perhaps 25+ HR is possible even over a partial season. Health is the greatest concern, but perhaps with the shorter season, as well as the possibility of a National League DH in 2020, he may actually rack up nearly as many at bats as his league mates. Not only would the extra lineup slot remove excuses to sit him for Eric Thames, playing DH would allow Howie to reduce wear and tear on his achy body. If that happens, he can easily be a top 5 second baseman, which is why I’m seriously considering punting second base and reaching for him after pick 260. As much as I love Ozuna, with the potential shakeup of the 2020 season, Kendrick may be my favorite sleeper of the lot.


Rowdy Tellez, 1B, Toronto Blue Jays (ADP: 491)

Top Comps: Keston Hiura (.86), Christian Walker (.85), Eugenio Suarez (.83), Carlos Correa (.80), Lourdes Gurriel Jr. (.80), Franmil Reyes (.80)

Remember what I said about slow bat-only first baseman being overvalued? Yeah, consider that, but still, look at these comps! At pick 491! One could argue this is even more impressive than Cron’s since every player on it derives most of their value from their bat, and 4 of them have Top-150 ADP. Not only that, but Tellez’s correlates more closely, with all five of these comps (.86 for Hiura down to .80 for Gurriel Jr.) having a higher score than Cron’s top comp (Happ at .79). Playing time is the biggest question, as the Travis Shaw signing left him looking from the outside in, which perhaps was a sign the team wanted him to work on his high strikeout rates. But seeing as he’s 25, there’s little benefit to letting his high-upside power bat be wasted in the minors for long. He could out-bop his whole team if given an opportunity, and I’m optimistic he’ll get one.


Ji-Man Choi, 1B, Tampa Bay Rays (ADP: 548)

Top Comps: Max Muncy (.84), Yasmani Grandal (.84), Jordan Luplow (.83), Kole Calhoun (.82), Juan Soto (.81)

Okay, we know Choi is this low on the list primarily since he’s seen as a placeholder for Nate Lowe, right? Maybe not. Choi had a ho-hum 2019 season, but most folks haven’t noticed he underperformed his Statcast metrics, as his .459 SLG% pales in comparison to a .496 xSLG, and he also posted a top-10% walk rate. Assuming Choi gets the nod early, he’ll be hitting cleanup, and while not flashy, I doubt he’ll relinquish it. Nearly every hitter in his top comps hit 30+ HR, with Choi profiling similarly to them in age and speed. Who was Lowe’s top 2019 comp? JaCoby Jones. I have trouble picking my favorite late-game 1B between Tellez and Choi, but may lean Choi as Tellez is the bird in the bush but Choi is the bird, er, ray, in the hand. And know this: Choi was Juan Soto’s #2 player comp. Choimanji!


DJ Stewart, OF, Baltimore Orioles (ADP: 590)

Top Comps: Adam Jones (.87), Nick Ahmed (.86), Jason Heyward (.86), Manny Machado (.84), Corey Seager (.84), Steven Piscotty (.84)

I have to go a little deeper on the comps just because this is crazy. The next three comps are Trea Turner (.83), Evan Longoria (.82), and Xander Bogaerts (.82). Look, I didn’t expect to get this deep either. I also hardly knew who Stewart was, and I don’t get how this happened. Let’s try to figure it out. First, DJ had a small sample size of just 147 PA, similar to some other players who benefited from less playing time like Ian Happ. Also, while these comps aren’t world-beating, considering that Stewart is expected to earn regular playing time this year (if Ryan Mountcastle’s impending arrival doesn’t jeopardize that), this list of several viable regulars and a few high-end ones is certainly notable. It’s odd that with a lousy .xBA of .227 and xSLG of .391, this happened when he could’ve easily matched with the Christin Stewarts and Grayson Greiners of the baseball world, if not backups… And don’t forget that Stewart also was a 2015 first-round pick, and has enough speed to steal a handful of bags. It’s still nothing flashy, but perhaps shouldn’t be overlooked as an endgame OF option as the 26-year-old could be a poor man’s Mike Yastrzemski… Don’t all jump at once. Still, given the lack of other options, I’m intrigued enough to roll the dice on this after pick 500.


Honorable Mentions

Josh Donaldson (3B, Minnesota Twins), Luke Voit (1B, New York Yankees), Dansby Swanson (SS, Atlanta Braves), Kurt Suzuki (C, Washington Nationals), Mike Ford (1B, New York Yankees)

Featured Image by Alyssa Buckter – alyssabuckter.com

Ben Pernick

I've been writing for Pitcher List since the beginning, and have been a fantasy baseball addict now for 20 years. I grew up as a Red Sox fan in New York, but now I declare allegiance only to my fantasy teams.

Leave a Reply

Your email address will not be published. Required fields are marked *

Account / Login