Three Royals Hitters Worth Paying Attention To (Based On June Splits)

I am currently attending an educational conference, so I don’t have a lot of time to blog or post on social media. However, with today’s off day and a new homestand beginning on Tuesday (starting with the Rays), I wanted to share some thoughts on the Royals’ hitting performance over the past month.

In June, Kansas City’s hitters continue to be mediocre, which explains why they are 38-40 heading into this homestand at Kauffman Stadium.

According to Fangraphs, they rank 24th in baseball with a 91 wRC+. Surprisingly, that is ahead of the Cleveland Guardians (73 wRC+), whom the Royals are chasing for a Wild Card spot in the American League. Cleveland fans have been just as miserable on social media about their offense recently as Royals fans.

If the Royals are going to punch a ticket to the postseason, they will need a strong finish in June to help build some momentum in July and until the All-Star Break (July 15th).

In this post, I wanted to examine three Royals hitters who will be key to watch during that time. These three are all having different performances in June, but they will be key for the Royals as they finish the first half of the 2025 season.

Strong performances over the next few weeks could help this team not only catch the Guardians in the Wild Card race but perhaps help them build some momentum for the second half to put some pressure on the Detroit Tigers (even if they may ultimately fall short in the end).

Conversely, weak performances could result in their roster spots being in jeopardy, whether through a trade or Designated for Assignment (DFA). It doesn’t necessarily have to be this year, either. They could be moved this offseason if they aren’t able to turn things around in a significant way by the All-Star Break.

Hence, let’s look at those three hitters that Royals fans should be paying attention to closely for the next few weeks.


Jonathan India (.233 average, 75 wRC+, 0.33 BB/K in 77 PA in June)

India had a rough road trip, highlighted by one amazing performance and five mediocre ones.

On June 20th, India had three hits, which included his fourth home run of the season. After that big game against the Padres, there was some hope that India was on his way to finally turning things around at the plate in his first year in Kansas City.

Unfortunately, he went 0-for-8 for the remainder of the series in San Diego and 4-for-27 for the entire road trip (including the Padres and Rangers). Not only did that result in a .148 average, but he also had a .148 OBP, a .296 SLG, and 9 wRC+ over that six-game span.

With a 75 wRC+ in 77 plate appearances in June and an 81 wRC+ in 302 plate appearances this season, the outlook isn’t looking too rosy for India, who also sports a -0.6 fWAR, according to Fangraphs (primarily due to inconsistent defense). Additionally, his Statcast percentiles, as tracked via TJ Stats, have been mediocre, particularly in the batted ball and hard-hit areas of his profile.

On a plate discipline end, India looks fine. He doesn’t chase (92nd percentile), he doesn’t whiff a lot (79th percentile), he doesn’t strike out much (85th percentile), and he pulls the ball at an above-average rate (66th percentile). However, there’s been no punch on his batted balls this year. That is evident in his barrel rate (24th percentile), hard-hit rate (19th percentile), and average EV (24th percentile).

I initially thought India was a smart move for the Royals this offseason. The Royals needed an upgrade at leadoff, and Brady Singer was expendable with only a couple of years left of team control (it was unlikely the Royals were going to sign him to an extension).

Unfortunately, it’s been a challenging year overall for India, and that has not endeared him to Royals fans, especially those who believe Maikel Garcia should return to the top of the batting order (though he’s been excellent in the three hole this month with a 143 wRC+).

Unless something clicks in a significant way soon for him at the plate, he’ll likely not only lose his grasp of the leadoff spot, but he could find himself out of Kansas City by either the Trade Deadline or the offseason. He has one year left of club control, and the Royals may have to either trade or non-tender him this winter.


Drew Waters (.200 average, 30 wRC+, 0.31 BB/K in 45 PA in June)

Things seemed to be on the up for the 26-year-old outfielder after he hit .282 in May. While the average was good, that belied a decline at the plate for Waters in wRC+, as it went from 115 in April to 82 in May.

The decline has only continued for Waters in June.

In 45 plate appearances, he’s only hitting .200 with a 30 wRC+. He has once again failed to display any power this month, as evidenced by his .200 SLG, which is 141 points lower than his SLG in May. Waters is also 26.5% of the time, a 4.9% increase from the previous month.

To make matters worse, the Statcast percentiles are relatively poor for Waters, a trend that has been consistent throughout his tenure with the Royals in 2025, even when his batting average was decent.

It’s not just that Waters whiffs (18th percentile), chases (15th percentile), and strikes out a lot (19th percentile). He also doesn’t walk (8th percentile), doesn’t barrel the ball (8th percentile), and rarely hits the ball hard (13th percentile). The only things he does well, via his Statcast sliders, are launching the ball (71st percentile LA Sweet-Spot%), and swinging at balls in the strike zone (97% Z-Swing%).

I am not sure those are exactly badges of honor, offensively, either.

It also doesn’t help that Waters isn’t providing much else in other areas. Waters is a subpar defender and barely above-average baserunner, according to Fangraphs. His baserunning was a source of frustration on Sunday, as he was thrown out by Jackson Merrill at the plate on a Freddy Fermin double.

The Royals were justified in giving Waters one more shot in the Majors, especially after his hot start in Omaha this year. That said, he’s proving to be what he was before, which is a mediocre outfielder at the MLB level.

His 77 wRC+ and -0.1 fWAR in 61 games and 198 plate appearances are more than enough proof of that (in addition to his career 87 wRC+ and 1.2 fWAR).


Salvador Perez (.280 average, 132 wRC+, 0.27 BB/K in 80 PA in June)

Salvy has gotten plenty of grief from Royals fans this season, and that makes sense considering his .230 average, 80 wRC+, and -0.2 fWAR in 308 plate appearances this season. That is a significant regression from his All-Star campaign in 2024.

However, some positive trends are happening in June for Salvy.

In 80 PA, he’s not only hitting .280 with a 132 wRC+, but the power has come back a bit. In 19 games, he has five home runs, which is one more than his March/April and May months combined. He also had a big two-run home run on Sunday, which gave the Royals an early lead (unfortunately, the bullpen couldn’t hold the lead and give Seth Lugo the win).

I’ve long been optimistic about Salvy turning it around this year, because the Statcast percentiles were encouraging. This month, it seems like the gap between the wOBA and xwOBA has begun to shrink a bit (though it has a long way to go, still).

In terms of the hard-hit and batted-ball metrics, Salvy is showing all the right stuff. His Max EV is in the 86th percentile, and his 90th percentile EV is in the 73rd percentile. His barrel rate is in the 86th percentile, and his LA Sweet-Spot% is in the 63rd percentile. His Hard-Hit rate (53rd percentile) and average EV (54th percentile) are a bit mediocre, and his chase and walk rates are abysmal (both 1st percentile). That said, his positive Statcast percentiles are so good that they outweigh the negativity of his poor categories, especially for a catcher.

If Salvy continues this upward trend, then I think he can finish with a solid year. I am talking about 20+ home runs and an OPS in the .725 to .740 range, which would be a victory considering how the year started for him. The power is good enough to carry him to those levels by the end of 2025.

However, if he slides in July, the Royals may start to have that tough conversation about his time in Kansas City coming to an end. Salvy has a club option with the Royals for 2026, and it’s unlikely that the Royals utilize that option if he’s under 20 home runs and putting up an OPS under .670 by season’s end.

The Royals need Salvy to finish the season strong to help them get back into the postseason (and not make it a “one and done” appearance). Furthermore, Salvy also has to finish strong at the plate this year if he wants to keep his spot in Kansas City for another season or two. A 20+ HR season could mean a possible two-year extension, with retirement being expected after the 2027 season.

We will see how Salvy and the Royals respond in the coming month.

By then, we will have an idea of what the future of the Royals (and Salvy) will look like after the All-Star Break.

Photo Credit: Kyle Leibel – The Sporting Tribune

Leave a Reply