Royal Scrolls: A Brilliant Debut, a Deluge of Doubles and Lugo's In-Zone Dominance
Crowning 3 deserving Royals, previewing a decimated O's rotation and diagnosing Michael Massey's disappointing start
Royal Scrolls is a recap of the week so far and a preview of the weekend ahead, along with news, nuggets and notes.
Don’t look now. I’m telling you, do not look now.
But the boys in blue are rolling.
After putting the finishing touches on a three-game sweep of Tampa Bay on Thursday afternoon, that’s nine wins in Kansas City’s (17-15) last 10 behind a Major League-leading pitching staff and a lineup that’s now stable enough to take off life support.
It’s been an eventful week and a half beyond the victories, too, with Seth Lugo gems, a dazzling debut, Salvador Perez deciding he will only accept doubles, Bobby Witt Jr. running his hit streak to 22 games, Vinnie Pasquantino giving the time of day to first pitches and plenty more.
For the first time this season, narrowing the Crowning Achievements candidates down to three was a chore. If that’s not a sign of a good week, I don’t know what is!
I’m inclined to cheat a bit here and mention Witt’s recent production. He’ll get plenty of Crowning Achievements so this week’s final spot goes to someone else, but he’s slashing .409/.500/.636 over the last seven days. He’s simply an incredible player, and the fact a 1.000+ OPS feels like a run-of-the-mill week says it all.
Crowning Achievements
The Doubles Machine
Salvador Perez must enjoy the view from second base. After all, he’s piped a league-leading seven doubles dating back to last Thursday’s doubleheader against Colorado. From that doubleheader through Wednesday against the Rays, he slashed .435/.458/.696 for a 228 wRC+. He tacked on that seventh double in a 1-for-3 effort to help finish off the sweep of Tampa Bay.
Maybe equally impressive (or more so), was the tiny 4.3% K heading into Thursday’s finale. Perez is both seeing the ball well and powering the lineup toward production.
It’s not all roses, though — he apparently felt soreness in his hip during Thursday’s win and was lifted early for Cavan Biggio. We’ll know more Friday.
Cameron Cruises in MLB Debut
Far be it from me to rain on Noah Cameron’s parade. His first start as a Big Leaguer is one of the best debuts in club history, carrying a no-no into the seventh inning with a swarm of his family and friends in attendance.
But he can be better, which is sort of a backhanded compliment after his opening performance.
No, not in the box score, where he went 6.1 innings with three strikeouts, allowing no runs, one hit and five walks. Minus the free passes (credit to the Rays for chasing just 11% of Cameron’s offerings), that’s about as good as it gets.
It’s in the details where the 25-year-old lefty can — and typically has — been a better pitcher. Tampa Bay’s chase rate pales in comparison to the 30.3% O-Swing Cameron’s induced in Omaha so far this season. Of course, there’s a massive difference between Triple-A and the Show, so it’s not surprising to see less chase from Big Leaguers.
I do, however, expect him to get hitters to fish a little more often on sliders and changeups, both of which were well-spotted (for the most part) against the Rays.
That slider, a new pitch for Cameron in 2025, served him well on Wednesday. He threw it 20 times, earned four whiffs on nine swings and generated four called strikes for a 40% CSW. It’s a pretty depth-y breaker, often blending a bit too much with the curveball both in movement and velocity. I think he can tighten it up a bit (these things take time!) and make it a nice weapon against both righties and lefties, taking some pressure off the curve to get same-handed hitters out.
Lugo is Dominating in the Strike Zone
In his two starts since our last Royal Scrolls, Seth Lugo’s pitched brilliantly. He totaled 14 innings across those outings, allowing just two runs on eight hits with 13 strikeouts and one walk.
Against Houston last Friday, Lugo reached a career-high (in games he’s started) 67% zone rate, attacking the Astros relentlessly with pitches over the plate. He had them in knots, generating a whopping 25 called strikes and dodging bats in the zone to the tune of an 81% Z-contact rate, a season best for Lugo and his fifth-best showing in his time as a Royal.
Then to cap off the sweep of the Rays, the veteran right-hander was a bit more selective with his strikes, working in the zone 53% of the time but doing so effectively. Wouldn’t you know it, Tampa Bay achieved an 81% Z-contact rate, too. Paired with 11 whiffs and 18 called strikes for a 31% CSW, that efficiency in and around the plate helped him cruise through six innings after giving up a solo homer to Yandy Diaz in the first.
Weekend Preview
So much of the cadence of a baseball calendar comes down to playing the right teams at the right time.
Kansas City is catching Baltimore (12-18) at what you have to assume is the Orioles’ low point. They’re 3-7 in their last 10. They’re tied for the most runs allowed (75) in MLB from April 20 through Thursday morning, though that’s a bit of an arbitrary starting point since that’s the day they gave up 24(!) to Cincinnati.
During that same time period, the O’s offense has scored just 24 runs itself. This is the real reason I say you have to assume it’s the low point for the club — while the pitching staff never was destined for greatness after the departure of Corbin Burnes and a long-term spring injury to Grayson Rodriguez, the lineup remains chock full of up-and-coming stars... when they’re healthy, which they aren’t right now.
They’re going to hit at some point, but it’s up to Michael Wacha, Kris Bubic and Michael Lorenzen to try and hold them down for a few more days.
Pitching Probables
6:05 p.m. Friday: Michael Wacha vs. RHP Dean Kremer
KC’s seen each of its two opening opponents once already in Kremer and Saturday’s scheduled starter, Tomoyuki Sugano. In his second outing of 2025, Kremer lasted just 4.1 innings against the Royals, allowing three runs (two earned) while managing one punchout. He got knocked around quite a bit, giving up eight hits on a 90.5 MPH average exit velocity.
Since then, the ERA continued ballooning to its current 7.04 form, including getting lit up by the Diamondbacks, Nationals and Tigers.
The problem for Kremer is he lacks an out pitch. He fills up the zone well enough, gets a bit of chase on the four-seamer, cutter and curveball, and avoids free passes. But a 15.6% whiff and 14.3% K are tough to survive with in the modern game.
I expect the Royals to repeat their aggressive game plan from April 4 when they swung at 46 of Kremer’s 88 offerings, whiffing just five times en route to a 91% Z-contact.
6:15 p.m. Saturday: Kris Bubic vs. RHP Tomoyuki Sugano
Sugano made it through 5.1 frames on April 5 against KC, giving up just one run on five hits with four strikeouts and a walk. He mixed his pitches beautifully that afternoon, as he’s gone on to do in his first month in MLB, tossing 17 splitters, cutters and sweepers; 14 curveballs; 13 four-seam fastballs; and 11 sinkers. That led to quite a bit of chase from the Royals (38% O-Swing) to generate a tidy 10 whiffs on 42 swings and 30% CSW.
Like Kremer, the 35-year-old Sugano limits walks but struggles to return whiffs and strikeouts with just a 12.6% K. Still, he’s managed a 3.00 ERA, but a 5.14 FIP looms in the background.
With a little more film and a month of data on the former NPB star, Kansas City should show better pitch recognition here, particularly understanding when Sugano likes to drop his splitter off the table (even/ahead in the count) versus leaning on the fastball variations (first pitch/behind in the count).
12:35 p.m. Sunday: Michael Lorenzen vs. RHP Kyle Gibson
Gibson’s made one underwhelming appearance since being recalled to replace fellow veteran Charlie Morton in the starting rotation. He lasted 3.1 innings Tuesday against the Yankees, getting bombed for five homers and nine runs in the process before giving way to Morton himself in long relief.
The 37-year-old right-hander has never been a particularly imposing arm with a 4.55 career ERA, but he’s done one thing well in his 12 Big League seasons: eat innings. As the years go by, he’s relied less and less on his low-90s four-seamer to lean into his sinker/sweeper from a three-quarters slot.
Dating back to 2024, Gibson pretty consistently lays his fastballs in for strikes on the first pitch before turning to breakers and changeups once he’s ahead 0-1. I’ve been a broken record when it comes to KC’s passiveness on first pitches — Gibson is a prime target to hunt fastballs early in counts.
Orioles Notes
Veteran right-hander Charlie Morton is shifting to the bullpen (for now). He was in line to start Friday’s series opener but pitched in relief for the first time Tuesday night, allowing one unearned run in 2.1 innings against the Yankees. Kremer and Sugano will each move up a day instead.
Third baseman Jordan Westburg and catcher Gary Sanchez each hit the 10-day IL Monday morning and will miss the weekend series.
Baltimore claimed former Royals LHP Walter Pennington off waivers after he was designated for assignment by Texas, which acquired Pennington in last summer’s swap with Kansas City for Lorenzen.
Data Mining
Unearthing always fun, sometimes meaningful Royals stats.
This week, rather than a horrifying list of random numbers that I find interesting and you don’t, it’s time we look under the hood on one of the Royals largest underperformers to this point: Michael Massey. I posted this under the Backdoor Changeups banner yesterday, so you might’ve already seen it, but thought it was worth attaching part of it to the newsletter, too.
He’s slashing .188/.206/219 as of Thursday morning. He’s hit precisely zero home runs. A few doubles are his only extra-base hits. Massey’s walked twice in 108 plate appearances.
Worse yet, as of Wednesday afternoon, his average exit velocity (86.7 MPH) and hard-hit rate (29.6%) are career-worsts by a long mile. There’s really not much in his statistical profile that points to bad luck or portends positive regression on the way.
It doesn’t appear to be a process issue, either. His swing rate is down a couple percentage points and the whiff rate is actually lower than his career average. He’s chasing less (33.2%) than his career norm but his chase contact (75.4%, 7th most among qualified hitters) is high, so maybe he’s just making too much contact with bad pitches?
That could be part of the problem — Massey’s average exit velocity on pitches out of the zone is 82.7 MPH, but that represents just a quarter of his balls in play. On pitches in the zone, he’s averaging only 88 MPH EV, still shy of his career average on all balls in play, in zone or out.
Let’s take it one step further. Prior to this season, Massey managed a 92.2 MPH average EV and 47.5% hard-hit rate on pitches in the “heart” zone, per Statcast. In 2025, that number is 88.3 MPH with a truly difficult-to-understand 28.2% hard-hit rate.
To help establish a baseline, MLB hitters on “heart” zone pitches are producing a 93 MPH average EV and 51.2% hard-hit rate this season. Effectively, Massey was in line with league average in previous years on those hittable offerings.
Which brings me to my theory, and one that I don’t love floating without evidence, but I’m running out of answers… I wonder if he’s hurt.
We know Massey’s history with back issues, with Anne Rogers of MLB.com going so far as to describe them as “chronic” when he hit the injured list last July.
I want to be clear, this is pure speculation on my part. Massey’s played in a large majority of Kansas City’s games to this point, usually at second base — you’d think if he was hurt (or at least if the team knew he was) he’d be getting more time at DH or on the pine.
That said, there are a few things that point toward some external factor (like an injury) sapping his power.
First, the average exit velocities we’ve already been over. Second, Massey’s maximum exit velocity, which is just 106 MPH this season. That’s well short of his highs in 2023 (110.3) and 2024 (110).
While we’re just now into May, he’s already approaching the thresholds at which maximum EV is typically established; 80% of hitters reach their 98% EV threshold by their 100th batted ball event, according to research published by FanGraphs in 2020. Massey is at 81 batted balls as of Friday morning.
Finally, the bat speed. Massey’s never had a particularly lethal bat speed, averaging 70.8 MPH and 70.9 MPH the last two seasons, just below MLB average. In 2025, he’s down to 70.1 MPH.
On top of the averages, he’s reached a peak bat speed of 77 MPH through the season’s first month. Last year, he reached 77 MPH or better, topping out at 82 MPH, on 10 separate occasions. Per Jon Anderson’s MLB Data Warehouse, Massey’s 75th-percentile bat speed this season is 71.8 MPH; a year ago, it was 73 MPH.
We know Massey was injured at times in 2024. He had the IL stints to prove it. This year? His Statcast metrics and bat tracking data are down, even from a year ago when we know he was hurt.
Of course, I hope Massey is fine. I hope this first month is simply a blip on the radar, but it’s getting harder to ignore as the data piles up.
I'm not in the locker room, but for the first month of the season, it just feels like this team has been pressing. And that's perfectly understandable. Coming off a breakthrough season with all that positive momentum, there was a lot of pressure to keep it rolling and build on it. Getting off to a fast start felt like a priority to this team— of course every team wants get off to a good start, but I'm talking something extra here— and when it didn't happen, the team doubled down on that and pressed even more, determined not to let it get out of hand. Predictably, this made matters even worse, especially on the hitting side, which had less of a proven pedigree than the rotation overall.
I'm not saying their issues at the plate are as simple as lightening up— when it comes to big league hitting, nothing is ever that simple— but I do think that's been part of it. There's still a lot of progress that needs to be made in season ***stares intently at Michael Massey*** but it's starting to feel like Vinnie is finding his groove, Salvy's picked it up, and Waters has injected some new blood into the order since MJ's demotion. Hopefully, this winning streak is helping them all relax a bit, which will only improve their play moving forward. I mean, the offense can't be this bad all season long, can it? As you and many others have pointed out, when it comes to a lot of these guys, they may not be perennial All-Stars, but there is statistical evidence they're better than this.
Anyway, I've been interrupted several times while typing this (the risks of reading a baseball newsletter at work!) and I feel like I'm either rambling or losing my thread, so I'll wrap it up. As fans, I feel like we've been pressing to start the season as well, and at least for me, it took some of the joy away from watching the first few weeks of the season. During this winning streak, however, it feels like baseball is fun again. Hopefully, players and fans can now take a deep breath, relax a little, and take on the rest of season in a looser frame of mind. Because, after all, baseball should be fun.
I didn't know/see this:
"Baltimore claimed former Royals LHP Walter Pennington off waivers after he was designated for assignment by Texas, which acquired Pennington in last summer’s swap with Kansas City for Lorenzen."
I remember when folks were whining about how we gave up (another) reliever that should have been on the major league roster. Another great trade by JJ...to say nothing about how he has re-shaped the back-end of our bullpen in the last 12 months!