Author Archive

San Francisco’s 40-Man Cleanup Will Be a Giant Pain

Robert Edwards-Imagn Images

As I was scrolling The Website Formerly Known As Twitter on Sunday, perusing for articles to read and news to get caught up on, I stopped dead in my tracks at this post from Giants reporter Alex Pavlovic:

If you’re a normal baseball fan, that’s not the most interesting piece of news Pavlovic reported around that same time; that would, of course, be the bombshell that Rafael Devers was undergoing core muscle surgery, ending his season and making him that 16th player on the 60-day. The lefty slugger finished his season scorching hot before it came to its abrupt end. He ultimately finished with 3.4 WAR and 37 home runs, just one off his career high set back in 2021. Had he remained healthy and clubbed three more, he would’ve become the first Giants player since Barry Bonds in 2004 to reach the 40-homer threshold.

But from my purview as a roster freak, my wheels immediately started turning and thinking about how the Giants were going to clean up their 40-man roster at the start of the offseason. Our RosterResource data goes back to 2021, and for only one other stretch has a team had 16 players on the 60-day IL: The 2021 Rangers from August 27-30. But that late-August timing afforded the Rangers some in-season wiggle room to work through the 40-man shuffle, a luxury the Giants won’t have. Nobody on San Francisco’s 60-day is expected back this season, the 60-day IL can’t be used again until the onset of spring training, and the Giants have just one pending free agent in JT Brubaker. Needless to say, Buster Posey, Zack Minasian, and the rest of the team’s decision makers have their work ahead of them, with 55 names to sort through all at once and no intermediate moves in the offing.

I began where I tend to start my rabbit hole of research: tabbing back and forth from RosterResource and a spreadsheet of categorizing players into various buckets. I settled on 24 players for the initial 40-man who should be in no danger of getting cut. This includes all the usual suspects and big contracts, plus some nice mini-breakouts representing silver linings of a lost season.

I’ll Eat 16 Pounds of Garlic Fries if They’re Not on the 40-Man
Name Position Current Status
Drew Gilbert OF MLB roster
Jung Hoo Lee OF MLB roster
Bryce Eldridge DH/1B MLB roster
Jonah Cox OF/2B MLB roster
Turner Hill OF MLB roster
Logan Webb SP MLB roster
Landen Roupp SP MLB roster
Blade Tidwell SP MLB roster
Trent Harris RP MLB roster
Dylan Smith RP MLB roster
Matt Wilkinson SP/RP MLB roster
Yunior Marte SP/RP MLB roster
Marcelo Mayer INF 10-day IL
Willy Adames SS 10-day IL
Rafael Devers 1B/DH 60-day IL
Matt Chapman 3B 60-day IL
Casey Schmitt INF/OF 60-day IL
Hayden Birdsong SP 60-day IL
Adrian Houser SP/RP 60-day IL
Trevor McDonald SP 60-day IL
Carson Whisenhunt SP 60-day IL
Randy Rodríguez RP 60-day IL
Keaton Winn RP 60-day IL
Miguel Mendez SP Double-A

A special shoutout is in order for Trent Harris, who may singlehandedly be keeping the rainbow curveball alive. The bullpen hasn’t had a set closer all season (Caleb Kilian, currently on the Phillies’ IL, leads San Francisco with eight saves), but Harris and 2025 All-Star Rodríguez (on the IL all year after undergoing Tommy John surgery) could make for an interesting one-two punch next year. Hey, there has to be something positive about the future of the club.

That leaves 31 players for 16 spots, which for many teams would be a gargantuan task. Imagine if the Rays or Dodgers had to sort through that many names with how deep their rosters always are. But not for the Giants, because there is, shall we say… a lot of slop here.

On the 40-Man Bubble
Name Position Current Status Contract Status
Harrison Bader OF 60-day IL 1 yr, $10M remaining
Rowan Wick RP 60-day IL $800k club option for 2027
Sam Hentges RP 15-Day IL Arbitration (FA after 2027)
Andrew Knizner C MLB roster Arbitration (FA after 2027)
Jason Foley RP MLB roster Arbitration (FA after 2028)
Ryan Walker RP Triple-A Arbitration (FA after 2029)
José Buttó RP 60-day IL Arbitration (FA after 2030)
Scott Bandura OF MLB roster Pre-Arbitration
Shay Whitcomb INF/OF MLB roster Pre-Arbitration
Drew Cavanaugh C MLB roster Pre-Arbitration
Christian Koss INF MLB roster Pre-Arbitration
Osleivis Basabe INF MLB roster Pre-Arbitration
Nate Furman INF MLB roster Pre-Arbitration
Brett Harris INF MLB roster Pre-Arbitration
Grant McCray OF MLB roster Pre-Arbitration
Anthony Molina SP/RP MLB roster Pre-Arbitration
Cesar Perdomo SP/RP MLB roster Pre-Arbitration
Joel Kuhnel RP MLB roster Pre-Arbitration
Reiver Sanmartin RP MLB roster Pre-Arbitration
Carson Seymour SP/RP MLB roster Pre-Arbitration
Philip Abner RP MLB roster Pre-Arbitration
Victor Bericoto OF 10-day IL Pre-Arbitration
Jesus Rodriguez UTIL 60-day IL Pre-Arbitration
Daniel Susac C 60-day IL Pre-Arbitration
Matt Gage RP 60-day IL Pre-Arbitration
Joel Peguero RP 60-day IL Pre-Arbitration
Zach Morgan C Triple-A Pre-Arbitration
Duncan Davitt SP/RP Triple-A Pre-Arbitration
Seth Lonsway SP/RP Triple-A Pre-Arbitration
Braxton Roxby RP Triple-A Pre-Arbitration
Tristan Beck RP Triple-A Pre-Arbitration

The most puzzling situation here is Bader, whom the Giants signed to a two-year, $20.5 million contract this past offseason. While it’s smaller scale than the contracts of Adames and Chapman, which have been a mixed bag so far, the Bader deal is probably the single biggest disaster of Posey’s tenure. He’s gotten into just 30 games this year, been placed on the IL twice, and the Giants are currently suspending payment to the 32-year-old following a scooter accident, which he suffered while already on the injured list, that ruled out a 2026 return. When able to play, he’s been 51% worse than league average by wRC+ and merely scratch in center field by FRV. Whether the Giants have to pay Bader or not, it’s hard to envision a significant role for him on the roster in 2027, the final year of his contract, especially with the emergences of Schmitt, Gilbert, Cox, and Hill.

Where the Giants go with the rest is anyone’s guess, though some of these players’ jobs are certainly safer than others. For example, they traded Patrick Bailey in part to accommodate Susac, meaning his spot is likely secured. However, I’ll be the first to admit there are plenty of easy cuts here, even if there isn’t consensus on who those easy cuts are. When I teased I was writing this article, a few Giants fans came into my mentions with their ostensible obvious cuts, but their cut lists didn’t even match each other’s, and the Giants’ own list is impossible to nail perfectly without being inside the room with them. (Buster, if you’re reading this, call me.)

The above lists, which feature a combined 55 names, don’t even account for the players who need to be added to the 40-man roster to protect them from the Rule 5 draft. At a minimum, the Giants will add Henry Lalane and Bo Davidson, but the club has other Rule-5 eligible 40-man candidates, including Marty Gair, Luis De La Torre, Joe Whitman, Reggie Crawford, and Sabin Ceballos. The deadline to protect players is a bit later, though (it was November 18 this past offseason), affording the front office more time to shuffle the furniture and make further cuts.

Most of these roster cuts won’t garner major headlines when they happen, but they are decisions that teams don’t make lightly because they could end up biting them later on. This initial roster culling won’t determine the overall trajectory of the 2027 Giants, whether they are a good or bad team, but these moves could make the difference of a few wins — which could be crucial if they are to have any hope of claiming a wild card berth next season.


Waiving Goodbye: Explaining the August 31 Not-Trade Deadline

Lon Horwedel-Imagn Images

Just so you know, the trade deadline was August 3. Tarik Skubal is on the Dodgers. Adley Rutschman is on the Red Sox. José Soriano is on the Blue Jays. Did you hear about this? Anyway, that was the last major opportunity for teams to revamp their 26-man rosters for a playoff push, but it was not the final chance to add players who can appear in October games. Enter the August 31 playoff eligibility deadline, which Ken Rosenthal just brought into the news with his report that the Reds put Eugenio Suárez and TJ Friedl on waivers. (Both have since cleared, will remain with the Reds, and can’t be placed on waivers again.)

The waiver trade deadline — the mechanism by which Justin Verlander joined the Astros from the Tigers in 2017 — is long gone, and in its absence over the last several years, the process has been streamlined. The waiver process for all players works the same as it does for a player who is designated for assignment, with two exceptions. The first is that, while on waivers, a non-DFA’d player can continue to play; both he and the public might not even know he’s on waivers. Only reporting like Rosenthal’s is guaranteed to give us knowledge without a claim.

The second wrinkle is that if a waived player goes unclaimed, he simply stays on the active roster, unlike players who are DFA’d. He also stays on the active roster during the waiver process, as Suárez and Friedl did. Everything else is identical: waiver priority order is worst-to-first by record at the time of the waiver placement, and waiver claims are irrevocable. No compensation may change hands besides the $50,000 waiver fee that every claiming team pays on every waiver claim throughout the season, and the entire remainder of the player’s contract is the responsibility of his new team. Players may be waived after August 31, but any player who joins a new organization in September is not eligible for postseason play, making Monday a meaningful deadline. Read the rest of this entry »


Updated Splits Leaderboards and Splits Tools Are Here!

If you’ve visited our splits leaderboards or the player page splits or splits tool in the last few days, you’ve probably noticed a change. And you’d be right to have noticed! Our development team just deployed our upgraded splits, and I’ve been tasked with running through the changes. Here’s a top-level summary before I dive deeper:

Splits Page on the Player Pages

  • We’ve added nine new stat groups to the splits page, including Statcast, Bat Tracking, plate discipline, and pitch-level metrics.
  • We’ve changed the UI to include a stat group selector at the top of the splits page to accommodate the addition of more stats. If you want to see stats that appear in Advanced, Batted Ball, or our new stat groups, you’ll simply click on those options instead of scrolling down.

Splits Leaderboards and Player Page Splits Tool

  • We’ve added the same new stat groups we added to the player page splits, including Statcast, Bat Tracking, plate discipline, and pitch-level metrics.
  • We’ve refreshed the UI using our modern interface, making it responsive to user interaction.
  • We’ve integrated the page with our updated Custom Teams feature. Please note, this integration is only available on the splits leaderboards.

Read the rest of this entry »


Calling At Least Some Angels: Three Trade Deadline Options for the Halos

William Liang-Imagn Images

We’re one week away from the August 3 trade deadline, and yet there’s still very little clarity for a handful of teams. The American League is a jumbled mess, and National League teams like the Nationals and Padres are straddling the buy/sell line, too. But one thing is for sure: The Angels will be sellers. What’s not yet settled is the extent to which they’ll sell.

With interim general manager John Mozeliak running the show after the ouster of Perry Minasian, the Angels suddenly have their most decorated baseball ops head since Bill Stoneman, the architect of the 2002 World Series champions, who briefly returned to handle the 2015 trade deadline. That came after a power struggle with manager Mike Scioscia led to Jerry Dipoto’s departure, and Stoneman went through with a handful of depth moves, bringing in post-prime David DeJesus, David Murphy, and Shane Victorino to bolster a club that was 55-47 at the July 31 deadline. Those Angels were just two games out of first place and had a three-in-four chance at making the playoffs. They finished 30-30, fading to third place and out of the playoff picture with an overall record of 85-77. They haven’t had a winning season since then, and they haven’t made the playoffs since the year before, when they won 98 games but were swept by the Royals in the ALDS. It’s been a miserable stretch for the Halos, one that will continue through the remainder of the season. As of Monday morning, our Playoff Odds projected the Angels to finish with their second-worst record in the last 30 years.

Still, these woes don’t have to drag on in perpetuity. The Angels have options aplenty as the trade deadline nears to try and change the direction of their wayward organization. Here are three paths they could take: Read the rest of this entry »


FanGraphs Feature Focus: Minor League Leaderboards

With the August 3 trade deadline fast approaching, we’re bound to see minor leaguers aplenty floated in trade rumors. If you’re curious about the players who might find themselves in new orgs in a few weeks, The Board is a great resource, as are the new minor league leaderboards, the subject of today’s Feature Focus.

The Basics

  • Our minor league statistics go back to 2006, with batted-ball data going back to 2007.
  • You can combine multiple seasons, or separate the leaderboards into discrete player-seasons by checking the box next to Split Seasons.
  • The Level, League, Minor League Team, and MLB Org drop-downs allow for multiple filters across drop-downs (e.g., selecting Triple-A and then the Pacific Coast League), but not for multiple filters within each drop-down. The leaderboards don’t currently allow for selecting multiple MLB organizations, for example.
  • The Stat Filters can be stacked, however. Here’s the leaderboard filtered for a 150 wRC+ or higher and 15 or more steals, sorted by most steals:

You’ll notice that in the above screenshot, wRC+ isn’t actually shown in the resulting leaderboard because it’s not in the Standard tab. Unlike the player pages or our major league leaderboards, the minor league leaderboards don’t have a Dashboard tab, so the default statistics are different. This can be solved using the Custom Report button, which I used to add wRC+. I also restricted my view to qualified hitters only:

Members can add columns to their hearts’ content, while non-Members are limited to 10 total columns in their custom reports.

What’s New

The current minor league leaderboards didn’t get a drastic overhaul from the old version (which will remain live through the World Series), but there were two fantastic additions.

The first is custom date ranges, available only to Members. When a custom date range is selected, the player’s age will show a span of years, as illustrated in this leaderboard of the minor league leaders in strikeouts since July 1, 2023:

The filters section includes a MaxAge option, which works the same as the Age filter would for a single season, but filters on the oldest player-season shown in the range.

Non-Members are limited to the Quick Range options of the last seven, 14, or 30 days, along with the Season Start and Season End selectors.

We’ve also incorporated our new Heat Maps feature, which I went over in detail a couple of weeks ago.

As is the case with all new and updated features at FanGraphs, we don’t view the minor league leaderboards as a fully complete project just because we’ve made a couple of additions. At the top of the new leaderboards, you’ll see a link to submit any feedback you have.


FanGraphs Feature Focus: Pitch-Type Splits

Season-level baseball stats are the tried and true. They’re at the bottom of your screen every time a player steps into the box to bat or onto the mound to pitch, and they’re on the leaderboards that BBWAA members peruse when deciding whom to vote for at the end of each year. But splits are what really keep the engine going. They add context. They fill in dead air on the broadcast. They clarify trends and build narratives. When you think “splits” you probably think of platoon splits or monthly splits, all of which are great and on our Splits Leaderboards. But today I wanted to get even more granular, move off the main Splits Leaderboard page, and jump into Pitch-Type Splits.

There’s far more you’re able to do on this page than I could possibly cover in a reasonably sized post, so these highlights will just be a taste to whet your appetite. Read the rest of this entry »


A New Heat Maps Feature for Members Is Now Active!

FanGraphs Members may have noticed an incredible new feature over the last couple weeks, and today, we’re thrilled to officially announce it. Members now have access to Heat Maps on our leaderboards and player pages. Sean Dolinar has been hard at work for the past month or so putting this together, and now I get to walk you through this Members-exclusive feature. Read the rest of this entry »


FanGraphs Feature Focus: Payroll Breakdown

The team payroll pages at RosterResource have gotten improvements over the last few months, from incentives data to more detailed contract info, that aid in making our payroll numbers simultaneously more accurate and easier to parse where the money’s coming from. Team totals also feed into the Payroll Breakdown page, the subject of today’s Feature Focus.

The page is accessible in two spots: the Payroll tab of RosterResource…

…and also the Breakdowns tab:

The default view of the breakdown table sorts the 30 teams by their 2026 cash payroll, or the amount committed to players for the 2026 season, regardless of when the money is actually paid out. For example, Shohei Ohtani counts as the full $70 million by this calculation, not the $2 million he’s actually earning this year because the rest is deferred, nor the approximately $46 million he counts for against the luxury tax calculation. Clicking on a team’s abbreviation will redirect you to their detailed payroll page for more information.

The table is fully sortable, but upon resorting, the Rank Payroll column doesn’t change; it’s always pegged to that default view. That allows for comparing to the baseline and makes it easy to see that luxury tax (CBT) payroll aligns strongly, but not perfectly, with cash payroll:

The middle three columns illuminate how exactly payrolls are constructed by the stages of a player’s career, again using the cash payroll as the denominator. There are fun quirks to be found there, like the fact that the White Sox have zero arbitration-year salaries on the books:

Or that the ragtag Marlins and Cardinals are spending a third of their payroll on pre-arbitration players, even as those are the lowest salaries possible, at or just a bit above the league-minimum $780,000:

The last set of columns totals the cash payroll commitments for each of the next three seasons. This only includes guaranteed money and does not take into account arbitration-year players, pre-arbitration players, or yet-to-be-earned incentives. So yes, the Dodgers have $422 million in player salaries committed to next year (the proration of Kyle Tucker’s signing bonus means he counts for $87 million!) before accounting for the arbitration-year salaries for Brock Stewart, Alex Call, Alek Thomas, Jake Cousins, Emmet Sheehan, Gavin Stone, and most notably, Andy Pages.

FanGraphs Members can export the entire Payroll Breakdown table to Excel for further analysis.


FanGraphs Feature Focus: College Stats

With the 2026 college baseball season having just concluded (a hearty congratulations to both the University of Oklahoma and the College World Series’ Most Outstanding Player, Jaxon Willits), the MLB Draft Combine still in progress, and the Draft itself rapidly approaching, now seems like as good time as any to remind everyone that we added Division I college baseball statistics to the site last year. In addition to college leaderboards, Division I players have their own player pages, while the college stats of drafted pro players can be found on their pro player pages (undrafted free agents currently have separate college and pro player pages, though we’re working to merge them).

The leaderboards can be accessed within the Leaders tab on the main FanGraphs navigation bar:

Before I dive in, here are the basics:

  • Stats go back to 2021 and, as they are for professional leagues on the site, they’re updated daily during the season.
  • wRC+ is conference-adjusted, not park-adjusted as it is for the minors and majors.
  • Unlike most other FanGraphs leaderboards, there are no Dashboard or customization options for Members; what you see under the Standard and Advanced options is the full suite of college stats available.

Using the various drop-downs at the top of the page, you can build your own leaderboard. For example, you might be interested in the best seasons for Miami University (go RedHawks!) hitters since 2021, by wRC+:

Or the best SEC seasons by strikeout rate:

I used “Qualified” as my plate appearance/innings pitched minimum for both of these leaderboards. The qualified playing time rules are same as they are for affiliated ball: 2.1 plate appearances or one inning pitched per team game.

Our college player pages look much the same as the pro player pages, just with fewer statistics. There are even the customizable player cards you’ll find on all player pages, though of course the RosterResource information and Spark Graphs will have to wait:


College stats on the player pages is hidden by default for players who have more than one year of minor league data. College stats can be toggled back on using the College button at the top of each data table:

Turning college stats on for any table within a player’s page will turn it on for all tables, so long as you remain on that player’s page. Turning college stats on doesn’t make the other stats go away, of course, so you can view a player’s entire journey from college up through the minor leagues and into the majors. Here are Nick Kurtz’s ridiculous hitting lines since college:

One last thing to highlight: If the team abbreviations you see prove inscrutable, don’t worry – we have a fix for that! You don’t have to Google where the country’s second-leading hitter by batting average attended school. You can simply hover over the abbreviation in question to view the school’s full name:

As is always the case at FanGraphs, exporting college data to Excel is limited to Members.


FanGraphs Feature Focus: On-Pace Leaderboards

The FanGraphs Depth Charts. ZiPS. Steamer. ATC. THE BAT. OOPSY. These are all fantastic projection systems that I look at on a regular basis, and you should too. But what if the “projection” system was just… basic division and multiplication? Enter the On-Pace Leaderboards:

While the On-Pace Leaderboards are located within the Projections section of the site menu, I cannot stress enough that the stats you’ll see aren’t based on any projection system whatsoever. They’re merely a rest-of-season extrapolation based on what a player has done to that point in the season, with the scaling changing depending on whether you select Every Game Played or Games Played % in the menu:

Read the rest of this entry »