Author Archive

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 »


FanGraphs Feature Focus: RosterResource Coaches Table

The first feature I created as a FanGraphs developer, duties I added to my existing RosterResource work early last season, was the Coaches Table, which is located in the Breakdowns section of RosterResource. Since I haven’t done nearly a good enough job of publicizing its existence, I’ll atone by making it today’s Feature Focus.

Beyond the uniformed coaches that every team employs these days (manager, bench coach, often multiple hitting and pitching coaches, and base coaches), there are a couple of extra columns in the table that group coaches more broadly. The first is the “FC/QC/Catching” column. Many teams have a field coordinator (FC), quality control coach (QC), and/or catching coach, though not every team does, as some clubs prefer to spread those responsibilities around to existing coaches. The “Other Coaches” column covers every other uniformed coach who lacks a title that fits cleanly in one of the other columns. These are often coaches with generic titles like “Major League coach,” but not exclusively so. Miguel Cairo of the Orioles, for example, serves as the dedicated infield coach, a role usually taken by one of the base coaches in addition to his duties at first or third. Read the rest of this entry »


FanGraphs Feature Focus: WAR Graphs

Denny Medley-Imagn Images

Today’s Feature Focus covers WAR Graphs, a quite underutilized tool in my opinion. (We’re called FanGraphs after all, and this is a Graph that you can make, as a Fan.) The tool is accessed near the bottom of the Leaders menu, under WAR Tools:

That’ll send you to this landing page, a blank canvas for adding players:

After selecting players, you’ll be welcomed with three graphs: nth Best Season, Cumulative WAR by Age, and WAR by Age. The view defaults to showing all three, but you can toggle at the top:

Let’s dive into each graph. Read the rest of this entry »


FanGraphs Feature Focus: Closer Depth Chart

The Closer Depth Chart is one of the longest-standing features at RosterResource, making its FanGraphs debut at the beginning of the 2021 season. Prior to this season, the Closer Depth Chart looked much as it did in that intro article from five years ago, but there have been some key improvements this year. Here’s a walkthrough of what it’s got, both new and old, from left to right:

Criteria for Included Pitchers, Plus Our Process

When the Closer Depth Chart first launched, we only included the top five or six relievers per team, plus those on the injured list. But with RosterResource often taking a “more is more” approach, we’ve begun including all active relievers in a team’s bullpen, plus the injured ones. The Projected Role column matches that shown on the RosterResource team page, including co-closers or closer committees, a situation the A’s are currently working with:

A reliever may also have a green triangle next to his name (denoting a Reliever On The Rise) or a red square (denoting the opposite, an arm who is On The Hot Seat):

A lot of what we do at RosterResource has a certain level of subjectivity to it, and none is more subjective than trying to classify relievers, whether by the name of their role or if they ought to be considered a Reliever On The Rise or On The Hot Seat. Managers have to tell you their lineups or starting rotations; they never have to name a closer or formally move someone up or down in the bullpen hierarchy. As such, we can only go off a manager’s actions while also keeping in mind that roles are fickle, or that a pitcher simply might not be available for a game or has an undisclosed ailment that isn’t quite enough to send him to the IL. This is all about pointing you in the right direction, not being an objective truth.

Usage for the Last Six Days

Panning rightward now, we do see an objective truth: how the bullpen has been used in the last six days. From here you can easily see that Louis Varland (a) pitches a ton and (b) pitches in a very important role when he does, as evidenced by the three saves and a win in his last four appearances entering Wednesday. But new to 2026, we’ve got more information when hovering over an appearance’s cell:

This additional data helps to better summarize and contextualize a pitcher’s outing beyond a raw pitch count and result. Knowing if a pitcher had an “up-down’ (an appearance spanning multiple innings) can inform an educated guess of his availability for the next day; having an awareness of the combination of innings a pitcher appeared in and the leverage index aids in clarifying his role.

Farthest to the right of the usage section are the totals, simply the sum of the innings pitched and pitches thrown over the last six days. Since managers and pitching coaches will weigh recent usage beyond just the prior game when making decisions, that’s another good data point to have.

Stats

We’ve always had a slew of stats on the Closer Depth Chart, but there are even more this year. New to the party are swinging strike rate (SwStr%), strikeout rate (K%), walk rate (BB%), shutdowns (SD), and meltdowns (MD). Shutdowns are outings worth at least 6% WPA; meltdowns are outings worth a WPA of -6% or worse. With all those new stats, we needed more room, so there’s now a toggle between Results stats and Arsenal stats, accessed by hovering:

Clicking over to Arsenal showcases a pitcher’s average velocity for his four-seam fastball and/or sinker, as well as the Stuff+ for his entire repertoire, even the rare few who throw knuckle curves or forkballs. (Fun fact, nobody currently in a big league bullpen throws a forkball, but the infrastructure is ready to handle when one arises!)

This year’s additions to the Closer Depth Chart make it more powerful than ever, but I’m never closed off to making more, and I love listening to suggestions. As ever, you’re welcome to offer feedback here, find me on Twitter or Bluesky, or email us at rosters@fangraphs.com.