Most teams are about 25 or so games into the season, and there are already some clear winners and losers out there.
Before we get to the good news -- and this column is all about good news -- let's talk about teams that have lost 100 games in a season. That is the epicenter of baseball awfulness, the 100-loss team. Very few baseball teams actually lose 100 games in a season, fewer than you would probably expect.
Just one team -- the 2016 Minnesota Twins -- has lost 100 games since 2013. Only five teams in the 1990s lost 100 games (though this was in part because of the labor strife in the middle of the decade that shortened two seasons).
The record for most 100-loss teams in a single season is four -- that happened in 2002, when the Rays, Royals, Tigers and Brewers all did it. Kansas City had 99 losses going into the final day, and it sent out a Spring Training lineup with Kit Pellow hitting cleanup because, as the Royals said afterward, "What's the difference between losing 99 and 100 games?"
At this moment, seven teams have a winning percentage well below .389, which is what you need to not lose 100 games, so that "record" of four 100-loss teams could fall. When you have this many teams playing poorly, that naturally suggests that many teams are playing well, too -- and yes, seven teams are on a 100-win pace, too, and those don't even include preseason favorites like the Yankees, Nationals, Dodgers, Cubs and Indians.
So yes, the teams at the top and bottom are already sorting themselves out.
But every team -- even the Reds -- has had something good happen in the early part of 2018. Really, it's true. Just look:
American League East
Red Sox: Everything is good in Boston right now. The best news? You could choose Mookie Betts' return to AL Most Valuable Player Award form. But let's pick the resurgence of Rick Porcello. He won the AL Cy Young Award just two years ago, but he gave up so many hard-hit balls in 2017 -- he allowed 52 barrels, the most in the Majors -- that many assumed the Cy Young Award-winning year was a fluke. This year, Porcello has only given up three barrels in five starts, his strikeout-to-walk ratio is a sensational 8.0 and he has not yet allowed a home run.
Video: BOS@TOR: Porcello K's nine over seven solid frames
Yankees: The thrilling early success of the kids -- Miguel Andujar and Gleyber Torres, in particular -- no doubt has Yankees fans dreaming of a dynasty. But the best news is Didi Gregorius, obviously. He was supposed to be a defense-first shortstop; nobody knew if he would hit at all. Now, Gregorius is raking. You expect him to come down to earth a little bit, but even if he does, Giancarlo Stanton and Gary Sanchez will have likely geared up. The Yanks are averaging six runs per game. They might average 10 for the rest of the season.
Blue Jays: There's a lot going right in Toronto in the first month, but the way this team is scoring runs early on has everybody stunned. Josh Donaldson has barely played, Troy Tulowitzki hasn't played at all, Randal Grichuk is hitting .079, Justin Smoak has struggled and this team still averages 5.3 runs per game, third in the AL. How? Well, let's point to 37-year-old Curtis Granderson, who is hitting .321/.433/.571. Granderson is one of the most popular players in baseball; his comeback is one of the early season's feel-good stories.
Video: Must C Clutch: Grandy nabs Nunez, belts walk-off HR
Rays: The emergence of super-utility player Daniel Robertson has been a reason that the rails have not come off for Tampa Bay. He was a big prospect several years ago, but in a 75-game trial last year, he didn't hit at all (.206/.308/.326). It has been a different story this year; Robertson is hitting .346 with extra-base power. But his real value is his almost freakish versatility. Robertson has played every infield position, except catcher. He has even pitched a clean inning.
Orioles: No, there isn't much good news in Baltimore … but at least there's Richard Bleier. What a story. He is a 31-year-old lefty who generally does not break 90 mph. In an era of strikeouts, Bleier hardly ever strikes out anybody. And yet -- armed with a sinker and impeccable control -- he has been fantastic. In 15 2/3 innings, Bleier has earned the win in two of the O's six victories, and he has an 0.57 ERA. He is a throwback to the time of closer Dan Quisenberry, who pitched to contact, made hitters beat the ball into the ground and used to say, "natural grass is a wonderful thing for little bugs and sinkerball pitchers."
Indians: The simple fact that Cleveland leads the division with a winning record, despite being last or almost last in just about every offensive category, is probably the best news. There is no way that the offense will continue to be this hit-unlucky. But that's bad news masked as good news, so instead, let's go with the emergence of Mike Clevinger as a dominant starter. He's a four-pitch right-hander who mixes in a fastball, slider, cutter and changeup. That changeup in particular has been devastating -- Clevinger has allowed one hit on it all season -- and if he can settle in as a force in the fourth-starter spot, there will be World Series dreams all season in Cleveland.
Video: CLE@BAL: Clevinger dominates O's with two-hit shutout
Tigers: Detroit has been playing better than expected -- manager Ron Gardenhire's teams do play hard -- and 24-year-old third baseman Jeimer Candelario has been a big reason. The Tigers picked him up at the non-waiver Trade Deadline from the Cubs in 2017, and he impressed everyone by hitting .330 and showing superb plate discipline in a 27-game trial. This year, Candelario has been sensational, hitting .290/.359/.548 with 13 extra-base hits, including an AL-leading three triples.
Here's just a fun oddity: Candelario has not yet stolen a base in the Majors. If you go back to 2014, he has played in 584 games including the Minors and the Arizona Fall League. Candelario has stolen one base over that time -- last year for Triple-A Toledo. He has hit 20 triples over that same stretch.
Twins: The early success of Jose Berrios has not only been the best news in Minnesota for now, it is the best news the Twins could have gotten. He mixes his mid-90s fastball with a breathtaking curveball, and when he is right, he is all but unhittable, as he was on Opening Day (and two other starts when he did not allow a run). When Berrios is not right, he gets battered around, like he did against the Yankees in his last start. So far, he has been right more often than not. If Berrios can reduce the bad starts so that he only has two or three a year, he will be an AL Cy Young Award candidate.
Video: CLE@MIN: Berrios hurls seven scoreless in Puerto Rico
White Sox: Not much good is happening on the South Side, but 24-year-old Reynaldo Lopez has pitched well. This has not been easy to see, because he has gotten absolutely no run support -- the White Sox have scored four runs over his four starts. But Lopez has allowed two runs or fewer each time out, and he has proved to be hard to hit. He has pure power, with a high-90s fastball and 93-mph slider, and as the White Sox look to move from rebuilding to contending in the next few years, he's a key player.
Royals: It's grim in Kansas City. The Royals are last in the Majors in runs scored and next-to-last in ERA, and there is nobody out there who is younger than 25. This is the hard aftermath of a World Series championship run. But we are on a mission to find good news, so there are two bits here.
1. Mike Moustakas, who came back on a one-year deal, is crushing the ball, which might make him valuable to a contender in a trade.
2. Jakob Junis is 3-1 with a 2.03 ERA through four starts; the Royals hope he can be part of the answer as they claw their way back.
Astros: It's all pretty rosy in Houston, good news in every direction. But it's fair to say that even the Astros did not expect the rotation to be this good. Nobody could have expected them (or anybody else) to be this good. Houston's starters have made 26 starts, and 19 of them were quality starts. In total, Gerrit Cole, Justin Verlander, Dallas Keuchel, Charlie Morton and Lance McCullers Jr. are 13-5 with a 2.31 ERA, a 3.8 strikeout-to-walk ratio and opponents are hitting .201 against them. You put them all together, you have one Cy Young Award candidate.
Video: LAA@HOU: Cole K's eight over seven strong frames
Angels: It's hard not to pick Shohei Ohtani's start, but you know what, I'm going with Mike Trout. We need to stop underappreciating Trout. He's crazy awesome again. Trout leads the Majors with 10 homers. He has stolen five bases without being caught. Trout is playing great defense in center field. He has a .400 on-base percentage, he's fourth in the Majors in slugging and he actually got off to a kind of sluggish start. Since April 10, Trout is hitting .360/.468/.820 with seven homers in 14 games. We are watching Willie Mays, and we should appreciate it every chance we get.
Mariners: Mitch Haniger is the right answer here. He has been sensational, hitting .294/.367/.635 and teaming up with Dee Gordon, Robinson Cano and Nelson Cruz to give the Mariners a potent offense. But the real good news might be that Seattle, for once, is off to a good start (14-10). For the most part, the past few years, the Mariners have gotten off to rough starts that have made it hard to recover. Maybe now, without a hole to dig from, they can make themselves real contenders.
A's: Oakland is scoring a lot of runs, and 34-year-old Jed Lowrie has played a major role in that. It has been an up-and-down career for him, but he did some good things last season -- he was second in the Majors in doubles -- and this year, he's stinging the ball. Lowrie has 11 barrels, which places him in the top 10 in baseball, and he's hitting .352 with an MLB-best 37 hits. At the moment, every player in the A's lineup, except their catcher, has an OPS+ higher than 100, which is considered average. They might be closer to contending than most expect.
Rangers: It's not good in Texas right now but, well, Bartolo! That's about all you can say. Bartolo! He's 45, he's barely throwing 90 mph and he's throwing his sinker pretty much every time out. But so far, Bartolo Colon is getting people out -- he even flirted with a perfect game -- and it is both fun and potentially helpful, as the Rangers could trade him to a pitching-desperate contender later in the year.
Video: TEX@HOU: Colon K's Fisher, perfect through six
National League East
Mets: There are several good things happening with the Mets -- Asdrubal Cabrera's crazy hot start, Jacob deGrom and Noah Syndergaard look good, excellent work from the bullpen -- but coming into the year, the Mets were really hoping for one thing: Health. Last year was biblical. This year, the Mets have not gotten away injury-free -- catcher Travis d'Arnaud sustained a season-ending tear in his right elbow. But in general, the Mets are healthy, and early on, they're winning a lot of close games, and there's a good vibe.
Phillies: Good news everywhere in the City of Brotherly Love, but let's go with the superb start by Nick Pivetta. The Phillies deeply believed in him after last season, even though his numbers (6.02 ERA, 4.87 FIP, batters slugged .492 against him) did not impress. They talked all Spring Training about Pivetta taking the next step. Well, he has the stuff -- a mid-90s fastball and an overpowering slider -- and Pivetta has been superb in the early part of 2018 (2.57 ERA, 2.30 FIP, batters slugging .307 against him). The most impressive part has been his improved control and command -- he has walked just four in 28 innings.
Braves: The promotion of phenom Ronald Acuna Jr., who hit his first career homer Thursday, is good news for everybody. But there's a lot of good news in Atlanta. In the middle of the Braves' potent offense is 21-year-old Ozzie Albies, who is absolutely mashing the ball. He is not a big guy (listed at 5-foot-8, 165 pounds), and while scouts liked his offensive potential, nobody saw the sheer power. Albies is slugging .635 through 24 games, and he's among the MLB leaders in doubles (10) and homers (8).
Video: ATL@CIN: Albies skies a two-run home to right field
Nationals: The problem here is that the Nationals' good news doesn't exactly feel like it. The good news is that their stars -- Max Scherzer, Bryce Harper and, to a slightly lesser extent, Stephen Strasburg and Gio Gonzalez -- are all off to great starts. But the rough part is that Washington is playing uninspired baseball. The offense is average. Harper is on pace to set a record for most unintentional walks in a season, which means nobody wants to pitch to him. The bullpen has been flammable. The Nats need a nice piece of surprising good news -- Trea Turner playing 150 games and emerging as a superstar, for instance (Turner has stolen 10 bases without being caught).
Marlins: This is easy: Jarlin Garcia has been sensational since moving to the rotation. Scouts wondered whether his superior changeup would play as a starter. So far, so good. In Garcia's first big league start, he threw six hitless innings. In his second, he went five innings and allowed one hit -- he's the only pitcher to allow one or fewer hits in each of his first two starts. Garcia was excellent in his third start, too. He might be for real. The Marlins could use a break.
Cardinals: The Cards surprised a lot of people by locking up shortstop Paul DeJong after just one season. The feeling was that DeJong had some holes in his game -- his 5.9 strikeout-to-walk ratio last year seemed like a pretty big red flag for a young hitter. Well, early in 2018, his strikeout-to-walk ratio is no better (5.7), but power covers many flaws, and he has power. DeJong is slugging .584 with seven home runs, and he's playing a good shortstop.
Video: CIN@STL: DeJong extends the lead with three-run homer
Brewers: That bullpen has been insanely good. Josh Hader has struck out 31 in 15 1/3 innings and has allowed four hits. Jacob Barnes, Jeremy Jeffress, Matt Albers and Dan Jennings have all been sensational. It's a big reason why the Brewers are off to a fantastic start, despite an offense that hasn't yet kicked in.
Pirates: Oh, if this had only been a week ago, there would have been so many good things to talk about. After a rough patch … well, it's still exciting to see what Starling Marte is doing. He's hitting with some power, he's stealing bases, he leads the Majors in Outs Above Average. Marte looks like he has returned to form after his PED suspension.
Cubs: This is an easy one -- Kyle Schwarber is raking again. He mashed his seventh home run Thursday, he has been hitting close to .400 over the past few weeks, his strikeouts are down, his walks are up and everything is looking positive, at least at the plate. Schwarber is a defensive liability, but if he can hit like this -- and the Cubs were convinced even as he bottomed out last year that this is the real Schwarber -- he's a hugely valuable player. Now, the Cubs need to hope that their starters, particularly major acquisitions Jose Quintana and Yu Darvish, start getting people out.
Video: MIL@CHC: Schwarber rips a solo homer in the 6th
Reds: MLB.com writers across the league helped with this -- they were kind enough to send me suggestions for their teams. Reds beat writer Mark Sheldon, when trying to find good news, wrote, "The Reds are 3-1 on Mondays this season?" It has been gruesome. Joey Votto seems to be getting hot, which is always good (and always happens). And there is some hope with 23-year-old rookie Tyler Mahle, who has struggled (seven homers allowed already), but also has great potential. Mahle is coming off an impressive 11-strikeout game against Atlanta. For now, this is as good as it gets in Cincinnati.
D-backs: The D-backs have hardly been lucky so far this season, as they've dealt with more than their share of injuries. Players they have counted on, like Zack Greinke, Robbie Ray and even Paul Goldschmidt, are off to slow starts. But they have been incredibly resilient and are leading the division. The emergence of starter Zack Godley has helped. He had been in the Minors for years, and last season, Arizona finally gave him a spot in the rotation. Godley was very good, striking out 165 in 155 innings. He's better now. His curveball is the pitch he throws more than anything else. Godley gets a lot of swings and misses on it, and batters are hitting .175 against it.
Video: ARI@SF: Godley tosses seven terrific shutout innings
Rockies: The Rockies are over .500. They're not really hitting. And their starting rotation is not especially good. But they're winning just the same, in part because of how good they've been in close games. Adam Ottavino is the name to know. It's a name you probably do not know -- he's a 32-year-old reliever who has been kicking around baseball for a decade or so. Ottavino changed his stride, tinkered with his pitches and he is suddenly unhittable. He has a nasty slider and, even more, a two-seam fastball that is like a cartoon pitch. In 13 2/3 innings, Ottavino has struck out 26 and allowed only two hits. Nobody has a hit against his two-seam fastball yet.
Dodgers: Matt Kemp has been the feel-good story for the Dodgers, and what would have been the odds of that in the offseason? When they traded for him, everyone thought it was a pure salary move and that Los Angeles would release him as soon as possible. Instead, Kemp came into camp in great shape -- down 40 pounds, he said -- and everything about him (his offense, his defense, his speed) has been revived. He's hitting .313, slugging .563 and his sprint speed is up more than any other player in baseball. It's early, but in a season where so much has already gone wrong in Los Angeles, Kemp's comeback is good.
Video: MIA@LAD: Kemp cranks a two-run home run to center
Giants: Johnny Cueto has been ridiculous. He has allowed one run, and that was a cheapie he gave up against Seattle when the Giants were up, 9-0. Cueto's peripherals are terrific. He hasn't allowed a homer. He has a 5.8 strikeout-to-walk ratio. Cueto has had a superb career, but it's easy to miss just how good of a pitcher he has been. He has finished second, fourth and sixth in NL Cy Young Award voting. Maybe this is another Cy Young-type year.
Padres: Christian Villanueva was derailed as a prospect by injuries and inconsistencies. The Rangers traded him. The Cubs never gave him a chance. Villanueva signed a Minor League deal with the Padres before last season, and he hit pretty well for Triple-A El Paso. San Diego called him up for the last two weeks of the 2017 season, and he hit .344 and slugged .750 in 12 games. That opened a few eyes. Villanueva made the club as a backup this spring, and he has been absolutely mashing the ball ever since. The Padres can't get him out of the lineup; he's hitting .355 and slugging .774, and while few think this is sustainable, well, few thought he would ever do this in the first place. Villanueva is making believers.
Joe Posnanski is a columnist for MLB.com.