SAN FRANCISCO — The new CBA was supposed to make the MLB season more competitive and eliminate tanking. Through a month of action, that’s not exactly happening.
There are two extremes right now without much of a middle class. Three teams are on pace to win more than the 107 games the Giants did last season, including a Dodgers club that’s on track for 118 wins even though most of the lineup is off to a slow start. Nine teams are currently on pace for 100 wins, including the Minnesota Twins and Los Angeles Angels.
On the other end, the Cincinnati Reds are historically awful and six other clubs are on pace for 100 losses. MLB hasn’t had a season with more than four 100-loss teams this century, and even with the expanded postseason, some teams could be packing it up well before the trade deadline.
RELATED: Posey reveals Bart’s best trait after watching young catcher
If the situation stays the same, we could see an unprecedented level of trade activity in June and early July as teams look to jump the market, but the second week of May is too early for that kind of churn. Instead, here’s the latest look at how all 30 stack up:
30. Reds (5-23): They’re on pace for 133 losses, and it’s not even like they can start scouting potential No. 1 draft picks. The new CBA includes a draft lottery.
29. Tigers (8-19): Their big offseason additions are off to a rough start. Javier Baez has a .675 OPS and lefty Edwin Rodriguez has a 4.50 ERA through six starts.
28. Pirates (11-16): They’ve always had a lot of ex-Giants, but their bullpen right now is particularly filled with old friends. Heath Hembree has made 13 appearances, Chris Stratton has 12 and Anthony Banda was with the Giants at one point, too. Their closer, David Bednar, is the older brother of Giants prospect Will Bednar.
27. Royals (9-16): Bobby Witt Jr. was one of several top prospects to make an Opening Day roster, but there have been growing pains. The 21-year-old infielder has a .604 OPS and 21 strikeouts to three walks.
26. Nationals (10-20): One of the weirder stats of the first month-plus of games: Juan Soto has six homers but has driven in just eight runs.
25. Orioles (11-17): It appears help is finally on the way. Adley Rutschman, the game’s top prospect, should be up soon, and Grayson Rodriguez won’t be far behind. The right-hander is one of the top 10 prospects in baseball and has 38 strikeouts in 27 innings in Triple-A.
24. A’s (10-18): They’ve lost nine in a row, but at least Frankie Montas (3.44 ERA, .188 average against) is keeping his trade value up. So there’s that.
23. Red Sox (10-19): Jaylin Davis was 2-for-4 in a couple of appearances after the Red Sox picked him up from the Giants, and they’ll now take a look at another former Giant. Carlos Martinez didn’t work out in San Francisco but signed a minor league deal with the Red Sox.
22. Cubs (9-18): Their best starter has been former Giant Drew Smyly, who has a 3.04 ERA and 1.23 WHIP in five appearances.
21. Rangers (11-15): Marcus Semien, one of their two huge offseason additions, has been one of the biggest disappointments during a season when offense has been suppressed around the league. Semien hasn’t homered yet and has a .252 on-base percentage.
20. Phillies (12-16): Congratulations to Jean Segura, who hit his 100th career homer on Sunday afternoon.
19. Diamondbacks (15-14): Madison Bumgarner was in the news last week when a creepy hand check by an umpire led to a confrontation and ejection, but the real story of his season is how well he’s pitching. Bumgarner has a 1.50 ERA through six starts and is riding a cutter that he’s throwing more than 50 percent of the time.
18. Rockies (16-12): A back injury will keep Kris Bryant on the IL as the Rockies visit San Francisco for the first time, but some familiar faces will be in town. Connor Joe has a .347 OBP and four homers, and Ty Blach has a 5.84 ERA in seven relief appearances.
17. Mariners (13-16): Here’s a sentence you didn’t think you would read in 2022: Seattle Mariners right-hander Sergio Romo threw a simulated inning against Ichiro Suzuki last week and should return from shoulder discomfort soon.
16. Marlins (13-15): Lefty Steven Okert continues to be one of their best relievers. The former Giant has allowed just one run in 11 appearances.
15. Guardians (14-14): NorCal native Steven Kwan has slowed down after that crazy start, but he’s still batting .316 through his first 22 big league games with 11 walks to nine strikeouts.
14. White Sox (14-13): Former Cal star Andrew Vaughn has been their best hitter so far, posting a .933 OPS with four homers and a dozen RBI. The Santa Rosa native was the third overall pick in the 2019 MLB Draft just three years ago.
13. Braves (14-16): Alex Dickerson had some bad luck at times last year with the Giants and that followed him to Atlanta, where he had a .452 expected slugging percentage but an actual slugging percentage that was just .212 when he got DFA’d. Dickerson cleared waivers and is now with the Braves’ Triple-A club.
12. Cardinals (16-12): The Giants got a look at Ryan Helsley over the weekend, and right now there isn’t a more overpowering reliever in the game. With a fastball that averages 99 mph and has maxed out at 103, he has struck out 20 and allowed just one hit in 10 innings.
11. Twins (18-11): Marin County’s Joe Ryan has been one of the best pitchers in the American League through a month. Ryan has a 1.63 ERA in five starts and has allowed just 16 hits in 27 2/3 innings.
10. Blue Jays (17-13): Catcher Tyler Heineman, who teamed with Chadwick Tromp briefly after Buster Posey opted out of the 2020 season, has played eight games for the Blue Jays and is 4-for-14 with a pair of doubles.
9. Angels (19-10): They made a big bet on Noah Syndergaard in the offseason and so far it’s paying off. Through four starts, the former Mets star has a 2.63 ERA.
8. Giants (16-12): After the roughest stretch under Gabe Kapler, they have a good chance to get back on track over the next nine games. A trip to St. Louis is sandwiched by two series against the Colorado Rockies.
7. Padres (19-10): They’ve got to be happy with their quick start given they’re without Fernando Tatis Jr., and a lot of their starters are ice cold at the plate. Aaron Nola, Wil Myers, Trent Grisham and Luke Voit all have an OPS under .540.
6. Astros (18-11): Their player development machine just keeps churning out good infielders. After they watched Carlos Correa walk, they turned shortstop over to rookie Jeremy Peña, who already has six homers.
5. Rays (18-11): A couple of former Padres are making a big impact across the country. Catcher Francisco Mejia has a .957 OPS and two homers and outfielder Manuel Margot has a .885 OPS and three homers.
4. Brewers (19-10): Trevor Gott had a rough night against his old team, but otherwise he’s been a hell of a reclamation project for the Brewers, who just have the magic touch when it comes to relief pitchers. Gott has allowed just two runs in 10 appearances and has 15 strikeouts.
3. Mets (20-10): They truly do seem like a new version of the Mets, and not just because they overcame a six-run deficit for a win last week — something they might have been on the other side of for the last couple decades. The decision to cut ties with Robinson Cano was a smart one, putting an emphasis on performance over contract.
2. Yankees (19-8): Aaron Judge bet on himself, and if he keeps hitting this way he’s going to be feeling pretty, pretty good about his decision. After turning down long-term money, Judge has nine homers and a .965 OPS. It looks like he’ll hit the open market as a 30-year-old superstar.
1. Dodgers (19-7): All the preseason talk was about a lineup that added Freddie Freeman, but their pitching staff has allowed just 60 runs so far, 37 fewer than the next closest team in the National League. Corbin Burnes led the NL with a 2.43 ERA last season. The Dodgers are currently at 2.07 as a team.
function getCookie(cname) let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for (let i = 0; i < ca.length; i++) let c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); return ""; if (getCookie('usprivacy') === '1YYN') fbq('dataProcessingOptions', ['LDU'], 0, 0); fbq('init', '674090812743125'); fbq('track', 'PageView');