As we near the All-Star break it’s a great time of the season to examine some hitters quality of contact. We can do that through Statcast’s Expected Slugging Percentage (xSLG), which uses a formulation of exit velocity, launch angle, and occasionally sprint speed. Looking at the expected outcome of balls in play we’re valuing the quality of contact and not solely the outcomes. Any defensive shortcomings are also removed by xSLG. That makes sense, since hitters don’t get to choose the outfield they play that day.
Here are the top 15 batters in SLG-xSLG with a minimum 250 pitches faced. These players have the best contact and poorest luck.
Our old friend Kendrys Morales has crept his way to the top of this leaderboard. His approach will have him here forever.
Justin Smoak has been a buy low target of mine for a few weeks so it was great to see him hit two home runs in one of his first games back. Similar to Kendrys, his approach drives much of this. His results tend to be better.
José Martínez tends to hit everything hard. We remain on the lookout for regular playing time or a trade to a team with an open position.
Danny Jansen has not had the year prospect watchers had hoped for. Learning to catch a major league staff takes priority for rookie catchers. Perhaps now that he’s got a few months under his belt this hard contact can turn into production.
Here are the bottom 15 batters in SLG-xSLG with a minimum 250 pitches faced. Guys with good luck but weaker contact.
We saw Fernando Tatis Jr. here the last time we checked in. He missed a large chunk of time, so it’s basically the same sample. The production is there again, so I’m unconcerned.
Rockies continue to be on this list as well. The cavernous outfields at Coors tend to result in more extra base hits than other parks. I’d ignore any being on here.
Multiple Diamondbacks popped up here earlier this season as well. Carson Kelly shows up this time. They play at elevation, like Colorado. There could be something going on here with thin air.
Jake Marisnick is usually a flash in the pan. He beats up a stretch of lefties and goes back to mediocrity. That outfield is crowded anyway.
As always. Dig into the Statcast data for yourself and play with the parameters. It’s the best way to get a firm grasp on the stat. Also remember that no stat is definitive. It’s a page in a players book telling an overall story.
Player News
Daulton Varsho picked up three hits, three RBI and a homer in a win over the Angels on Thursday.
Varsho has only played in seven games this year, but they’ve been seven good ones. He’s homered three times already, and his slugging percentage is a remarkable — and entirely unsustainable — .727 over 22 at-bats. Varsho has been a mediocre offensive player in his two seasons with the Blue Jays, but it’s possible at the age of 28 he’s having a breakout campaign. Far from a guarantee, but possible.
Taylor Ward hit a two-run homer in a loss to the Blue Jays on Thursday.
Ward, 31, gave the Angels a 2-0 lead with a two-run homer off Chris Bassitt in the first inning. He’s now gone deep in two of his last three games, and it ‘improves’ his slash to .181/.224/.391. Ward has been one of the most hot/cold players players in the sport over the last few years, so fantasy managers who can afford to make some roster moves may want to look at Ward while the going is good.
Vladimir Guerrero Jr. picked up three hits and scored twice in an 8-5 win over the Angels on Thursday.
Guerrero also drew a walk. It gives the first baseman multiple hits in back-to-back games, and it’s the third time in May that he’s reached that mark. That’s helped raise his average from .268 to .295, and the only thing fantasy managers can be disappointed with is his .432 slugging percentage. That number should continue to climb as the season unfolds, but Vladdy Jr. has had some inconsistent seasons when it comes to power production.
Chad Green picked up his first save of 2025 with a scoreless ninth against the Angels on Thursday.
Green got the save after Jeff Hoffman worked in back-to-back games — and struggled — in the first two contests against the Angels. He struck out two and looked the part while needing just nine pitches to get through the inning. Hoffman should remain the closer, but Green is on his tail if the struggles were to continue.
Chris Bassitt allowed five runs — four earned — while working six-plus innings against the Angels on Thursday while picking up a win.
Bassitt allowed three runs over the first two innings on a pair of homers, but settled down over his next four frames. He came out to work the seventh, but ended up being charged for two more runs after leaving the contest. The 36-year-old veteran has forged a 3.35 ERA and outstanding 49/8 K/BB ratio over the first quarter of the season, but this wasn’t him at his best. He’ll get the Rays next week if the rotation order stays the same for Toronto.
José Soriano allowed three runs over five innings while not factoring in the decision Thursday against the Blue Jays.
Soriano left with a 4-3 lead, but it was erased quickly after his departure. The 26-year-old was not exactly dominant in his outing with eight hits allowed and four free passes, but he did strike out six to help balance things out a smidgen. Soriano takes an even ERA of 4.00 into a scheduled start against the Padres in San Diego on Tuesday. There should be better options for that one.