FanGraphs Power Rankings: June 26–July 2

As Chris Gilligan wrote last week, it seems like we’re primed for an exciting and drama-filled second half of the season. There are plenty of teams still vying for a postseason berth, and the trade deadline is right around the corner as we head into the All-Star break.
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 | 56-27 | 2 | 123 | 90 | 84 | -6 | 160 | 100.0% |
| Rays | 57-30 | -1 | 126 | 88 | 102 | 6 | 161 | 99.3% |
| Rangers | 50-34 | -6 | 122 | 87 | 101 | 11 | 170 | 81.7% |
Eight is the Braves’ number this year. Not only are they sending eight players to the All-Star game in Seattle next week, but they’re also in the midst of their third eight-game winning streak this season. Incredibly, they lost just four times during the month of June and have now overtaken the Rays for the best record in baseball. They’ve weathered all those injuries to their starting rotation by simply pounding across run after run; since the beginning of June, they’ve scored nearly seven runs per game. They’ll head into the midseason break with a road trip that takes them through Cleveland and then to Tampa Bay to face the team they just passed in the overall standings.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Diamondbacks | 50-35 | 4 | 105 | 101 | 95 | 8 | 134 | 79.8% |
| Astros | 46-38 | -2 | 102 | 92 | 91 | 8 | 139 | 64.9% |
| Blue Jays | 45-40 | 1 | 108 | 96 | 92 | 3 | 142 | 56.6% |
| Giants | 46-38 | 0 | 103 | 99 | 93 | 11 | 138 | 67.9% |
| Dodgers | 46-37 | -1 | 110 | 100 | 102 | 0 | 124 | 89.3% |
| Orioles | 49-33 | 6 | 104 | 105 | 87 | -10 | 103 | 61.3% |
| Angels | 45-41 | -1 | 113 | 100 | 95 | 0 | 133 | 33.9% |
The Diamondbacks continue to set the pace in the NL West thanks to All-Star–caliber performances from Corbin Carroll, Zac Gallen, Lourdes Gurriel Jr. and an outstanding bounce-back season from Ketel Marte. The latter is one of the biggest snubs on the NL All-Star roster despite being the owner of the second-highest wRC+ among qualified second basemen in the Senior Circuit. Arizona will wrap up the first half of the season with a six-game homestand against the Mets and Pirates.
With a hard-fought win on Sunday, the Astros have taken two of the first three games in a wraparound weekend series against the Rangers to bring them within four games of the division lead and give them seven wins in their last 11 games. That’s a big turnaround after they had lost 11 of their previous 15. After a slow start to the season, José Abreu has finally started contributing offensively, with a 117 wRC+ since hitting his first home run of the season back on May 28.
The Giants couldn’t keep their momentum going last week, losing series to the Blue Jays and the Mets on the road. Luckily for them, the Dodgers only gained a single game on them in the standings after losing two of three to the Royals over the weekend. These two rivals are essentially tied, holding the NL’s final two Wild Card spots. San Francisco is getting a bit healthier — the team activated three players from the IL over the last week and should get Mike Yastrzemski back as soon as Monday — and is finally getting some positive contributions from catcher, as rookie Patrick Bailey has taken the league by storm since being called up in mid-May.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Yankees | 46-38 | 1 | 96 | 104 | 80 | 5 | 102 | 64.8% |
| Phillies | 44-39 | 2 | 101 | 90 | 95 | -5 | 117 | 55.1% |
| Marlins | 48-37 | 8 | 97 | 90 | 99 | -7 | 89 | 64.7% |
| Padres | 38-46 | -7 | 101 | 91 | 98 | 17 | 135 | 22.0% |
| Mariners | 40-42 | -3 | 100 | 95 | 96 | 9 | 127 | 15.8% |
| Twins | 42-43 | -4 | 98 | 83 | 90 | -13 | 107 | 58.6% |
| Cubs | 38-44 | -5 | 99 | 94 | 90 | 4 | 122 | 10.6% |
| Brewers | 45-39 | 5 | 86 | 99 | 99 | 15 | 85 | 59.6% |
| Reds | 45-39 | 5 | 98 | 112 | 96 | -10 | 58 | 25.6% |
Despite losing their weekend series to the Nationals, the Phillies have been playing some good baseball since the calendar flipped to June, going 18–8 last month to play their way into the middle of the NL Wild Card chase. They’re doing it all despite a prolonged slump from Bryce Harper. They’ve got a tough schedule as they head into the All-Star break: a six-game road trip through Tampa Bay and Miami.
Speaking of the Marlins, they had an up-and-down week after sweeping the Red Sox in Boston and then getting swept by the Braves in Atlanta — a series in which Miami was outscored 29–7. Sandy Alcantara has continued to struggle, which makes the recent success of Eury Pérez, Braxton Garrett, and Jesús Luzardo all the more important.
The Brewers and Reds are in a dead heat for the NL Central lead. Milwaukee has won three straight series, including a four-gamer against the Mets earlier this week. Cincinnati’s lone blemish over the past four weeks is a series loss to the Braves two weekends ago. With Hunter Greene, Nick Lodolo, and now Ben Lively on the Injured List, the Reds have had to scramble to find arms to fill up their starting rotation. Thankfully, Alexis Díaz is leading a bullpen that has been surprisingly effective. These two teams are on a collision course over the next two weeks: they play three games this weekend in Milwaukee and then start the second half of the season with three games in Cincinnati.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Guardians | 41-42 | 0 | 89 | 97 | 88 | 3 | 93 | 37.0% |
| Red Sox | 43-42 | -1 | 104 | 104 | 98 | -23 | 83 | 18.5% |
| Cardinals | 35-48 | -4 | 107 | 108 | 102 | -6 | 99 | 9.9% |
| Pirates | 39-44 | 1 | 93 | 97 | 103 | 2 | 80 | 3.9% |
| Mets | 38-46 | -3 | 102 | 112 | 108 | -6 | 72 | 11.7% |
The Cardinals managed to win their weekend series with the Yankees but were thoroughly trounced by the Astros earlier in the week. They’re stuck in a middle ground where they’re not good enough to challenge for the NL Central crown but have got too much talent on their roster to be at the bottom of the division. Jordan Walker’s success since being recalled from Triple-A is a positive sign, but this team desperately needs an infusion of new talent on the mound.
Things have gotten so bad for the Mets that owner Steve Cohen held a press conference last week to address the team’s struggles. While the message ultimately ended up being “stay the course,” they’re quickly running out of time to fix things. It’s unlikely they’ll make any big acquisitions at the trade deadline, so any improvement will have to come from the players already on the team. They did manage to beat the Giants over the weekend, which is a small step in the right direction, but they’ve still got a lot of ground to make up. They’ll wrap up the first half of the season with a West Coast road trip that takes them through Arizona and San Diego.
| Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds |
|---|---|---|---|---|---|---|---|---|
| Tigers | 37-46 | 3 | 88 | 110 | 99 | 3 | 55 | 2.4% |
| Nationals | 34-49 | 0 | 93 | 106 | 117 | -3 | 51 | 0.0% |
| White Sox | 37-49 | 0 | 91 | 105 | 111 | -7 | 43 | 5.1% |
| Royals | 25-59 | -4 | 82 | 119 | 107 | 9 | 48 | 0.0% |
| Rockies | 33-53 | 2 | 81 | 128 | 101 | -16 | 16 | 0.0% |
| Athletics | 23-63 | 1 | 88 | 143 | 135 | -8 | 15 | 0.0% |
The Royals showed some life over the weekend, winning two of three from the Dodgers to log their first series win since mid-May and their first back-to-back victories since May 28–29. They also kicked off trade season by sending Aroldis Chapman to the Rangers on Friday. They don’t have many more top prospects on the verge of the majors at this point, and their farm system is devoid of top end talent now that they’ve graduated Bobby Witt Jr., Vinnie Pasquantino, and MJ Melendez. That means the rest of this season should be focused on seeing if any of those young players can take a big step forward developmentally.
…
| Rank | Team | Record | “Luck” | wRC+ | SP- | RP- | RAA | Team Quality | Playoff Odds | Δ |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Braves | 56-27 | 2 | 123 | 90 | 84 | -6 | 160 | 100.0% | 2 |
| 2 | Rays | 57-30 | -1 | 126 | 88 | 102 | 6 | 161 | 99.3% | -1 |
| 3 | Rangers | 50-34 | -6 | 122 | 87 | 101 | 11 | 170 | 81.7% | -1 |
| 4 | Diamondbacks | 50-35 | 4 | 105 | 101 | 95 | 8 | 134 | 79.8% | 1 |
| 5 | Astros | 46-38 | -2 | 102 | 92 | 91 | 8 | 139 | 64.9% | 5 |
| 6 | Blue Jays | 45-40 | 1 | 108 | 96 | 92 | 3 | 142 | 56.6% | 0 |
| 7 | Giants | 46-38 | 0 | 103 | 99 | 93 | 11 | 138 | 67.9% | -3 |
| 8 | Dodgers | 46-37 | -1 | 110 | 100 | 102 | 0 | 124 | 89.3% | -1 |
| 9 | Orioles | 49-33 | 6 | 104 | 105 | 87 | -10 | 103 | 61.3% | -1 |
| 10 | Angels | 45-41 | -1 | 113 | 100 | 95 | 0 | 133 | 33.9% | -1 |
| 11 | Yankees | 46-38 | 1 | 96 | 104 | 80 | 5 | 102 | 64.8% | 4 |
| 12 | Phillies | 44-39 | 2 | 101 | 90 | 95 | -5 | 117 | 55.1% | 6 |
| 13 | Marlins | 48-37 | 8 | 97 | 90 | 99 | -7 | 89 | 64.7% | 3 |
| 14 | Padres | 38-46 | -7 | 101 | 91 | 98 | 17 | 135 | 22.0% | -3 |
| 15 | Mariners | 40-42 | -3 | 100 | 95 | 96 | 9 | 127 | 15.8% | -2 |
| 16 | Twins | 42-43 | -4 | 98 | 83 | 90 | -13 | 107 | 58.6% | -2 |
| 17 | Cubs | 38-44 | -5 | 99 | 94 | 90 | 4 | 122 | 10.6% | -5 |
| 18 | Brewers | 45-39 | 5 | 86 | 99 | 99 | 15 | 85 | 59.6% | 4 |
| 19 | Reds | 45-39 | 5 | 98 | 112 | 96 | -10 | 58 | 25.6% | -2 |
| 20 | Guardians | 41-42 | 0 | 89 | 97 | 88 | 3 | 93 | 37.0% | 1 |
| 21 | Red Sox | 43-42 | -1 | 104 | 104 | 98 | -23 | 83 | 18.5% | -2 |
| 22 | Cardinals | 35-48 | -4 | 107 | 108 | 102 | -6 | 99 | 9.9% | -2 |
| 23 | Pirates | 39-44 | 1 | 93 | 97 | 103 | 2 | 80 | 3.9% | 0 |
| 24 | Mets | 38-46 | -3 | 102 | 112 | 108 | -6 | 72 | 11.7% | 0 |
| 25 | Tigers | 37-46 | 3 | 88 | 110 | 99 | 3 | 55 | 2.4% | 0 |
| 26 | Nationals | 34-49 | 0 | 93 | 106 | 117 | -3 | 51 | 0.0% | 1 |
| 27 | White Sox | 37-49 | 0 | 91 | 105 | 111 | -7 | 43 | 5.1% | -1 |
| 28 | Royals | 25-59 | -4 | 82 | 119 | 107 | 9 | 48 | 0.0% | 0 |
| 29 | Rockies | 33-53 | 2 | 81 | 128 | 101 | -16 | 16 | 0.0% | 0 |
| 30 | Athletics | 23-63 | 1 | 88 | 143 | 135 | -8 | 15 | 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.
Even in my wildest dreams I’m not sure I could have imagined the Braves being 18.5 games up on the lolmets. I guess it’s true that there are some things money can’t buy. The mets are cursed.
I think the Marlins have a +44 run diff when you exclude games against the Braves (it was in a graphic yesterday, it was a little mind blowing)
To add a little more: The Braves have outscored the Marlins 83 to 29 in 10 games this year.
The Marlins are 1-9 against the Braves.
The Marlins are 47-28 against everyone else.
The Marlins are 29 RS – 83 RA against the Braves.
The Marlins are 312 RS – 280 RA against everyone else.
The Marlins pythagorean winning % is 47.1% overall.
The Marlins pythagorean winning % is 54.9% without the Braves.
The Marlins actual winning % is 56.5%.
Lucky for the Marlins, they only have 3 more games against the Braves at home to deal with.
As a fan I would love, love, love for the Jays to be the 6th best team.
The Jays aren’t the sixth best team.
On one hand, if they never played a division game they would cruise to 100 wins. On the other, if they played only division games, they would surpass 100 losses.
Kikuchi and Berrios have not been horrible! Which is a definite improvement. Manoah has been horrible and then some. Gurriel and Teoscar sure would make that offense a little more potent…
I’ve been expecting a Fangraphs article on the Braves historic power output for some time now. Make it happen! They’ve hit 19! home runs longer than 450ft and the next closet team has like 7, I think. Acuna has 7 all by himself. Are they in record setting territory? I want to know!
And, last I checked, they were on pace to break the Twins season record for home runs.
Braves against the Guardians tonight. The entire Guardians starting lineup has fewer homeruns than Olson and Acuna combined. Or Olson and Albies.
Which the Twins set in 2019 when the ball was super juiced, historically juiced. There were 4 teams who hit over 279+ home runs that year. The average home runs hit per team that year was an astounding 225.9.
This year, the average home run total per team, if continued on its current pace through 162 games, is 187.8 home runs, about 38 less home runs per team.
In 1967, 33-year-old Hank Aaron slashed .307/.369/.573, leading the NL in runs, HR, total bases and slugging and finishing 5th in MVP voting, It was his 10th best year for OPS and 6th best for OPS+. So pretty much a typical Hank Aaron year.
The Braves slashed .307/.372/.572 in June.
Looks like that’s the 2nd highest SLG ever for a team in a single month (excluding April).
The only team to beat them were the 1930 Yankees who hit an insane .366/.442/.593 in June that year.
Now that it’s obvious that Max Fried is no longer needed the Braves should ship him to Baltimore for Westburg and Kjerstad, but the only problem with that is where do they play before 2026. Just a little funnin’.