FanGraphs Power Rankings: July 24–30

The trade deadline is just 24 hours away, but there’s been plenty of action already. Let’s check in on the league ahead of the final stretch.
A reminder for how these rankings are calculated: first, we take the three most important components of a team — their offense (wRC+), their pitching (a 50/50 blend of FIP- and RA9-, weighted by starter and reliever IP share), and their defense (RAA) — and combine them to create an overall team quality metric. I also add in a factor for “luck,” adjusting a team’s win percentage based on expected win-loss record. The result is a power ranking, which is then presented in tiers below.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Braves | 67-36 | 2 | 122 | 93 | 87 | -7 | 160 | 100.0% |
| Rays | 64-44 | -3 | 118 | 88 | 101 | 12 | 162 | 94.4% |
A week after winning two of three from the Brewers in Milwaukee, the Braves swept them in Atlanta over the weekend. With the entire roster firing on all cylinders, any additions they make will likely be around the margins — something they’ve already begun doing by adding some depth to their bullpen and infield via Pierce Johnson and Nicky Lopez. Their only concern now is ensuring they aren’t peaking early and to get to October healthy.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Rangers | 60-46 | -6 | 120 | 95 | 105 | 13 | 157 | 73.6% |
| Dodgers | 59-45 | -1 | 114 | 103 | 96 | -2 | 134 | 96.2% |
| Blue Jays | 59-47 | 0 | 109 | 92 | 87 | -5 | 150 | 77.8% |
| Astros | 59-47 | 0 | 103 | 96 | 99 | 6 | 124 | 73.9% |
The Rangers drop into the second tier after a roller coaster of a week. On the field, they lost a hard-fought series against the Astros and were swept by the Padres, leaving them just a single game up in the AL West. With Houston in hot pursuit and the AL playoff picture as crowded as ever, Texas isn’t standing pat, making the biggest splashes so far by landing Max Scherzer on Saturday and then adding Jordan Montgomery on Sunday. With so many injuries in the starting rotation, those two make for welcome additions.
The Dodgers have been busy plugging all the leaks on their roster as injuries have taken a toll on their depth. First, they reunited with Enrique Hernández, then they added Amed Rosario, and finally they shored up their pitching staff with Lance Lynn and Joe Kelly. There’s still a bit of room between them and the rest of the NL West, but their roster desperately needed some help as they head into the dog days of summer, and it looks like they got it.
The Blue Jays survived the gauntlet of Los Angeles teams last week, winning both series against the Dodgers and Angels. They’ll host the Orioles for four games and then travel to Boston in a huge divisional showdown this week. Ahead of those big AL East matchups, they added Jordan Hicks from the Cardinals over the weekend to help cover for the loss of Jordan Romano to a back injury. They’ll also get Hyun Jin Ryu back from his Tommy John rehab this week, which should provide some additional depth for their pitching staff.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Mariners | 54-51 | -2 | 101 | 94 | 92 | 10 | 130 | 16.5% |
| Cubs | 53-52 | -5 | 103 | 97 | 92 | 4 | 127 | 26.8% |
| Orioles | 64-41 | 7 | 102 | 102 | 86 | -10 | 94 | 88.3% |
| Giants | 58-48 | 2 | 97 | 98 | 91 | 9 | 116 | 67.2% |
| Angels | 55-51 | 0 | 113 | 101 | 104 | -3 | 118 | 18.4% |
| Phillies | 56-49 | 3 | 97 | 90 | 93 | -3 | 108 | 60.1% |
| Red Sox | 56-49 | -1 | 106 | 105 | 89 | -33 | 107 | 30.1% |
The Cubs have had a weird season. They were 10 games under .500 as recently as June 8 but have boasted a positive run differential nearly the entire season. Their loss to the Cardinals on Sunday snapped an eight-game win streak that pushed their record above .500 for the first time since early May. Just a few weeks ago, there were real questions about whether or not this team was getting ready to sell; now they’re just 3.5 games out of a playoff spot and four games back in their division. They’ve got a pretty tough schedule on the docket this week: a four-game set against the Reds followed by a series against the Braves. If they can survive this challenge, they’ll be in good position to make a run at the postseason this summer.
The Orioles are going to be one of the most fascinating teams to watch at the trade deadline. They’re leading the American League, but their run differential doesn’t exactly support the number of wins they’ve banked so far. You can thank their tough-as-nails bullpen for a lot of that overperformance. Still, they need some additional depth for their young pitching staff, and they have a ton of young bats to spare. They’ll have to walk the tightrope between trying to go for it this year and maintaining their focus on long-term success.
The flood gates opened up as soon as the Angels took Shohei Ohtani off the market, both for their own roster and the rest of baseball. They made their intentions quite clear when they acquired Lucas Giolito and Reynaldo López from the White Sox on Wednesday and followed that up with another trade to get C.J. Cron and Randal Grichuk on Sunday. They’ve got a gauntlet of tough matchups ahead of them — the Braves, Mariners, Giants, Astros, Rangers, Rays, and Reds all in a row — and just lost Taylor Ward after he was hit in the face with a fastball on Saturday. It won’t be easy, but they’re giving it their best shot.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Padres | 52-54 | -8 | 104 | 88 | 99 | 18 | 156 | 38.7% |
| Diamondbacks | 56-50 | 3 | 103 | 105 | 102 | 15 | 108 | 42.0% |
| Twins | 54-53 | -3 | 102 | 86 | 95 | -7 | 118 | 67.1% |
| Reds | 58-49 | 4 | 97 | 107 | 93 | -8 | 69 | 35.5% |
| Brewers | 57-49 | 6 | 88 | 98 | 93 | 15 | 94 | 70.0% |
| Marlins | 57-49 | 6 | 97 | 92 | 98 | -10 | 84 | 49.6% |
| Yankees | 55-50 | 2 | 95 | 105 | 86 | 4 | 97 | 26.5% |
| Guardians | 53-53 | -1 | 93 | 94 | 92 | 3 | 104 | 31.8% |
The Twins started last week with a walk-off win against the Mariners, pushing their record up to six games over .500, the best it’s been this season. They lost all five games after that and now sit just half a game ahead of the Guardians in the AL Central. They’ve been quiet on the trade market, too, making only a minor reliever swap with the Marlins. Their starting rotation has been as good as anyone else’s, but they need a bit more consistency on offense if they want to run away with the division.
It shouldn’t be a surprise, but the Brewers are still suffering from the same roster imbalance they’ve been dealing with for the last half-decade: a solid pitching staff that’s being undermined by an anemic offense. Last week, they traded for Carlos Santana to try to infuse their lineup with a little more consistency.
The Marlins are suffering from the opposite problem as the Cubs: a good record that’s undermined by a pretty terrible run differential. They’re 23–9 in one-run games and have excelled when the game is on the line, though their relief corps has been stretched thin recently. They leaned into that team identity by adding to their bullpen with David Robertson and Jorge López last week. They desperately need some additions to their lineup, though, even with Jazz Chisholm Jr. close to returning from an oblique injury.
The Yankees activated Aaron Judge off the IL on Friday, a welcome return after he missed nearly two months with a toe injury, but there are plenty of other issues on the Yankees’ roster that won’t be addressed by his presence alone. New York went 19–23 without Judge and currently sits on the outside looking in in the AL Wild Card race. Having lost a crucial three-game series to the Orioles over the weekend, things don’t get any easier with the Rays and Astros on the schedule this week.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Cardinals | 47-60 | -4 | 110 | 106 | 104 | -5 | 107 | 1.2% |
| Mets | 50-55 | -1 | 103 | 108 | 106 | -6 | 74 | 12.2% |
| Pirates | 47-58 | 2 | 90 | 104 | 101 | 1 | 66 | 0.3% |
Both the Mets and Cardinals started to sell over the weekend, completing two trades each, with the Scherzer swap the biggest of the bunch. It’s a pragmatic move for both clubs after rough seasons all around. Neither team is finished trading, either; they’ll both be busy as the trade deadline approaches. Then comes the hard work of figuring out what their near-term future looks like.
| Team | Record | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds | |
|---|---|---|---|---|---|---|---|---|
| Nationals | 44-62 | 0 | 94 | 109 | 120 | 0 | 57 | 0.0% |
| Tigers | 47-59 | 4 | 86 | 105 | 101 | 3 | 56 | 1.6% |
| White Sox | 43-64 | -2 | 87 | 107 | 108 | -9 | 32 | 0.1% |
| Royals | 32-75 | -5 | 82 | 116 | 110 | 15 | 48 | 0.0% |
| Rockies | 41-64 | 2 | 80 | 122 | 97 | -12 | 24 | 0.0% |
| Athletics | 30-77 | 0 | 89 | 136 | 127 | -9 | 19 | 0.0% |
Like the Cardinals and Mets, the White Sox are tearing things down, sending out five pitchers in three different deals last week. They also aren’t done yet, with plenty of players on the block as they try to reset their roster after two disappointing and frustrating seasons. That likely includes Tim Anderson, who hit his first home run of the season over the weekend.
…
| Rank | Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds | Δ |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Braves | 67-36 | 2 | 122 | 93 | 87 | -7 | 160 | 100.0% | 0 |
| 2 | Rays | 64-44 | -3 | 118 | 88 | 101 | 12 | 162 | 94.4% | 1 |
| 3 | Rangers | 60-46 | -6 | 120 | 95 | 105 | 13 | 157 | 73.6% | -1 |
| 4 | Dodgers | 59-45 | -1 | 114 | 103 | 96 | -2 | 134 | 96.2% | 0 |
| 5 | Blue Jays | 59-47 | 0 | 109 | 92 | 87 | -5 | 150 | 77.8% | 1 |
| 6 | Astros | 59-47 | 0 | 103 | 96 | 99 | 6 | 124 | 73.9% | 1 |
| 7 | Mariners | 54-51 | -2 | 101 | 94 | 92 | 10 | 130 | 16.5% | 4 |
| 8 | Cubs | 53-52 | -5 | 103 | 97 | 92 | 4 | 127 | 26.8% | 9 |
| 9 | Orioles | 64-41 | 7 | 102 | 102 | 86 | -10 | 94 | 88.3% | -4 |
| 10 | Giants | 58-48 | 2 | 97 | 98 | 91 | 9 | 116 | 67.2% | 0 |
| 11 | Angels | 55-51 | 0 | 113 | 101 | 104 | -3 | 118 | 18.4% | 3 |
| 12 | Phillies | 56-49 | 3 | 97 | 90 | 93 | -3 | 108 | 60.1% | 3 |
| 13 | Red Sox | 56-49 | -1 | 106 | 105 | 89 | -33 | 107 | 30.1% | 0 |
| 14 | Padres | 52-54 | -8 | 104 | 88 | 99 | 18 | 156 | 38.7% | -2 |
| 15 | Diamondbacks | 56-50 | 3 | 103 | 105 | 102 | 15 | 108 | 42.0% | -6 |
| 16 | Twins | 54-53 | -3 | 102 | 86 | 95 | -7 | 118 | 67.1% | -8 |
| 17 | Reds | 58-49 | 4 | 97 | 107 | 93 | -8 | 69 | 35.5% | 3 |
| 18 | Brewers | 57-49 | 6 | 88 | 98 | 93 | 15 | 94 | 70.0% | -2 |
| 19 | Marlins | 57-49 | 6 | 97 | 92 | 98 | -10 | 84 | 49.6% | 0 |
| 20 | Yankees | 55-50 | 2 | 95 | 105 | 86 | 4 | 97 | 26.5% | -2 |
| 21 | Guardians | 53-53 | -1 | 93 | 94 | 92 | 3 | 104 | 31.8% | 0 |
| 22 | Cardinals | 47-60 | -4 | 110 | 106 | 104 | -5 | 107 | 1.2% | 0 |
| 23 | Mets | 50-55 | -1 | 103 | 108 | 106 | -6 | 74 | 12.2% | 0 |
| 24 | Pirates | 47-58 | 2 | 90 | 104 | 101 | 1 | 66 | 0.3% | 0 |
| 25 | Nationals | 44-62 | 0 | 94 | 109 | 120 | 0 | 57 | 0.0% | 1 |
| 26 | Tigers | 47-59 | 4 | 86 | 105 | 101 | 3 | 56 | 1.6% | -1 |
| 27 | White Sox | 43-64 | -2 | 87 | 107 | 108 | -9 | 32 | 0.1% | 0 |
| 28 | Royals | 32-75 | -5 | 82 | 116 | 110 | 15 | 48 | 0.0% | 0 |
| 29 | Rockies | 41-64 | 2 | 80 | 122 | 97 | -12 | 24 | 0.0% | 0 |
| 30 | Athletics | 30-77 | 0 | 89 | 136 | 127 | -9 | 19 | 0.0% | 0 |
Jake Mailhot is a contributor to FanGraphs. A long-suffering Mariners fan, he also writes about them for Lookout Landing. Follow him on BlueSky @jakemailhot.
Yankees still being above No Man’s Land is preposterous. They’re a really bad team that’s only going to get worse in the next few seasons. 4th place is their ceiling until maybe 2027.
5 games over .500 in a really tough division is “a really bad team”?
Okay, they’re not as bad as their situation is. They have no road forward. They’re missing the playoffs because they’re old and getting older, and a few of the declining old guys are under contract for years to come. Their prospect pipeline is shallow and based on their track record in the past five years, none will pan out to even be average major league regulars. Oh, and their GM is liable to do something truly stupid like trade for Kris Bryant over the offseason or something like that.
“Really bad” – no; “poorly constructed” – possibly.
When the Yankees were at their absolute modern-era nadir (1990-91), they were back to the playoffs in four years (and likely three, if not for the strike). 2027 is still a ways away.
That having been said, they are in a really precarious position. Their farm system is as thin as it has been in a decade and the only young controllable players at the MLB level are Torres and Volpe. Most of the position player prospects have stalled or regressed this year.
I’m honestly not sure which of the Guardians or Twins wants to win the division less. Not only have the Twins not been playing with much urgency, but there have been discussions about trading the expiring contracts of Gray, Kepler, and/or Maeda. And the Guardians are the Guardians. I think both teams realize that their chances for an extended postseason run are limited this year, and are trying to improve their odds for next year. The Twins by trading their short-term assets, and the Guardians by blooding their young prospects, particularly their pitchers.
Watch one of them go on an inexplicable hot streak and win it all.
Thing is, the more teams you let into the post season, the more likely it becomes that some team with two viable starting pitchers will squeak into the playoffs with 83 wins and manage to win a championship.
Yeah, the playoffs are basically a crapshoot in baseball more than any other sport. But honestly, I don’t think either team cares or views it as likely.
And with that, looks like the Guardians have thrown in the towel. Trading away Civale for a guy who won’t be ready till (hopefully) next year.
To be fair, the 2006 Cardinals had 3 viable starters (plus the best game of Anthony Reyes’s career in the World Series), although Jeff Weaver never did much after that run.
Should recent roster moves be considered in this? It seems weird to drop the Rangers down after they just got two stud starting pitchers.
It’s fair, since A) they’re covering for injured players, and B) the Rangers just came off a terrible week.
Also, their bullpen is still below-average, and that’s what’s been killing them all year.
LOL Cubs.
That is all.
The best team in the AL is ranked 9th?
Not the best by run differential, base-runs, or Pythagorean W/L. Run differential has them at 56 wins, pythag at 57. Good, but not best in MLB. And BaseRuns has them all the way down at 54. Their defense and mediocre rotation ding them pretty hard.
Personally, I think actual results should be weighted much heavier, but I digest. I’m going to try to stop understanding how these Power Rankings work, lol.
It’s not that hard to understand! They’re not rating performance, the rankings are rating the team’s ability to go all the way. Which teams are most likely to perform well in a postseason setting? Which is why the Padres are still rated above the Reds, for example. They have a superior offense, superior defense, and superior pitching staff to this point in the season (and since May 26th, by a lot, since my fellow Reds fans are clinging to that date. Reds are +42 run differential since then. Padres are +89, more than double the Reds). It’s just that the Padres are playing in a much tougher division and against tougher competition.
The Orioles are getting dinged because between their below-average rotation and subpar defense, they allow a lot more runs than their contemporaries.
Nothing wrong with digesting. In fact, 9 out of 10 doctors recommend it!
tell me about this tenth doctor
They’re extremely easy to understand. They lay out their methodology at the top.
They’re preposterous and have been since day one. The rankings don’t even come close to following the numerical rankings that purport to show a teams strength.
That’s why MLB does something as radical as actually playing the games and – get this – wins and losses actually count! As unfair as it undoubtedly is, x-stats change nothing! Can you believe that?
MLB really needs to get with the program. It’s so 1990’s.
Play 162 games, establish all the important numbers, and then have FG simulate the season a million times to determine the champs and the deserved statistics for all individuals.
Shockingly, this is a website that attempts to understand the underlying points that lead to success. If you just take the obvious wins and losses, you might as well compute things based on batting average still.
Also, if you think like that, why are you even here? Honest question.
I read FG because I’m interested in much of what it offers and what their writers write about. I’m not one of those old-timers who is always moaning about analytics (though I am getting up there in age). But it has always seemed to me that there is a small contingent of people who regard reality as something of an inconvenience.
Specifically, regarding these rankings…. they’re a bit insane. Why bother to assign a numerical value, one that often contradicts real-world results btw, and then completely ignore them when you assign your rankings?
The Mariners are fascinating. They’ve been ranked pretty highly in every one of these rankings but they continue to flirt with their old buddy .500. They have an above average offense with all but one regular massively underperforming their xWOBA. What’s going on in Seattle? The team could surprise a lot of people these last two months, I think.
Just curious, can you run the Reds Team Quality since May 26th?
Reds fan here…the team is very different since Matt McLain and ELDC call ups in May. Their wRC+ since May 15 is 104; which 12th in baseball. Their season metrics are weighted down by the first 6 weeks of the season. Personally, I think they should be in the same section as the Cubs and Phillies.
The Orioles have had a winning record every month. They are 32-21 at home and 32-20 on the road. They are 21-13 vs. the AL East with a winning record against every club except Boston who they have gone 3-3 against. They are also 44-36 vs. teams over .500. All of this would seem to indicate a little better than a solid contender right below the Cubs and the Mariners.
The Rays, on the other hand, are only 27-25 on the road and 38-34 vs. teams over .500.
Oh and forgot, Blue Jays are 7-21 versus the AL East. On the cusp of greatness?
Sorry Blue Jays are now 8-23 vs AL East after the wannabe Orioles took 3 of 4 from them at home including knocking their ace out in 4.1 innings. Maybe not so close to the cusp.
If you’re using RAA as one of the inputs, having RA9 (even as only half of the pitching value) makes little sense, as you wind up double counting the overlap of RAA and RA9.
I know it’s silly to care about any rankings because ->scoreboard<- but how do you justify the O’s in 9th? At some point actual performance has to be accounted for.