The fact that the Los Angeles Dodgers are fighting for a spot atop the NL West doesn’t come as a surprise to anyone. The fact that the Colorado Rockies have spent 63 days in first place and the Arizona Diamondbacks are only a game back is a surprise to pretty much everyone.

After last season, when the Rockies and Diamondbacks finished 16 and 22 games behind the Dodgers, respectively, many observers expected similar finishes in 2017. This season, from an offensive standpoint, the Rockies and D-Backs basically the same teams.

As a team last year, the Rockies hit .275 and scored 845 runs (5.2 runs per game). This season, they’re batting .272 with 371 runs through 70 games (5.3).

It’s a similar story for the Diamondbacks who batted .261 and scored 752 runs in 2016, good for 4.6 runs each game. They are now batting .262, but are scoring more runs with 349 through 68 games (5.1 per game).

The difference for both the Rockies and the Diamondbacks this season has been a pitching resurgence.

For the Rockies, it has been a youth movement led by a quartet of rookies. Of Colorado’s NL-best 44 wins, 25 have come from rookie starters.

The Diamondbacks, on the other hand, have been led by 2009 AL Cy Young winner Zack Greinke (8-3, 3.00 ERA) getting back to his pre-Arizona form.

A pitching resurgence doesn’t make a whole lot of sense for either of these teams when you take into account their respective home ballparks. Park factor, according to ESPN Stats, “compares the rate of stats at home to the rate of stats on the road. A rate higher than 1.000 favors the hitter. Below 1.000 favors the pitcher.” So far this season, Chase Field has the highest park factor rate at 1.391, and Coors Field is right behind with a 1.358 rate. Last season was a similar story with Coors leading with a 1.368 rate and Chase in second at a rate of 1.225.

The biggest statistical difference for Diamondback pitchers comes in the form of quality starts. After racking up just 62 quality starts last season as a whole, the Diamondbacks already have 34 this season in 68 games. If they continue at this pace, they will amass 81 quality starts in the 2017 season. While Greinke has been solid for Arizona, with an 8-3 record and 3.00 ERA, Robbie Ray has been just as good. Ray is 7-3 with a 2.62 ERA and nine quality starts.

The Rockies, on the other hand, have just found ways to give up less runs. Last season, they had a team ERA of 4.91. So far this season, they have kept that down to just 4.16. Giving up .75 less runs each game has been a huge reason for the win count spiking in Denver. Colorado’s starters boast a 4.14 ERA, while their bullpen is not far off at 4.19, good for a combined fourth-best in the National League.

Of the five teams with winning records in the NL, three hail from the West – Colorado, Arizona and the Los Angeles Dodgers. In fact, those three teams rank 1-2t-2t in the entire NL in terms of winning percentage.

Including their current matchup with San Francisco, Colorado’s next five series are all against NL West opponents. In that time the Rockies will play the Diamondbacks twice, with a series at Coors and one at Chase. They’ll also face the Dodgers in Los Angeles. You can expect the NL West race to get tighter every single game, but don’t be too surprised if Rockies and Diamondbacks’ pitchers continue to thrive in hitters’ parks. They’ve been doing it all season.