Kyle Tucker’s tenure with the Dodgers hasn’t gone as well as anyone hoped so far, and on Monday night at Target Field, things took a turn for the worse. After walking during his first plate appearance, he yielded to a pinch-runner upon reaching second base due to back spasms. While he hasn’t yet landed on the injured list, the Dodgers have set a timetable that allows for “a mental reset” — to use manager Dave Roberts’ term — as Tucker tries to end a prolonged slump.
Tucker apparently began experiencing back spasms when the Dodgers took the field in the bottom of the first inning, though he didn’t have any balls hit in his direction. When he batted with one out in the top of the second, he fouled off Zebby Matthews’ first pitch — a four-seamer just off the plate — then looked at four straight balls, three of them in similar locations to that initial offering. Tommy Edman followed with a single, at which point Roberts replaced Tucker with pinch-runner Alex Call, who took over in right field.
“Back just like lit up and [I] went out there just tried to hope that it would calm down or go away or something, I’d just keep flying through it,” said Tucker afterwards, adding that “finishing the swing hurt.”
Roberts first noticed Tucker’s discomfort when he was batting. “I saw him take his at-bat — a little bit of wincing and kind of when he was jogging to first base,” the manager said. “And then once he got to second base, I think it was just more not seeing him move the right way, and I didn’t want to put him in any more jeopardy.” Read the rest of this entry »
Brendan Gawlowski: I am chatting from beautiful Bend, OR, where I absconded for a few days after finishing the Marlins list.
12:01
Brendan Gawlowski: Eric is working furiously on the Rays, that will be up later this week and then we’ll be mercifully done with those… for a few months.
12:02
Brendan Gawlowski: I’m staying with a couple family friends, one of whom is Austrian and knows nothing about baseball, but he gave me a piece of advice just before starting here: “Don’t embarrass yourself.” So, with that in mind, let’s go.
12:02
KURTIS SWENSON: Christian Oppor is making me sad, is there any hopes he gets over his intense yips hes having this season?
12:03
Brendan Gawlowski: Sure, but he’s gonna fall off the T100 in our next update.
One of the things I try to emphasize when I talk about projections is that they’re not numbers written in stone, but an array of estimates that’s always moving. Each individual plate appearance or inning pitched, while not a needle-mover on its own, adds to our knowledge of a player and very gently changes his career trajectory. Forecasting a player isn’t all that different from forecasting a hurricane, but thankfully, players cause a lot less mayhem. Except maybe Len Koenecke.
It’s been three months since the start of the season, and we have a lot of new information about players. Since we’re approaching the halfway point of the season, and the fact that I’m getting a few dozen chat questions a week about which players have seen their projections change the most, I thought this would be an appropriate time to do an in-season ZiPS run with the full-fat model that is too compute-intensive to run every day. To keep the list relevant to 2026 MLB goings-on, I narrowed it to players who either have played in the majors this year or are one of the 1,232 prospects on The Board. So my apologies to players such as Tre Richardson III, whose projected 2027 OPS+ has improved from 54 to 74. I’ve ranked the players by the largest changes in projected 2027 OPS+ compared to what it was in the preseason. Read the rest of this entry »
Site customization has become an increasingly important part of our development strategy here at FanGraphs; it’s also one of the core benefits of becoming a Member. Today, we’re introducing our revamped Custom Teams feature, a tool popular with fantasy baseball managers as they track the statistics and projections of the players on their roster.
This tool shouldn’t be confused with the Custom Reports you can create in our leaderboards. Custom Teams are collections of players that can be accessed across different FanGraphs tools; Custom Reports are a collection of specific stat fields and players that can only be accessed in the leaderboards.
What’s new?
We’ve rebuilt the Custom Teams interface from the ground up to utilize our current player search functionality, while also introducing additional improvements to make the tool more useful:
We now have three different types of teams: Manual, Ottoneu, and Legacy.
Manual teams are the default team type, where you enter player names to create your team. We’ve updated the player search so that it performs the same as the main search bar on the site:
We’ve also added a “Paste names” section to the interface. You can now copy and paste player names to import many players at once, including a column of player names from Excel or Google Sheets. The name and spelling has to be an exact match to what’s in our database (though it doesn’t require the use of diacritical marks), and you must have one player per line with a return separating them:
Ottoneu integration means you can now import your teams directly from Ottoneu. This automatically connects if you are logged in with your FanGraphs/Ottoneu account. You can then preview your roster and select a sync mode:
The Ottoneu sync mode has three options:
Auto Sync – This mode will reload your teams every time it is used (in the Custom Teams interface, loading a leaderboard, etc.), so it will pick up any changes you’ve made to your team.
User-Controlled Sync – This mode gives you more control over when your team updates.
One-Time Import – This mode effectively makes your team a manual team, but it keeps the reference to your team intact, just in case you want to change the update mode.
Please note, if you are using Auto/User-Controlled Sync, you cannot edit your team in this interface; you can only do that in one-time import mode. Any updates will need to made on the Ottoneu side.
Legacy teams are the temporary bridge between the current tool and the new one. All the teams that you’ve created on the legacy myteams.aspx page are accessible here, but you still need to use the old page to modify them:
The Legacy myteams.aspx Page
What will happen to the legacy myteams.aspx page?
We are phasing it out. We do not want to disrupt people’s use of the tool during the season, so the legacy page will remain available through the end of the 2026 season. It will be removed after the conclusion of the World Series.
What will happen to my old teams?
Before we remove the legacy page, you will only be able to modify your team through the old interface. You can view or use your team through the new interface, but the team information only flows in one direction.
Once we remove the legacy page, whatever legacy custom teams you have will be migrated to manual custom teams in the new tool.
Who can access the new Custom Teams tool?
We developed this tool for FanGraphs Members, so you’ll need to be a Member to access all of its features. Non-Members can try it out, however. They will be able to create teams with a maximum of 10 players, and are limited to manually created teams only. The legacy tool doesn’t have any Membership restrictions, but as noted above, it is being phased out.
After we phase out the legacy tool, you will still be able to access your old teams regardless of team size. However, non-Members won’t be able to add or change players if their team already has 10 players.
Glen Perkins had a successful four-season stint at the back end of the Minnesota Twins bullpen. From 2012-2015, the St. Paul-born southpaw was credited with 12 wins and 118 saves while posting a 2.93 ERA over 254 appearances comprising 251 2/3 innings. Moreover, he was an All-Star in three of those campaigns. A mixed-results starter earlier in his career, Perkins ultimately finished with a 35-25 won-lost record, 120 saves, and a 3.88 ERA over 624 1/3 frames while pitching exclusively with the Twins from 2006-2017.
He now serves as one of the team’s broadcast analysts, providing insight befitting a reputation he had during his playing days. Perkins was rightly regarded as one of the game’s most analytically inclined pitchers.
How well does the left-hander remember his matchups against big league hitters? Let’s just say that Perkins’ power of recollection is every bit as impressive. He proved as much when he sat down recently for the eighth installment of our Challenging Career Quiz, a series that had thus far comprised Geoff Blum, David Cone, Mark Grant, Mark Gubicza, Jeff Montgomery, Dan Petry, and Steve Sparks. (Links to those pieces can be found on their player pages.)
I began by asking Perkins to whom he surrendered the most hits. His first two guesses, Miguel Cabrera (seven hits) and Carlos Santana (eight) were both wrong. He then correctly named Paul Konerko, who had 11. What does the southpaw remember about the erstwhile Chicago White Sox slugger?
“I had two different careers,” Perkins replied. “I was a starter and gave up a bunch of hits, then I was reliever and didn’t give up nearly as many. Pauly probably got me a bunch when I was a starter, although I do think I did well against him when he was still closer to his prime. I remember that the last year he played [2014] he mostly just hit singles. He had a little short swing and just punched the ball. He didn’t do any damage, but he did have some hits against me.”
Perkins was spot-on with his recollections. Konerko had five singles in six trips to the plate against him that year. He had previously gone 6-for-24 with a pair of doubles and a home run.
A batter who did do damage against Perkins was Santana. The still-active, 40-year-old switch-hitter went 8-for-13 with two doubles and four home runs. Perkins promptly named him when asked who took him deep most often. Read the rest of this entry »
Fireworks season came early to Citizens Bank Park, where on Saturday evening the Phillies collected 17 hits — 10 for extra bases, including four home runs — in a 15-3 win over the Mets. Kyle Schwarber launched three of those homers, with two traveling more than 450 feet in the third inning, and by the time the fifth inning ended, Bryce Harper had hit for the cycle for the first time in his major league career. At the wrong end of that onslaught was Freddy Peralta, who was tagged for 10 runs in 2 2/3 innings. It was the worst start of his nine-year career, as well as a reminder of just how poorly the team’s offseason acquisitions have panned out.
Saturday’s start began inauspiciously enough, with Peralta allowing a two-out solo shot to Harper in the first inning. After falling behind 2-0, he threw a 93.9-mph four-seamer inside, but Harper was nonetheless able to extend his arms and lift a 37-degree blast. In the second inning, Peralta surrendered two more runs via the combination of an Alec Bohm single, a one-out J.T. Realmuto double, and a two-out Justin Crawford double.
At that point, the Mets were down 3-0, not a good start but hardly catastrophic, but Peralta began the third inning by serving up a 456-foot solo homer to Schwarber on a changeup at the bottom of the zone, and from there the floodgates opened. Harper doubled, Brandon Marsh singled and took second on a Marcus Semien throwing error, and after the first out, Bryson Stott and Realmuto hit back-to-back doubles. A strikeout, a Crawford walk, and a Trea Turner single later, and the Mets were down 7-0. Peralta was done for the evening, but the official scorer wasn’t quite done with him. Crawford and Turner scored when reliever Cionel Pérez left a middle-middle sinker for Schwarber to demolish, a 457-footer for his second home run of the inning, putting the Mets into an 11-0 hole. Read the rest of this entry »
Jay Jaffe: Good afternoon, folks! Welcome to the latest edition of my weekly chat. The queue for question is rather sparse so I’m going to give it a few minutes to fill up before I dive in. Remember, that while you don’t need to be a FanGraphs member to post a question to the chat, you do need to be logged into your user account to do so.
leoneforthird: Lets assume that Skubal comes back and is Skubal and the Mariners are still in a playoff spot at the deadline. Does a Logan Gilbert for Skubal trade make sense for both sides. The Mariners have young pitchers that they can slide in next year when Skubal leaves and the Tigers get a pitcher who can help them compete next year.
12:15
Jay Jaffe: That’s an interesting one to ponder, but I don’t think it makes great sense for the Mariners. Gilbert is a very good pitcher with one more year of club control, and the Mariners do seem to have rotation depth, but the margin between him and Skubal just isn’t big enough — to me at least — to give that up. I can certainly understand the impulse to go for it, though.
Last week, a reader named Kevin submitted a particularly pithy mailbag question. I have reproduced it here in its entirety. This won’t take long:
Dear FanGraphs team,
Steven Kwan is broken. Should us Guardians fans have any hope that he can be fixed?
Kevin
In honor of Kevin’s brevity, I suppose my answer should have consisted of a single word, but Kwan has been one of the most interesting players in baseball for years. It’s worth taking a full look at what’s going on with him right now. Read the rest of this entry »
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:
Hello! This year marks 21 seasons of FanGraphs, and as we look ahead to the August 5 anniversary of our launch, I wanted to thank you for reading and visiting the site. And, as has become an annualtradition, I also wanted to provide you with an update on the state of FanGraphs.
I started last year’s version of this piece by listing all of our new features and site improvements. As this year’s list is even longer, instead of detailing everything up front, I’ve included a Feature Appendix at the bottom of this post. Take a look – it’s quite a scroll. What I was struck by as I was compiling that list is just how much we’ve been able to accomplish with our Members’ support, support that has translated into new features, voices, data, and other random fun stuff you didn’t even know you wanted. From the written work of our dedicated team of baseball experts to all the stats and leaderboards, the data and fantasy tools to the prospect analysis, the projections, RosterResource, the mobile app, the podcasts, the chats — the depth and breadth of the site is very special. Plus, we do it all without private equity funding or sports betting partnerships, allowing us to produce the independent analysis and high-quality tools you’ve come to rely on.
And while I think the future of FanGraphs is bright, I also think it’s worth talking about the realities of running a sports media site in 2026, the challenges we see looming, and why your support matters more now than it ever has before.
First, if you are a FanGraphs Member, thank you so much for your continued support. Membership is set to account for about 80% of our revenue this year. Six years ago, that number was about 25%. Still, our Members only make up about 2% of what we believe to be the real-life human visitors to the site. We want our work and data to be accessible, but we’re up against a number of challenges.
Data Is More Expensive
FanGraphs isn’t free to operate. We don’t scrape data, opting instead to maintain agreements with all our data providers. This has been our model from day one, both because I wanted FanGraphs to be sustainable and for our data to be reliable, and because people deserve to be paid for their work. This strategy seems to have worked out, but it comes at a cost. Our data costs have nearly doubled over the past five years. At the same time…
Advertising Revenue Is Down, While Bots and Scraping Cost Us More
Our advertising revenue has decreased 50% since 2024. There are multiple factors at work here, some of which are good. We’ve decreased the number of ads on some pages, and our Members enjoy a fully ad-free experience as one of their Member benefits. But as I mentioned, even with the growth we’ve seen, Members only account for about 2% of our total users, and there is a massive discrepancy between the ads served to non-Members and the number of pageviews we’ve served. This May, multiple site analytics tools we use claim we served about 12 million pageviews to non-Members; ads were served on just 2.1 million of those pageviews. That’s only about 18% of pageviews, compared to 51% two years ago. That’s a staggering amount of missing ad revenue.
Non-Member Pageviews/Pageviews With Ads
Time Frame
Total Pages
Pages with Ads
% With Ads
May 2024
6.9M
3.5M
51%
May 2025
7.5M
2.5M
33%
May 2026
12M
2.1M
18%
Two things are likely happening here. First, we’re seeing a lot more bot traffic, which often doesn’t register as the sort of browser session that advertisers care about. We estimate that at least 60% of all traffic coming to FanGraphs is from non-human sources, including web crawlers, AI bots, and scrapers. In addition to the decline in ad revenue, this has led to increased server costs and us spending valuable time figuring out where the offending traffic is coming from in order to keep the site operational.
Second, folks are much more apt to use ad blockers these days, so while our overall site traffic hasn’t declined, our non-Member users are seeing ads at much lower rates. This creates the untenable situation where we’re serving up more content, but also serving up fewer ads because those ads are either being blocked, or the thing using our resources isn’t even a person.
Those are some of the challenges we face right now, but the landscape we operate in also has some big potential shocks on the horizon, one likely to affect digital publishing more generally, the other specific to baseball.
The Impact of AI
First, I’ll take this opportunity to share our editorial policy around the use of AI. All of the editorial content at FanGraphs is written entirely by the members of our staff, without any assistance from generative AI models, and that will remain our policy going forward. You don’t come to FanGraphs to read ChatGPT’s analysis, and there’s no way it could come up with the headlines Michael Baumann does.
And while the development team has found AI to be a useful coding tool, we don’t use it to create stats or metrics, or ask it to source the data displayed on the site. I have no interest in Claude hallucinating Jacob Misiorowski’s strikeout rate or average fastball velocity (though you’d be forgiven for wondering if either is real).
Of course, AI’s impact goes beyond the need for code checks or an editorial policy. Put simply, AI is taking our content and repurposing it in a way that could make it so that there’s no need to actually visit the site. Indeed, changes to many popular search engines mean many people unfamiliar with FanGraphs might not even discover the site in the first place. Just think about the AI results you see on Google. How many people are going to click through to our Brewers Top Prospect list, a piece that took days to write and edit, when Gemini will serve up much of Jesús Made’s scouting report, tool grades and all? If there’s ever been an existential crisis for online publishers, it’s this. Whether it’s Membership or advertising revenue, our business model depends on visiting the site, and AI seems poised to keep people away, eroding the link between writers and readers.
Baseball’s Looming Lockout
The precise impact of this winter’s seemingly inevitable lockout is tough to gauge, as it will greatly depend on how long it takes MLB and the Players Association to reach an agreement. But if the pandemic and the last lockout taught us anything, it’s that not having major league baseball isn’t great for a baseball media site. We saw our traffic dip 50% during the 2021-22 lockout. The support of our Members helped us weather it, but it was a challenge, and if we were to lose an entire season, I’m not sure what it would mean for FanGraphs without significant Membership growth.
So what should you take from all of this? Well first, become a FanGraphs Member! Membership allows us to continue to grow and improve the site, providing a source of revenue that’s immune from macro forces like AI or baseball’s labor dispute, and that’s more stable than advertising. We’re in a moment where it’s incumbent upon all of us to support the writers, artists and publications we love, or risk losing them. Obviously I hope FanGraphs is on that list for you, but this isn’t just a FanGraphs thing. Unfortunately, the era of good free content is over. Ultimately, the advertising model syphoned a shocking amount of money away from publishers to middlemen and tech giants, and AI is threatening to destroy one of the most reliable ways for us to surface our work to new readers. But your direct support puts you in the driver’s seat. It’s not what SEO wants, or AI wants, or what the advertisers want. It’s what you want.
Our pledge to you is that if you support us, we’ll keep producing all the great baseball analysis you’ve come to rely on, and continue to grow the site in new and interesting ways, just like we have for the past 21 years.