Rewriting Stuff Plus History, Tommy Pham Revelation, and Hunter Brown Repentance
Two big topics and some Hunter Brown capitulation
During the season, I get in the habit of writing The Daily Notes every morning. I kind of intended this offseason to monitor things to be the winter version of that, where I can get on a couple mornings a week and just write stuff for you all. But I’m not disciplined enough to make time for it. But we’re doing it today.
Stuff Plus Problems
Eno Sarris came out with his Stuff+ powered SP rankings yesterday. That’s always a big one to see every winter; many people wait in anticipation for his rankings. And there’s a good reason for that: he’s a sharp dude, and one of the best followers for fantasy baseball stuff. Shout out to Eno, check out his article and his ranks, they’re almost surely better than mine.
At the beginning of the article, he mentioned how they’ve re-trained the Stuff+ model to account for the league adjusting to sweepers. The long story short on that is that the sweeper got popular 4-5 years ago, and it gets more popular every year, so hitters have gotten better at hitting it because they’ve seen it more and more.
It’s important to understand how these Stuff+ models work for this to be meaningful. To put it as simply as I can, Stuff+ models look at historical data to find what kinds of three-dimensional pitch movements get the best results. So if an 87mph sweeper that moves so many inches from left to right with a little bit of a late vertical drop gets strikes and outs at a high rate, it will grade that movement profile positively, and start assigning high scores to pitches that move similarly.
Those model results can give you directional ideas about if a pitcher is going to be good or not. A 110 Stuff+ pitcher in AAA is more likely to be good in the Majors than a 90 Stuff+ guy; there’s no denying that.
Stuff+ does predict future K% moderately well. Here’s a correlation coefficients table of 2024 Stuff+, 2025 Stuff+, 2025 K%, and 2025 ERA:
Let’s look at that first column of numbers and go top-to-bottom. This shows you how well Stuff+ from 2024 correlated with different stats from 2025:
The 0.854 you see shows you that Stuff+ is sticky year to year. No surprise here since this stat is based on the movement of the pitch and has nothing to do with the results. Paul Skenes fastball is going to move very similarly in 2026 as it did in 2025
The -0.437 you see shows you a pretty weak, but not non-existent, relationship between past Stuff+ and future ERA. If you want to post a low ERA (which is the main goal of pitching), having high Stuff+ will help you a little bit, but not all that much
The 0.631 shows that Stuff+ one year does correlate pretty well with K% the next year. A super, super strong relationship is above 0.8 (the max being one), and the basically non-existent relationships are below 0.25, so this is between the two.
All of this is to say that we’re not talking about random, unless numbers. These pitch modeling metrics do tell you something about the pitcher.
But back to the story about them re-training the models. To me, this is a pretty clear admission and sign of a problem that these models will never escape.
Remember that they’re trained on past results. To keep going with the sweeper example. Those sweepers worked really well in 2021 when they were novel. But now, hitters are way better at hitting them because they have valuable experience seeing those pitches. So if you retrained the models today using more recent data, the model would start telling you that the sweeper-type movement is nearly as good as it told you a few years ago.
In the article, Eno admits this. There’s no deception going on. I’m not trying to cause problems or be accusatory; I just think it’s important for us to understand the limitations. Eno used the term “moving target”, which is exactly the problem. Great phrase. Hitters change all the time, they’re studying the data just as much as hitters. So it’s like chasing your tail. Here’s how it goes:
Pitchers start throwing pitches a certain way because in the past, hitters haven’t been able to hit them
Hitters see those pitches and start figuring out how to hit them
Pitchers stop throwing those pitches because hitters are now hitting them
That pattern will repeat infinitely in the days of data. Back in 2021-2022, the high heater was all the rage. Some nerd discovered that high fastballs work really well. Hitters have a lot of trouble getting the good part of the bat to those pitches. So you saw more and more high fastballs because thrown each year. Here’s a plot of average vertical location of four-seam fastballs from 2021-2025:
People thought low fastballs were cool in 2021. But the data said actually high daddies work pretty well. And by 2024, everybody had caught on, the minor leaguers who were coming up had been trained on that data, and the average vertical location of the league’s four-seamers was the highest in history (or in Statcast history, at least).
But guess what happened! in 2025, hitters figured it out. Here’s xwOBA on these same high fastballs:
They really got caught in 2022 and 2024, but in 2025 they posted a near .350 xwOBA on those pitches, a massive improvement from the lows of 2022.
This example doesn’t have to do with Stuff+, that model ignores pitch locations entirely. But it shows you the moving target. Pitchers adjust to the hitters, and then hitters adjust to the pitchers, and so on and so forth.
The takeaway for the data bros is this is that you should probably retrain your Stuff+ model every year. Or at least every 2-3 years. Maybe they already do that, I don’t know.
The takeaway for fantasy players is that this data is very limited in its usefulness for predicting the future. I personally don’t think it would add anything positive to projections.
One good use of it would be evaluating AAA pitchers who are coming up to the Majors, or evaluating pitchers in very small samples. Nolan McLean came up last year, and the pitch models told you he’d have a shot to be good in the Majors. He had the kind of pitch movement (and by “movement”, I include velocity, since that’s just movement in the forward direction) that tends to work in the Majors. Noah Cameron would have given you the opposite feeling. One of those guys was clearly going to strike more hitters out than the other, so Stuff+ is useful in that regard.
But once I have like 100 innings of MLB data on a pitcher, I could not care much less about what the Stuff+ is trying to tell me.
Some of that is just my opinion, man. But it’s my website, and I feel pretty good about it!
Phamgraphs
At one point in history, Tommy Pham followed me and I did not follow him. That’s big leaguing a big leaguer. So I wanted to draw some attention to myself through that fact. And it didn’t go super well for me.
I lost a follower that day. But it was funny, and funny is the most important thing when it comes to being on the Internet. You’re not going to be told anything that is true or edifying, so you might as well look for stuff that makes you laugh.
Anyways, Pham is a data guy. He seems to be one of the players in the league most in tune with the data revolution. Or maybe he’s just the most outspoken about it, I don’t know. But he’s 37 and still hanging around the bigs, and he had himself a pretty decent season last year. Credit where credit is due. And few players have had more entertaining careers off the field.
Last night, he dropped a bomb in some replies:
This tweet is potentially big news for fantasy baseball nerds, and yet it has just 1,700 impressions. My fellow writer Hunter Marvel brought it to my attention last night.
Pham is claiming that the PNC Park humidor was broken, which hurt the performance of hitters in those Pirates home games. If that’s true, it could explain some of the down years we saw in the Pittsburgh lineup (most notably, Oneil Cruz and Bryan Reynolds).
It is true that PNC Park BABIP dropped ten points from where it had been the previous two years:
Does Paul Skenes have something to do with this? Probably. Is 81 games’ worth of data enough to prove anything in this regard? No. But it happened, and now we have a player offering an explanation for it.
The humidor effect has to do with the flight of the baseball. So I think it’s useful to check my park factors data and see what happened to batted balls hit in the air in Pittsburgh. Here’s that data:
This would certainly work as evidence for Pham’s claim.
The problem we have here is that Pham is a free agent and looking for another job. He has a pretty big incentive to make people believe he actually should have performed better than he actually did last season. But it becomes a lot less suspicious when you see the numbers backing him up.
And that’s not even the end of the story. This whole Pham tweet happened in response to this, which shows you that the Pirates had the league’s best defense played against them.
I was already buying low on Bryan Reynolds and Oneil Cruz, but there’s a good reason to upgrade the Pirates' whole lineup for 2026. I’ll leave it to you to figure how much.
Hunter Brown Repentance
This post has become a lot longer than I intended, but one more thing. I’m moving Hunter Brown up in my rankings. I was trying to make a flag plant move, but I had him too low. He wasn’t in my top 20, and everybody else has him in their top ten. I am full of myself, no doubt, but not so much to think that I know something that everybody else doing this stuff doesn’t know.
I’m still not drafting the guy, but I’ve re-ranked him to a place that clearly makes more sense.
My full ranks, projections, tools, and just a ton more stuff are available to paid subscribers.
Until next time!












