To Affinity and Beyond – Reviewing the 2020 Sleepers and Busts

Statcast's tool proved decent at finding sleepers and better for busts.

Back in the preseason, in an attempt to find hitters that were possibly being overvalued or undervalued by their Average Draft Position (ADP), I stumbled upon a handy new Statcast tool called “Player Similarity” or “Affinity”. This tool takes a player’s overall batted ball profile, including barrels and five other different kinds of contact, adds in strikeouts and walks, and then uses an algorithm to find the hitters with the most similar profile on a 0.00 – 1.00 scale. To judge the standouts, I found players who with top comps that were unexpectedly favorable or unfavorable, while attempting to account for contextual factors such as age and speed that are not considered by this system. I made predictions for the Sleepers as well as the Busts according to the feature, and while the predictions were far from perfect, they sure seemed more spot-on than my actual draft day picks. Here I review them both!




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

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

Cron had a weird season, or more accurately, a weird 52 plate appearances until a knee injury took him out of action. Most people will assume it was a disaster because of his unsightly .190 AVG, but he actually posted a career-best OBP (.348) thanks to a 17% walk rate roughly triple of his 6% mark in 2019. He also had an elite and career-best 19% Barrel/BBE and a .548 SLG%, and, as Ariel Cohen pointed out, was the 12th-best first baseman by WAR as of August 10th when he went down. It’s only a half loss, but looking at the duds from a few other names here, perhaps this is a volatile player type. But with the still-obvious power upside, he could provide big power numbers in 2021 if given the opportunity.


Verdict: MISS – 0-for-1


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)

Yaz was definitely one the best late-round sleepers of 2020, providing excellent run production and on-base-production to support his impressive power.  His overall line was .297/.400/.568 with 39 R, 35 RBI, and two SB in just 192 AB, which led to him ranking #40 on the Razzball Player Rater. That’s above any of his comps on this list, despite all but one ranking ahead of him in 2019. People often fade first-year breakouts from older players like Yaz, but his 2020 indicates we should look at those comps before throwing cold water on them.


Verdict: HIT – 1-for-2


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)

Well, the only thing here that made Kendrick look at all like his comps is the fact that all but one of them had pretty lousy 2020 seasons too. Kendrick though is the only one who is 37 and even had creaky bones and joints in his stellar 2019. This year he wasn’t awful, hitting .275/.320/.385 with two HR in 91 ABs when not achy, but if you decided to jump ADP to shoot the moon for him, you ended up in the vacuum of replacement-level space. Keep in mind Statcast affinity doesn’t factor in aging curves, so be wary with older, injury-prone, and part-time players.


Verdict: MISS – 1-for-3


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

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

Tellez crushed his ADP, just not in the way I expected.  Tellez finished the season with a .283/.346/.540 line with eight HR, 20 R, and 23 RBI in 113 ABs before a season-ending knee injury, but still came in at #242 on the player rater. Like some of the comps on this list, he managed to attain a more reasonable K rate for his power, though nobody expected him to cut it all the way down to 16%. He did lose some of his barrel rate, but certainly improved his offense overall and could be in for an even bigger 2021. Success!


Verdict: HIT – 2-for-4


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)

It’s hard to call this one a “failure” when the expectations for someone with a 548 ADP are so low, but he managed to disappoint anyway. He hit just .230/.331/.410 in 122 ABs despite little change in his K/BB ratio. It seems the big issue was his barrel rate and power fell off a cliff, with a 3% barrel rate despite a still-decent 39 hard-hit%. I think this is mostly small sample size stuff, but his chance to earn regular PT is likely running out. Miss.


Verdict: MISS – 2-for-5


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)

Oh hey, this was a sudden hit, but then he turned to…dung.  DJ made a big splash before fading fast, hitting seven homers in 88 ABs but coming with a .193/.355/.455 line. If you were in an OBP league, he likely was a great waiver wire pickup, though hopefully, you moved on quickly so you weren’t stuck holding the bag. While he only ranked at #591 in batting average leagues, he ranked at #231 in OBP formats, so while it’s debatable, I’ll call it close but no candy cigar. His Steamer projection for 2021 of a .245/.339/.447 with 17 HR and five SB in 387 ABs suggests he remains a deep league sleeper. But I’ll say this… in OBP formats, I would be 4-for-6 with how well Cron and Stewart did in limited time.


Verdict: MISS – 2-for-6




Alex Bregman, 3B, Houston Astros (ADP: 13)

Top Comps: Justin Smoak (.81), Matt Joyce (.72), Asdrubal Cabrera (.70), José Ramírez (.68)

Okay well, it looks like bust-hunting got off to a good start! Bregman hit a scant .242/.350/.451 with 6 HR in 153 BA, which does certainly look like pre-2020 Smoak. Statcast has been generally bearish on him for his reliance on non-barrel FB% and that didn’t change in 2020 with a .400 xSLG. He came in at #382 on the Razzball player rater, but most drafters aren’t concerned by the mediocre small sample. I am enough that I’m staying away at his current ADP though.


Verdict: HIT – 1-for-1


Kris Bryant, 3B, Chicago Cubs (ADP: 45)

Top Comps: Mark Canha (.84), Paul DeJong (.83), Carson Kelly (.82), Jesús Aguilar (.82)

Two for two! I was big on the Bryant anti-hype train, citing that his expected numbers suggested his strong 2019 was a mirage. He ended the season hitting a pathetic .203/.296/.351 with four HR in an injury-riddled 131 AB. All of the listed comps actually outproduced him according to the Razzball Player rater, where he ranked a pitiful 662. Granted, even I didn’t expect him to be this bad, but I don’t see a rebound as this was the third consecutive year he posted a sub-35 hard-hit%. This is a good reason why to look past name value in the draft, and I’ll maintain that position for 2021.


Verdict: HIT – 2-for-2


Bo Bichette, SS, Toronto Blue Jays (ADP: 66)

Top Comps: Bryan Reynolds (.86), Tyler Naquin (.82), Ian Desmond (.82), Nick Senzel (.82)

Well, that’s what I get for trying to throw ice water on a red-hot phenom. Statcast also tends to underrate speedy players, and I should’ve weighed that more heavily. Bichette hit a studly .301/.328/.512 with five HR and four SB in 123 AB while missing a big chunk of the season with a leg injury. And of course, the algorithm should’ve known that he’d grow in his age-22 season, improving his 9% barrel rate to an excellent 13% mark. Lesson learned: Be careful applying Affinity to small samples of high-upside youngsters, especially speedy ones. Okay, that’s actually three lessons… Does that make me a genie?


Verdict: MISS – 2-for-3


Yoan Moncada, 3B, Chicago White Sox (ADP: 68)

Top Comps: Steve Wilkerson (.84), Jonathan Villar (.82), Grayson Greiner (.80), Steven Duggar (.80)

It seemed I just hated third baseman last year, huh? First Bregman, then Bryant, now Yawncada. My third swipe at the hot corner, the toolsy 25-year-old hit just .225/.320/.385 with six HR in 200 AB (231 PA) with zero SB. He ranked #316 on the Razzball Player Rater largely due to his walks and playing time volume, but likely did more damage to fantasy teams that kept him in the lineup. Then again, I don’t feel right taking credit for this one, as he clearly was affected by COVID as his bat speed tanked to just 33 hard-hit%, though oddly his performance was worst at the season’s end. It wasn’t just bad luck as Statcast expected even worse with a .208 xBA and .338 xSLG (both just 10th percentile). He’s still young and sure to improve from this, but I also don’t think he’ll have another year like 2019.


Verdict: HIT – 3-for-4


Tim Anderson, SS, Chicago White Sox (ADP: 107)

Top Comps: Amed Rosario (.84), Dawel Lugo (.81), Gerardo Parra (.79), Harold Castro (.79)

Remember what I said about the Affinity system not accounting for speed? Yeah, see above. Few other players can rock a .383 BABIP and have that be considered “normal” because the year before it was .399. He didn’t exactly have the makings of pure hitting success with a 5% barrel rate, a 21% K rate and a tiny 3% BB rate in 2019, but he did manage to double his power with an above-average 10% barrel rate in 2020. While the increase in power improved his post-2020 Affinity comps (Bohm, Longoria, and Hosmer as the top 3), I can’t help but be concerned by his decline in-zone contact, which fell from 90% in 2019 to just a 79% Z-Contact in 2020, and age 28 is when O-Contact% declines. In short, I still don’t get how he does it, but he does it nevertheless.


Verdict: MISS – 3-for-5


Yuli Gurriel, 1B, Houston Astros (ADP: 129)

Top Comps: Josh Reddick (.88), Luis Arraez (.81), Wilmer Flores (.79), Sean Murphy (.75)

Here’s another hit with a former third baseman! Yuli got off to a decent start but it all fell apart, finishing with an uncharacteristic .232/.274/.384 with six HR and zero SB  in 211 AB. That came in at #337 on the Razzball Player Rater, which made him a definite bust at his inflated ADP. Perhaps this was just regression from vastly outperforming his peripherals in 2019, which hardly changed with his usual low barrel rate, medium hard-hit rate, high FB%, low K% and low BB%. Being 36 likely didn’t help either, or being an Astro (boo!), but it goes to show why you should be skeptical of late-career power surges, especially when the barrel rate doesn’t support it.


Verdict: HIT – 4-for-6


Bryan Reynolds, OF, Pittsburgh Pirates (ADP: 179)

Top Comps: Nick Senzel (.89), Bo Bichette (.86), Sam Travis (.83), Jonathan Schoop (.80)

Reynolds was a popular sleeper heading into 2020, but I was skeptical trusting in a supposed batting average asset with a K% over 20. But I didn’t expect him to hit just .189/.275/.357  with seven HR and one SB in 185 AB. The good news was his barrel rate jumped from 7% to 10%, but the bad news was, well, everything else. He came in at #468 on the player rater, and did a decent Jonathan Schoop impression. It’s a shame he doesn’t run more with his plus speed, because without great power, plate discipline or contact ability, he needs it to be useful in 2021.


Verdict: HIT – 5-for-7


Michael Chavis, 2B/3B, Boston Red Sox (ADP: 235)

Top Comps:  Tyler Flowers (.89), Derek Fisher (.81), Jung-Ho Kang (.81), Welington Castillo (.79)

I had to look past my Red Sox homerism (easier to do after their unforgivable Mookie trade) to cast aspersions on Chavis (ANOTHER third baseman!), but it paid off. Chavis hit a miserable .212/.259/.377 line with five HR and three SB over 146 AB. which ranked at #458 on the Razzball player rater. Unlike the other players on this list, Chavis actually had a decent barrel rate (11%) in 2019, the only problem was literally every other part of his game. I will almost always bet against someone with a K% over 30 and a BB% under 10. Although the Sox likely have nothing to lose in 2021, I don’t think the 25-year-old will get much more rope if he doesn’t Chave his strikeout rate down soon.

Verdict: HIT – 6-for-8


Overall: 8-for-14


It’s probably not surprising that this was more successful at finding busts (6-for-8) than sleepers (2-for-6), since generally speaking, it’s much easier for a player to fail than to succeed, especially when you factor in injuries. But this does show that this nifty algorithm can be a useful heuristic when trying to find players being overvalued or undervalued by ADP. But I also may have underestimated the extent to which it may be less useful at evaluating speedy players. Overall, the results indicate this tool may prove useful again in assessing 2021 values, although the smaller 2020 sample size could lead to more volatility. But hey, everything will be volatile, so it can at least help serve as a guide!

Featured Image by Alyssa Buckter –

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