Projection Wars: Which System Is Best?
Grading projection systems from the 2025 season to find out which systems are most accurate
I also recorded this via podcast. I had more to say than what I wanted to type. So, if you want some more detail on how my system works, and how the systems talked about below differ, listen to that here:
PODCAST | Projection Wars: Which System Was Best in 2025?
There is a written post for this for free to read on MLB Data Warehouse, but I wanted to talk a bit about my system and how it works, and go into more detail on some of the stuff involved with all of this as well. So I talked by myself for 30 minutes about it, giving the results along the way.
Or search up “MLB Data Warehouse” on Apple or Spotify. There’s more information in the pod than there is below. But if you just want the raw results, just keep reading here.
When you’re in the projection game, you almost don’t want to know how you measure up. I’m just a dude doing this stuff in my basement. And I’m not the most thorough guy, either. I assume that the rest of these projection systems I’m up against have been back-tested, tweaked, and refined through the years. My system is only in its fourth year. I’d say that this is the second year after some major improvements to the projections. I would not want to be judged on 2023-2024, but 2025-2026, I feel, are good enough to at least compete.
The good news for me is that I’m not putting my hopes and dreams on my season-long projections. As you hear me say all the time on here and on the podcast, I don’t claim that my system is worth any money. ATC, Steamer, The Bat X, OOPSY, and others are all free. So mine would have to clearly beat them all to warrant me charging money.
So I go into this (I’m writing this part before running the tests), okay with whatever the result is. If my system proves to be absolutely dookie, I should be fine.
Let’s get into it.
Considerations
First, I’m not aware of any standard industry way of running these tests. I’m just looking at each projection in each category, taking the percentage error, and seeing which systems had the least error. That’s the logical way to do it in my view, but it’s possible there are other ways to do this that would give different results.
Second, playing time is the driver, and everybody realizes that it’s the hardest thing to project. You can’t really predict injuries. The best way to get an accurate home run projection is to start by getting an accurate plate appearance projection. Any baseball fan could get pretty close in guessing how many home runs Manny Machado will hit next year if you tell him exactly how many games the guy is going to play.
So I don’t want to just straight up compare these systems based on the counting stats. If one system did way better at projecting playing time (where there’s clearly going to be a good amount of noise involved), they’ll start with a huge head start, and that will throw us off.
So I’ve judged on these criteria:
Hitters
PA
AVG
R/PA
HR/PA
RB/PA
SB/PA
Pitchers
IP
ERA
WHIP
K%
BB%
W/GS
I’ll also just do the basic check for which system did the best in a 5x5 league setup (R, HR, RBI, SB, AVG, W, SV, SO, ERA, WHIP), but I don’t personally believe that to be the best way to do it.
So we’ll attack in different ways and see what we can find.
Paid subscribers get access to my season-long projections (as well as a very useful comparison app) and a ton of other tools, reports, resources, and writings. So become a paid sub today to get all the goods!
Hitters
Roto 5x5 Projection Result
This is the one that will double-count playing time projection in some ways
In the first test, we’re using average error, weighted across the different categories. Lower is better.
OOPSY .807
ATC .816
The Bat X .832
MLB DW .839
Steamer .870
The brand spankin’ new OOPSY system takes the cake in our first test. And that system did have the “head start” because its playing time projections were most accurate by a good margin. Looking at playing time only:
OOPSY
The Bat X
ATC
MLB DW
Steamer
OOPSY was way out front, and then there was essentially a three-way tie for second, with Steamer bringing up the rear (way behind).
Let’s remove playing time altogether and see which system was best at projecting per-game production:
ATC .616
Steamer .628
The Bat X .637
OOPSY .667
MLB DW .683
OOPSY gets sent backwards when you take away its advantage of being the most accurate playing time projection system. And that’s not entirely a fair thing to do. We’ll see if it repeats this year, but if OOPSY truly is onto something with projecting playing time the best, then yeah, that’s probably the system you want to go with if you’re having to pick one.
As for me, I’m sad. I did pretty well with hitters when I checked this last year, and now I’m at the back of the line.
So if you want to do some sort of aggregate projection work, some possibly decent advice here could be to take OOPSY’s playing time projections and adjust ATC projections to them. That would require a bit of math and coding/Excel savvy, but anything is possible for anybody in these days of AI. I’m practically out of a job here already.
ATC is the last system to appear. It’s still not out! Correct me if i’m wrong, but I believe the way it works is by leveraging the other systems after studying what individual categories those systems are better or worse at. So it’s “cheating” in some ways. I don’t mean that negatively. The game is to get the best projections, but ATC couldn’t exist without the raw math work of Steamer, The Bat, and others. Unless I’m wrong about how it works, in that case, I apologize.
Pitchers
Same deal here! Let’s give you the results if we’re just looking at ERA, WHIP, SO, and wins (the four standard SP categories).
MLB DW .656
The Bat X .709
Steamer .713
OOPSY .719
ATC .720
Heyo! Shout out to ME! MLB DW projections crushed the competition last year in standard fantasy.
But, like in the hitters piece, it was because I just happened to be the most accurate in innings. Innings only scores:
MLB DW .416
The Bat X .584
Steamer .620
OOPSY .626
ATC .654
And I have a secret to tell you! I use the other systems to help my innings projections (with some slight tweaks), so I don’t have any secret sauce that truly makes my system better at predicting workloads/injuries. Probably just some good luck for me there.
Let’s just do ERA and WHIP, since these are the two main pitching categories to get right:
MLB DW .631
OOPSY .721
ATC .734
Steamer .736
The Bat .743
Alright, so I’m onto something! It’s just not volume projections.
The three inputs to ERA and WHIP are K%, BB%, and HR/9. So let’s check those three together:
MLB DW .434
OOPSY .642
ATC .647
Steamer .654
The Bat .671
That’s a romp! At this point, you’re probably skeptical. I’m sitting here writing an article that tells you my pitching projections smash everybody else. I can tell you with certainty that I didn’t massage this or cheat in any way. But I also do, as a sinner, have the capability of lying. So I think it’s perfectly reasonable for you not to trust me on this.
For transparency, here are all of the projections. It’s possible they weren’t quite the final results, but they were probably saved off by me within a week of Opening Day last year. Of course, I could have gone in and changed mine to make them more accurate after the fact, so even I giving you this doesn’t prove anything. But that’s life, man. You can’t trust anything you see. Ever since 2020, I’ve basically just started to assume that everything I hear is a lie, except for what my wife says.
So that’s it! Don’t take it too seriously, because these things change year-to-year, and like I said above, there are different ways to even measure this that might give you different results.



