Otto: Better, Faster, Stronger

Jeff Hanisch-Imagn Images

When we think of the Miami Marlins throughout their history, offense doesn’t frequently come to mind. This franchise’s various owners haven’t traditionally put many resources behind the club, and what resources do come in often go to pitching. We remember the rotations led by Dontrelle Willis and Josh Beckett, or Kevin Brown and Livan Hernandez, or José Fernández.

Giancarlo Stanton’s 59-homer MVP campaign stands out in the memory partially because of how loanDepot Park blunted even his prodigious pop. (And also because Stanton got salary dumped to the Yankees before he could defend his NL home run crown.)

Here’s a wild stat: After this past weekend, the Marlins have a team wRC+ of 100. That’s their third-best wRC+ in history; they have only bested that mark in 2007 and 2017, with a joint franchise record of… 101.

The whole truth is slightly less provocative than that stat; wRC+ covers the entire league, and the Marlins played most of their history in the league without the DH. Still, they haven’t outscored the average NL team in a decade.

That brand, such as it is, has come under threat this season, as the Marlins have quietly done some good major league hitter development. Behold, every Marlin who’s batted 200 or more times this season.

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won't bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it.
The Miami Marlins’ Hitting Development
Year 2025 2026
Name PA AVG OBP SLG wRC+ PA AVG OBP SLG wRC+ wRC+ Change
Esteury Ruiz 23 .190 .261 .333 67 223 .225 .339 .390 105 38
Owen Caissie 27 .192 .222 .346 56 330 .220 .288 .412 89 33
Otto Lopez 594 .246 .305 .368 86 635 .309 .350 .445 116 30
Griffin Conine 86 .253 .314 .418 103 280 .260 .361 .479 132 29
Javier Sanoja 342 .243 .287 .396 86 439 .291 .331 .442 110 24
Liam Hicks 390 .247 .346 .346 99 409 .282 .363 .432 119 21
Xavier Edwards 619 .283 .343 .353 96 578 .282 .362 .376 105 9
Agustín Ramírez 585 .231 .287 .413 91 214 .225 .318 .348 85 -6
Connor Norby 337 .251 .300 .389 90 233 .205 .313 .325 81 -9
Heriberto Hernández 294 .266 .347 .438 118 450 .226 .311 .451 107 -11
Kyle Stowers 457 .288 .368 .544 149 472 .242 .331 .460 114 -35
Jakob Marsee 234 .292 .363 .478 133 572 .221 .339 .336 92 -41
Joe Mack Minor Leagues 305 .235 .282 .406 87 n/a
Purple = Minors
Red = With Cubs
Blue = With Dodgers
Yellow = No longer with Miami

Now, it’s not all sunshine, rainbows, and hard-hit doubles in the alley. Jakob Marsee turns out not to be the second coming of Lorenzo Cain after all. Owen Caissie has been better than he was last year, which is the definition of damning with faint praise. Surely when you trade a mid-rotation starter for a young corner bat, you want more than a .288 OBP and a 37.3% strikeout rate. Those are Caissie’s real numbers, by the way, not a hyperbolic misremembering of Adam Duvall’s late career.

Kyle Stowers, last year’s big breakout star, has struggled with recurring hamstring injuries, but even so, a 114 wRC+ is solid enough, even for a corner outfielder. Esteury Ruiz’s .225/.339/.390 batting line looks like a major fluke (he’s currently outperforming his xSLG by 89 points), but just getting Ruiz to the point where he can luck into a 105 wRC+ is a feat of hitting coaching worthy of a Nobel Prize. The Dodgers, A’s, and Brewers — three organizations that know their way around player development — couldn’t accomplish anything of the sort with him.

I’ve already crowed about Xavier Edwards and Liam Hicks, and the fact that the Marlins sold high on Hicks at the deadline shows that they have the confidence to cash in on their successes and develop the next guy.

But I want to talk about Otto Lopez. This is going under the radar a little because Pete Crow-Armstrong has lapped the field in the NL MVP race, but Lopez is currently third among NL position players in WAR. Lopez averaged 2.4 WAR in his previous two full major league seasons; this year he’s at 5.4 and counting.

Lopez’s contributions appear all over the field, not just in the batter’s box. He’s been a plus-10 defender at shortstop, by FRV. He’s also raised his career high in stolen bases from 20 to 30 (so far). In terms of defense and baserunning, Lopez has gained a little less than a win on the 2025 version of himself. So where did the rest of that breakout season come from?

Well, Lopez has added 63 points to his batting average since last season, so let’s start with that. Batting average is a bit of an embarrassing concept for those of us who know what B.L.E.P.H. is, but there’s nothing wrong with being a contact hitter. Especially if you’re a plus defensive shortstop with 30 stolen bases, like Lopez. This year, that’s good enough for a top-five spot on a hypothetical MVP ballot.

And insofar as Lopez is just contact hitter, he’s been among the best in the league this year.

Otto Lopez Is Doing Contact Hitter Stuff
Stat H 1B AVG K% Contact% Z-Contact%
Figure 180 130 .309 12.6% 83.0% 92.7%
Rank* 1st 3rd 3rd 13th 31st 13th
*Out of 137 qualified hitters
Through 9/13

How did he achieve this breakthrough? Was there a change in approach or mechanics? Well, yes, but not this year.

Lopez has always had a deep crouch at the plate, but as a rookie he held his hands and bat away from his body, like so.

In 2025, he dropped his bat to his shoulder, where he’d tap it while waiting for the pitcher to enter his windup. There’s a fair bit of extracurricular activity in Lopez’s setup and swing, between the shoulder tap and the leg kick, but that’s all for the sake of timing up a pretty short swing.

This year, he’s standing a little closer to the plate and a little farther up in the box. That’s helped him meet the ball out front more, which has led to him squaring up the ball better, but I only know about this from Baseball Savant’s bat tracking data. Whatever changes Lopez has made are close to imperceptible to the naked eye.

It was in 2025, not 2026, that Lopez made his biggest cut in strikeout rate and brought his Z-Contact% up into the 90s for the first time. That was also the year in which he added a mile per hour to his average bat speed and increased his career high in homers from six to 15. (Lopez has gone yard 10 times in 2026.) He also started hitting the ball in the air more in his sophomore season; that’s not necessarily what you want for a fast guy with little power, but his groundball-to-fly ball ratio was more than 2-to-1 as a rookie. Even a contact hitter has to drive the ball occasionally.

Otto Lopez Made the Leap Last Year
Season GB/FB ISO Barrel% HardHit% xwOBA EV90 BatSpd FastSw% Contact% O-Swing%
2024 2.11 .107 5.1% 38.7% .317 104.3 70.7 14.0% 80.1% 32.0%
2025 1.42 .121 7.1% 38.3% .330 104.6 71.7 22.0% 83.0% 29.5%
2026 1.54 .136 6.0% 40.5% .327 104.9 71.8 23.7% 83.0% 31.2%

Why didn’t this show up in last year’s stats? Fair question. And just as Lopez is a throwback hitter, the answer involves a throwback stat: BABIP.

Otto on Balls in Play by Season
Year AVG OBP SLG wOBA xwOBA BABIP
2024 .332 .330 .463 .341 .359 .318
2025 .290 .288 .433 .308 .353 .264
2026 .359 .351 .516 .370 .347 .338
Source: Baseball Savant

A .338 BABIP is higher than average, but remember: This is a fast spray hitter with a groundball swing. Lopez is supposed to have a high BABIP. It’s actually a little nuts that his numbers on balls in play were so bad last year to begin with.

How nuts? Last year, Lopez underperformed his xwOBA by 35 points. Out of 251 players on Baseball Savant’s leaderboard, that was the ninth-biggest negative discrepancy in the whole league. This year, he’s swung the other way, and is outperforming his xwOBA by 18 points.

There’s probably some regression coming next year, but not enough to bring Lopez back to where he was in 2025. He is 52nd among qualified hitters in wOBA, between Brandon Lowe and Corbin Carroll on the leaderboard. In xwOBA, he’s 70th, which places him between Stowers and Bryson Stott. And like Stott, Lopez gets huge mileage out of his excellent defense and baserunning.

I wouldn’t bet the farm on Lopez getting downballot MVP votes every year going forward, but if that happens for him this season, he’ll have earned it. It’s exactly one year overdue.





Michael is a writer at FanGraphs. Previously, he was a staff writer at The Ringer and D1Baseball, and his work has appeared at Grantland, Baseball Prospectus, The Atlantic, ESPN.com, and various ill-remembered Phillies blogs. Follow him on Twitter, if you must, @MichaelBaumann.

4 Comments
Oldest
Newest Most Voted
BenjaminMember since 2019
9 hours ago

How have I missed all the games where teams score 800 runs per game? Is this cricket now?

Fun-Hating DorkMember since 2019
6 hours ago
Reply to  Benjamin

Oughts-era Yankee-Red Sox games only felt like they took multiple days to play.

Michael ConteMember since 2020
9 hours ago

Thank you for writing about this! All year long when I’ve seen Lopez I couldn’t believe more people weren’t talking about him

brunoMember since 2025
5 hours ago
Reply to  Michael Conte

This. The guy is a star.