It’s still May. The Cubs are barely over .500. The Brewers are in first place. Needless to say, it’s still somewhat early in the season. Things aren’t going to end up the way they are now.

That said, we’re coming up on Memorial Day weekend, and the Arizona Diamondbacks have the fifth-best record in baseball. And if you look at our BaseRuns standings, which attempt to strip out sequencing from more-reliable performance data, the 27-19 Diamondbacks should actually be 29-17, putting them third overall in MLB, just barely behind the Dodgers for the #2 spot. They are sixth in the game in position player WAR and third in pitcher WAR.

So, yeah, it’s at least time to ask if the Arizona Diamondbacks actually good now.

Coming into the season, our projections thought the D-Backs were roughly a .500ish team, projecting them for a 77-85 finish. We liked a few of their core players, but like last year, the projections didn’t love the role players. In our positional power rankings, the Diamondbacks ranked 29th at catcher, 29th at second base, 28th at shortstop, 22nd at third base, 30th in left field, 20th in right field, and 30th in the bullpen. ZIPS and Steamer looked at this roster, saw a few stars and a bunch of scrubs, and thought there were too many holes to complement the Goldschmidt/Pollock/Greinke strengths.

So far, though, the role players are more than holding their own. While the catchers haven’t been great, the Diamondbacks currently rank sixth in WAR from second baseman, 12th at shortstop, eighth at third base, sixth in right field, 10th in left field, and 13th in the bullpen. A team that was supposed to be full of holes instead has been extraordinarily well rounded, and with Paul Goldschmidt playing up to expectations and a resurgent Zack Greinke leading the rotation, the team has been excellent across the board.

This is what Dave Stewart and Tony LaRussa thought they were going to see a year ago, when they pushed in on the present to try and win with what our projections saw as a flawed roster. It’s not exactly the same team, of course, as new GM Mike Hazen traded Jean Segura to get Taijuan Walker, dumped Wellington Castillo to get better defense behind the plate, and revamped the team’s bullpen, which was disastrous a year ago. But by and large, this is mostly the same group of guys that the old regime was counting on. So were Stewart and LaRussa right all along? Is this group actually good enough to push the team into a deep postseason run?

Our forecasts still aren’t entirely convinced. We’ve still got them as a .500 team going forward, as the projections see a lot of expected regression from the guys it wasn’t big fans of going into the season. Basically, it thinks everyone on the offense is going to get worse.

A few of those regressions are easy to buy into. Owings has a career .297 wOBA, and while he’s upped his power a little bit, most of his offensive surge this year is based on a .392 BABIP, which won’t last. But most of these guys aren’t running BABIPs significantly higher than you’d expect based on their quality of contact, and while they do have one of the larger gaps in xBA/xwOBA based on exit velocity/launch angle, some of that is just playing in a hitter-friendly park; they are +26 points in xBA this year, but they were +15 points last year, and +19 in 2015; this is pretty much the expected Chase Field effect.

Really, if we’re looking for some evidence of why the team’s offense is going to take a step backwards, we probably have to look at quality of competition. The D’Backs have already played 10 games against the Padres, which accounts for 22% of their games played to date. They play the Padres nine more times in their final 116 games, accounting for just 7% of their future schedule.

And while the Padres factor is the biggest schedule point, they also just finished up a series against the Mets in which they drew Tommy Milone, Zack Wheeler, and the ghost of Matt Harvey, missing Jacob DeGrom in the process. In seven games against the Giants, they only drew Madison Bumgarner once; same deal with the Dodgers and Clayton Kershaw. Since you don’t really control which pitchers you face, this is something that the Diamondbacks can’t count on continuing.

But there’s a decent amount of room for this offense to regress and still be effective. Goldschmidt is awesome, and Jake Lamb’s power surge has carried over from last year, making him a quality hitter as well. Yasmany Tomas and David Peralta are both above-average hitters. A.J. Pollock is good. I wouldn’t bet on the Ahmed/Drury/Owings middle infield crew to all keep hitting this well, but maybe one does, and at that point, that’s six productive bats in an eight-man NL line-up.

So, yeah, this is probably a good offensive team now. Maybe not as good as they’ve looked early, but they should score enough runs to hang around the playoff race. The question, as it was last year, seems like it will be whether the pitching is improved enough to keep games close.

The resurgent Zack Greinke is huge for the rotation, and his 35% strikeout rate in May is about as good of news as the team could have hoped for. The rest of the starters have all been varying degrees of solid, combining for +3 WAR in 182 innings pitched, so while there might be a step back here or there, there isn’t anyone so dramatically outperforming expectations that the rotation should be expected to implode.

The question, though, is depth, if and when it is needed. The team’s five primary starters are all big league quality, but if anyone gets hurt, you’re leaning on Braden Shipley, who couldn’t find the strike zone in his spot start earlier in the year. And since Taijuan Walker was just placed on the DL with a blister issue, the team is at least confronted with this issue for Wednesday’s start, in which they may go with a bullpen game given their lack of high-level starting pitching depth available. Blisters can linger — ask Rich Hill or Aaron Sanchez — so while the Diamondbacks are saying this is a minor issue, there’s potential for this to be a bigger problem.

Of course, the team could move Archie Bradley back to the rotation if they needed a longer-term fix, but he’s been one of the main reasons the bullpen has been so much better, so that would be somewhat robbing Peter to pay Paul. And with Fernando Rodney looking pretty shaky in the ninth inning, it’s not hard to imagine that Bradley could be the Diamondbacks best chance of holding leads down the stretch, so moving him out of that role could end up hurting as much as it helps.

So, yeah, there’s pitching risk here. If they could guarantee they were going to get through the rest of the season needing just their five primary starters, they’d be serious Wild Card contenders, especially with so many of the expected NL contenders falling apart. But most teams these days are cycling between seven and nine starters over 162 game season, and right now, it’s not even clear the Diamondbacks have a reasonable sixth, much less anything after that.

And that will leave Mike Hazen in an interesting position in a few weeks. The moves he made this winter seemed to set the team up as a potential seller, but with this group playing well, it’s nearly impossible to see them moving present for future barring a huge collapse in the next month or two. The current options would seem to be buy or hold, and with a depleted farm system, adding to this roster might not be so easy. But without any obvious holes in the line-up and mostly just a need for depth arms, Hazen probably could make a few minor trades to address the team’s pitching staff without entirely punting the future.

But if the new front office isn’t entirely sold on this roster, they would be passing on probably the best chance they’ll have to move Zack Greinke’s contract. Think about how movable he seemed in Spring Training, with absent velocity and $170 million left on his deal. If the front office keeps Greinke for the stretch run, and then he goes back to looking more like 2015 Greinke as they fall short of a playoff run, there could be some lack-of-seller’s-remorse pretty quickly.

But with the Giants and Mets struggling and the Brewers likely to come back to earth, the Diamondbacks have to think they have a real shot at the postseason now. We’ve got their playoff odds up to 49%, and while that’s almost all tied to a Wild Card game, you probably owe it to your fan base to go for it when you’re at a coin flip’s chance of reaching the postseason. Because October is such a crapshoot, there’s no reason Goldschmidt, Pollock, and Greinke couldn’t carry the team to a deep run if they got there.

So, yeah, I think it’s probably time to cross the Diamondbacks off the expected seller list. I wouldn’t expect them to keep playing this well as their schedule gets tougher, but if they can play .500 ball the rest of the way, they’ve got a real shot at landing one of the two Wild Card spots. And with Zack Greinke throwing like vintage Zack Greinke right now, they’d have a real shot in that game too.

This team is probably still a few arms short, but if Hazen and his staff can find a couple decent swing-types to give decent spot-starts and help the bullpen’s depth as the summer wears on, the Diamondbacks might just be for real. And while we certainly gave Stewart and LaRussa our fair share of grief over their belief in this core, they’ve got some reason to feel somewhat justified. The Shelby Miller trade will always be a massive disaster, but this Diamondbacks team is starting to look more like stars-and-decent-guys than stars-and-scrubs, and in 2017, that may very well be enough to get to October.