Fans knew exactly where the 2018 Miami Marlins were headed before the season even started: last place in the NL East. But along the way, we were treated to moments of heartache, ecstasy and confusion that made the experience unique.

The Marlins managed to win 63 games. I’ve plucked 63 stats—ranging from pitcher winzzzzzz to expected production—that summarize the summer. (Every bullet point below counts toward the total of 63.)

The Fish Stripes Twitter account shares many additional nuggets of information about the club, so follow us there if you don’t already.

Baseball-Reference, Baseball Savant and FanGraphs were critical to this research. Highly recommend each of those tools for any hardcore fan.

Team

Franchise single-season record for fewest stolen bases (45) and tied for the fewest triples (24).

Franchise single-season record for most intentional walks allowed (73).

“Official” home attendance was barely half of 2017 total, down from 1,583,014 to 811,104 (previous ownership admitted to inflating their attendance figures).

On multiple occasions, the Marlins and Double-A Jacksonville Jumbo Shrimp held games on the same dates, with the Shrimp reporting larger crowds.

Bi-polar pitching staff:

Marlins posted their 6th-best home ERA in franchise history and their WORST road ERA in franchise history. In the same season. https://t.co/w1xYViuzdC — Fish Stripes (@fishstripes) October 1, 2018

Did not sweep a series in 2018 (52 series played). Went 0-7 in their opportunities to sweep (May 17, June 7, June 14, June 17, July 1, July 22, September 18).

Longest winning streak was just four games; longest losing streak was six games.

Did not have more than two home runs during any game in Miami. All seven such games occurred on the road.

Only MLB team without a walk-off home run.

Probability of a postseason berth peaked at 0.2 percent (April 2-4).

Traded stars Giancarlo Stanton, Christian Yelich, Marcell Ozuna and Dee Gordon combined for 14.4 fWAR, providing more value than all Marlins batters (9.8 fWAR).

Pitched to a 6.02 earned run average in the ninth inning, worst by any team since 2004.

Marlins pitched 769 total innings at home, setting a new franchise record.

A constant struggle at the plate: the Marlins had a team wRC+ below 100 in every month of the season.

Some of the biggest culprits featured here:

Lowest Slugging Percentage in a Season, Marlins History (min. 100 PA) Name SLG% Season Name SLG% Season Rob Natal .167 1996 Chris Coghlan .183 2012 Magneuris Sierra .211 2018 Yadiel Rivera .216 2018 JB Shuck .231 2018

23 rookie-eligible players received playing time. Only the 1998 and 2006 Fish had more.

Due to trades, injuries and managerial decisions, no batters ages 30 or older had a qualified season.

They used 1,355 defensive shifts. That’s a dramatic change in philosophy from the 2016 season, when the Marlins shifted just 97 times.

Their batters led Major League Baseball with a 47.8 percent ground ball rate.

On the rare occasions when they loaded the bases, the Marlins didn’t take advantage: .212/.233/.311, 2 HR in 146 PA.

From July 27 to August 7, starting pitchers combined for 26 1⁄ 3 consecutive scoreless innings at home, the longest streak in franchise history.

Individual

Brian Anderson set Marlins rookie records for times hit by pitch (16 HBP) and double plays grounded into (18 GIDP).

Anderson joined Jeff Conine (2004) as the only Marlins to start 50-plus games at both an infield and outfield position in the same season.

Kyle Barraclough allowed a .126 batting average against in the first half. Lowest BAA for a pitcher in either half of a single season in Marlins history (min. 100 batters faced).

For the Twitter crowd: Justin Bour became the only Marlins player to draw exactly 69 walks in a season. Miguel Rojas struck out 69 times, which had been done several times before.

Hope for Lewis Brinson!

Rookie season comparison



Lewis Brinson: .199 BA in 382 AB

Mike Schmidt: .196 BA in 367 AB — Fish Stripes (@fishstripes) October 1, 2018

Brinson’s weighted on-base average (.248 wOBA) was 49 points below his .297 xwOBA. No regular MLB center fielder was more “unlucky” in that respect.

Starlin Castro became the first Marlins second baseman to lead the team in total bases since Dan Uggla (299 TB in 2010).

For the first time since 2012, Castro did not have negative Defensive Runs Saved (0 DRS).

Wei-Yin Chen owned MLB’s fifth-best home earned run average this season (1.62 ERA) among pitchers with 50-plus home innings.

Chen also had by far MLB’s worst road earn run average at 9.27 (min. 50 IP).

Booted from starting rotation consideration and demoted to Triple-A New Orleans, Adam Conley came back to lead the Marlins pitching staff in Win Probability Added (1.06 WPA).

Odrisamer Despaigne showed us what superhuman athleticism really is:

Odrisamer Despaigne is the first pitcher in Marlins history to start a game on 0 days' rest.



Super-human conditioning pic.twitter.com/kAsN03PRCp — Fish Stripes (@fishstripes) March 31, 2018

Derek Dietrich took 21 hit by pitches. It’s the third straight season that he’s had 18+ HBP. No other Marlin has ever done it once.

Jarlin García failed to record a strikeout in September. His eight appearances were the most in Marlins history for a strikeout-less month.

Tayron Guerrero’s 98.8 mph average fastball velocity ranked third among all MLB pitchers.

On the opposite end of the spectrum...

58.3 mph! Slowest pitch by the Marlins all season (maybe slowest ever??!) pic.twitter.com/eTDpdboLIo — Fish Stripes (@fishstripes) September 15, 2018

Highly regarded pitching prospect Jorge Guzman went winless (0-9) in 21 starts for High-A Jupiter.

White Sox second baseman Yoan Moncada was the only professional baseball player in the world—major league or minor league—who struck out more often than Marlins top prospect Monte Harrison (215 K).

Between June 11 and August 5, left-handed prospect Dylan Lee did not surrender a run (received two promotions during the streak).

Related Marlins grooming LHP Dylan Lee into next great reliever

Don Mattingly has served 29 MLB seasons as a player, coach or manager. The Marlins’ 63-98 record was the worst of any team he’s ever been on.

Cameron Maybin, who didn’t get a steady starting job until July and got traded on July 31, led the Marlins with eight stolen bases.

Nick Neidert ranked first among Marlins minor leaguers in innings pitched (152.2 IP), games started (26 GS) and strikeouts (154 K). Robert Dugger finished second to him in each of those categories. Both arrived in November’s Dee Gordon trade.

Peter O’Brien spent just spent three months in the Marlins minor league system, yet led all affiliates with 23 home runs.

Once he reached the majors, O’Brien led the club with a .868 OPS.

Dillon Peters wasn’t fooling anybody, allowing the highest average exit velocity (92.3 mph) among MLB pitchers with at least 50 batted balls against.

J.T. Realmuto is the only Marlins player to ever hit 20-plus home runs in a season where his main defensive position was catcher.

Realmuto is the only catcher to lead the team in runs batted in.

Realmuto led MLB qualified catchers with a 1.90-second average pop time on his “max effort” throws to second base.

Playing for Short Season A Batavia, first baseman Sean Reynolds (17 HR) singlehandedly out-homered the Marlins’ rookie-level affiliates in the Dominican Summer League (16 HR) and Gulf Coast League (14 HR).

Trevor Richards is a beast:

It took José Fernández 99.1 IP to record his first 100 career strikeouts.



It took Trevor Richards only 97.0 IP.#JustGettinStarted — Fish Stripes (@fishstripes) August 29, 2018

The only qualified major leaguer with fewer doubles than Miguel Rojas (13) was Baltimore’s Chris Davis (12).

Magneuris Sierra’s 30.3 average Sprint Speed is the highest for a Marlins player in the Statcast era (since 2015).

Sierra recorded more infield hits (15) than outfield hits (13).

Caleb Smith pitched a gem against the Brewers on April 22, becoming the only Marlin to ever rack up 10-plus strikeouts, allow fewer than three hits...and lose.

Drew Steckenrider against his hometown Atlanta Braves: 5.2 IP, 17.47 ERA, 7 BB, 4 K. He worked 59 innings with a stellar 2.59 earned run average against all other teams combined.

Dan Straily had a .350 on-base percentage as a batter while allowing a .323 OBP on the mound. That’s some Max Scherzer shit.

Straily was ejected while facing the Giants on June 19. Last time a Marlins starting pitcher got tossed from a game was...(h/t Doug Kern)

Stepping into the batter’s box against Junichi Tazawa (.329/.414/.635 slash line) made opponents feel like Mookie Betts (.346/.438/.640). The Marlins released him in late May.

José Ureña tied for the second-lowest Game Score by a Marlins Opening Day starter (28)...

But Ureña’s overall durability and consistency puts him in good company:

Back-to-back qualified seasons with a sub-4.00 ERA, Marlins history



Pat Rapp, 1994-1995

Kevin Brown, 1996-1997

Dontrelle Willis, 2005-2006

Josh Johnson, 2009-2010

Aníbal Sánchez, 2010-2011

JOSÉ UREÑA, 2017-2018 — Fish Stripes (@fishstripes) September 29, 2018