Andy Pages (LAD): 3-5, 3 HR, 3 R, 6 RBI.
Rock of Pages
Like his namesake Broadway musical, Andy Pages produced bombs last night. Unlike the movie, however, Pages’ bombs were worth the price of admission, as he provided enough offense by himself for the Dodgers to beat the Astros 12-2 in Houston. Pages put the ball in the air in all 5 of his at-bats, with three leaving the park. In the third inning, Pages crushed a middle-in sinker, Lance McCullers Jr., Jr.’s 70th pitch of the night, over the Crawford boxes in left field. It wasn’t a cheap Houston homer, as Pages hit the wall above the billboards above the train and the ball would have left all 30 parks. Pages drove in Kyle Tucker and Freddie Freeman on this homer and chased McCullers after 2.2 innings and 6 earned runs. Things didn’t go much better for Jason Alexander in relief. In the 5th inning, Pages came to the plate with Max Muncy on first and smoked a 109 MPH line drive to left for a two-run homer. This came off another sinker that was elevated on the inside corner of the plate to Pages, nearly identical to the pitch he first took deep. Once the game was fully out of reach, the Astros put recently-recalled backup catcher César Salazar in to mop up the last few outs. Pages welcomed him back to the bigs by skying another long fly ball to left for his third homer of the game.
Pages has been excellent this year, with last night’s game improving his line to .336/.376/.569. Part of his excellence is driven by his .384 BABIP. While he’s unlikely to sustain such an elevated mark, Pages has traded some fly balls for line drives and grounders this year. Overall, his launch angles have dropped each year he’s been in the majors, declining from 20.8 degrees in 2024 to 16.9 in 2025 and 14.7 this year. As a result, he’s barreling the ball less frequently, despite swinging a bit harder with a slightly shorter swing this year. Indeed, his average exit velos have improved, and he’s posting the best hard hit percentage of his career. All of his changes suggest a hitter who is a little less all-or-nothing in his approach, much more similar to 2025 than his debut season in 2024. Rest-of-season projections tend to agree, giving him averages between .255 and .270 going forward as well as 20 homers and 10 steals. Adding those to what he’s already banked, and you get a final line that looks a lot like his 2025 season with an average in the .270s, close to 30 home runs, and 15 or so steals. That’s a top 15ish outfielder, but it might be worth exploring if anyone in your league thinks this is a massive breakout and will give you something better. There’s no urgency to sell high, though, as the likely outcome is still great.
Let’s see how the rest of the hitters did Wednesday.
CJ Abrams (WSN): 3-5, 2 2B, HR, 2 R, 5 RBI.
The Nationals and Twins have traded huge offensive nights in the first two games of their series. Abrams led the way as the Nats hung 5 on Bailey Ober, then added 10 more runs off the Twins bullpen, including a 7-run 8th inning. Abrams doubled in the 4th and 6th innings before capping his night with a grand slam in the 8th. Abrams has dramatically improved his walk rate while simultaneously cutting a few points off his strikeout rate. He’s chasing a couple percentage points more than last year and has slightly decreased his zone swing rate as well. The big difference is that pitchers are in the zone much less, dropping from a 51.7% zone rate in 2025 to 44.6% thus far. It remains to be seen whether that will be a lasting change, but I wouldn’t attribute the changes to Abrams’ development at the plate.
Marcus Semien (NYM): 4-5, 2B, HR, 3 R, 2 RBI.
Semien’s bat woke up in Coors last night, with Semien posting his first game with multiple extra-base hits on the season. Semien capped his night with his second homer of the season off a middle-up fastball from Zach Agnos. It’s been rough going for Semien as a Met so far. Even after last night’s outburst, his season line is at .231/.279/.323. His swing is a bit longer, his bat speed is a bit slower, and various fielding metrics think he’s now closer to an average second baseman. Small sample caveats aside, this looks like the continuation of age-related decline, perhaps hastened by the sheer number of games he played throughout his peak. I’m not buying this as the first sign of life. Sadly, Semien probably belongs on your waiver wire.
Ian Happ (CHC): 3-5, HR, 2 R, 2 RBI, SB.
Happ and the Cubs beat the Reds 7-6 on a walk-off walk by Michael Busch in the 10th, following two intentional walks earlier in the inning. This game was full of wild stat lines, including Elly De La Cruz going 0-4 with 3 RBI. Happ extended his on-base streak to 27 games in the first inning, golfing a low and away pitch that caught too much of the plate to left field for a two run homer. He added singles in the 4th and 6th, as well as a 105 MPH fly out in the 8th that would have left 19 parks. Happ’s plate discipline has declined a bit, with his chase rate up 4 percentage points and his zone swing rate declining 3 percentage points. He’s also making less contact on pitches regardless of whether they’re in the zone. The changes have led to his highest strikeout rate since 2018, although he’s seen an improvement in his walk rate due to pitchers throwing him more balls. I’d be inclined to take the under on Happ’s average going forward.
TJ Rumfield (COL): 3-4, HR, R, RBI, BB.
Rumfield pulled an up-and-in splitter from Tobias Myers to right for his fourth homer of the year. Unfortunately, the Rockies were already down 8-0 on the night, as their four-run 6th inning only added a little spice to the game. Rumfield added singles in the second and 9th innings, as well as a walk in the in the 7th. Rumfield’s having a nice season, with a .274 average and 5 home runs while playing first and DHing for the Rockies. The use case for Rumfield is at home vs righties. His OPS in Coors is .892 vs .676 on the road and .889 vs righties as opposed to .423 vs lefties. Give him a righty at home and he spikes to a 1.127 OPS. It’s up to you whether you can spare a roster spot for a guy who rakes in 40% of his games and shouldn’t be in your lineup for the other 60%.
James Wood (WSN): 2-4, 2 R, 2 RBI, BB, 2 SB.
Wood was also part of the Nationals offensive explosion last night, reaching base 3 times in 5 plate appearances – and striking out twice. Wood has accentuated his three true outcomes approach this year, with a massive 57% of his plate appearances ending in either a walk, strikeout, or home run. One of the areas he’s improved on is elevating the ball, improving his launch angles from 2.5 degrees in 2024 to 6.3 degrees in 2025 and 9.4 degrees thus far this year. Oh, and he also stole two bases off Ober and Victor Caratini. This version of Wood is like Kyle Schwarber plus speed – and Baseball Savant thinks Wood’s been getting cheated a bit, with his xBA up at .265.
Corey Seager (TEX): 2-5, HR, R, 2 RBI.
Seager turned on a 95 MPH fastball from Will Warren in the first, pulling it down the line for a solo home run. His next two balls in play were grounders at 97 and 94 MPH, resulting in a groundout and single before he struck out in his last two at-bats. Seager’s had a rough season so far by results. Last night’s performance improved his line to .214/.314/.420 despite a 15% barrel rate. Seager’s lost 0.7 MPH on his swing thus far this season, leading to his lowest average exit velocity since 2022. His average exit velocity is still a strong 91.1 MPH, though, and Seager still features his customarily elite swing decisions, swinging at over 80% of strikes and less than 32% of balls. I’d be buying a batting average resurgence over the summer and a decline in his K rate closer to his normal 19% level.
Shohei Ohtani (LAD): 2-4, 2B, 2 R, RBI, BB, SB.
Despite McCullers ultimately struggling against the Dodgers, he actually got Ohtani to strike out to lead off the game. Ohtani doubled in the third and singled in the fifth, both hard-hit balls sandwiched around a walk in the fourth inning. He stole second after his fifth inning single, just reminding us that he can do whatever he wants, whenever he wants. There’s nothing really actionable about his performance, but we should still marvel at just how insanely good he is while he’s at his peak prowess.
Rafael Devers (SFG): 1-3, HR, R, RBI.
Devers’ solo homer in the 5th inning was the only run the struggling Giants offense posted against Matt Waldron and three San Diego relievers. Devers muscled a 91 MPH fastball on the outside edge to left field for his homer, and he needed every inch of distance as it landed in the front row of the stands. It’s been a rough go of it so far for Devers with the Giants. His bat speed and exit velos are down and he’s chasing more than his peak years, although less than he did at the very start of his career. Devers’ struggles can be mostly attributed to a massive spike in his strikeout rate to 29.8%. After his past two years running strikeout rates in the mid-20s, we probably should never expect peak 18-19% strikeout rate Devers to return. Devers has particularly struggled making contact in the zone, with career rates around 80% declining to 74.9% in 2024, and a consistent 73.5% over the past 13 months. No one expected this contract to age well, but it’s looking increasingly likely that it’s already well underwater
Taylor Ward (BAL): 0-2, 3 R, 3 BB.
Ward has had an odd season so far with poor batted ball quality buoyed by excellent plate discipline. We saw more of the latter and none of the former, as Ward didn’t put a ball in play all night. I don’t think I would have ever predicted that Ward would post a career high OPS off the back of a .434 OBP, but he’s been strangely effective at the plate. I don’t know how this continues, though. At some point, if he’s not punishing mistakes, pitchers have to throw him strikes, right? If not, this will be the weirdest three WAR season in my recent memory.
Featured image by Aaron Polcare (@abeardoesart on Bluesky and X)
