Otto: Better, Faster, Stronger

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.
| 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 | ||||
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.
| 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 |
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.
| 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.
| 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 |
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.
How have I missed all the games where teams score 800 runs per game? Is this cricket now?
Oughts-era Yankee-Red Sox games only felt like they took multiple days to play.
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
This. The guy is a star.