Among the many surprises of the 2016 season, the fact that the Blue Jays struggling offense is being carried by good performances from their starting rotation has to rank near the top of the list. Toronto bashed their way to the postseason last year, but with Russell Martin (.185 wOBA) and Ryan Goins (.198 wOBA) giving the team absolutely nothing at the plate this year, the bottom of the Blue Jays order has been a rally-killing black hole. And the lack of offense from those two have put pressure on the rest of the line-up, which means that the continuing struggles of Troy Tulowitzki have been a bit more obvious this year.

Tulo didn’t hit that well after coming over from Colorado in the mid-summer trade last year, but his defense at shortstop allowed him to remain a valuable contributor, and because the team was scoring six runs per night, his lack of offense didn’t seem like a big problem. Now, with the team scoring four runs per game, Tulo’s .172/.275/.336 line is a bit more problematic, and the offensive issues magnify his own struggles. Thankfully for the Blue Jays, there’s one easy sign to point to as reason for hope; Tulo has a .190 BABIP, which ranks 190th out of 194 qualified hitters so far this year. That isn’t going to last, and Tulo’s ability to still hit for some power and draw walks means that he should be a productive hitter once again after that number corrects itself with more time.

But it isn’t true that Tulowitzki’s problems are just bad luck. There are some legitimate reasons to think that age might just be slowing his bat in an irreversible way.

Z-Contact% is the rate of contact on swings at pitches in the strike zone. As you can see, during the first portion of Tulo’s career, he was steadily about 90%, a few ticks above the league average, which hung around 87-88% of most of that time. Combined with his power and his ability to play a quality shortstop, Tulowitzki’s contact skill was one of the primary things that made him an elite player.

As you can see, this skill has been eroding the last five years, to the tune of a two percentage point per season loss; he went from 92% to 86% from 2012 through 2015. But to start 2016, the decline has turned into a collapse; he’s at just 79% contact on in-zone swings through the first six weeks of the season, one of the lowest figures in all of baseball. While this number is trending down across baseball — the current 2016 average is just 86% — his performance relative to the league average is still significantly worse than it has been in past years.

And it doesn’t appear to be an approach problem. It’s not that Tulowitzki is now swinging at pitches on the edges that he used to take; he’s actually reduced his swing rate pretty dramatically this year, offering at just 53.7% of the pitches he’s seen in the strike zone, which would be a career low if sustained all season. If you’re being more selective about the types of strikes you’ll swing at, you should be selecting into more-hittable strikes; the fact that Tulo is swinging through more pitches while also offering at fewer strikes suggests a real problem.

Take a look at the heatmaps of his contact rates for both 2015 and 2016.

There’s a lot of bad news in that 2016 chart, but look especially at that inside area; there are drops of 20 percentage points on that middle-in and down-and-in section of the strike zone, and 5-10 point drops in the heart of the zone and the outer third. These are pitches Tulo used to hit, and often hit hard; this year he’s either taking them for strikes, swinging through them, or hitting them weakly in the air; only 7% of his balls in play this year have been categorized as line drives.

Thanks to Baseball Savant, we have Statcast’s exit velocity data for 2015 and 2016. Here’s what he did last year, and what he’s doing this year, in terms of contact quality.

For the first half of last season, Tulo was consistently well above the average, though he trended down a bit leading up to the trade, but bounced back after a short dip mid-season. This year, he’s been hanging right around the league average, so it’s not like he’s trading contact for additional power. Power and contact often are a sliding scale, and hitters can trade one for the other, but Tulowitzki appears to be making both less contact and worse contact instead of shifting around his strengths.

A drop on in-zone contact rate doesn’t have to be a death knell, of course. Andrew McCutchen has gone from 88% in 2013 down to 77% this year, and he’s still contributing to the Pirates offense. David Wright has also had a significant drop in Z-Contact% this year, and he’s running a 131 wRC+, not far off his 134 career mark. But as with Tulowitzki, both McCutchen and Wright have seen significant increases in their strikeout rates, which is what happens when you are swinging through strikes, and the only way to remain productive while putting fewer balls in play is to do damage on those balls you do make contact on.

Right now, Tulowitzki isn’t doing that either. That will probably change, as guys generally don’t go from good hitters to useless hitters overnight, and Tulo’s still showing enough power that he should be able to contribute to the Blue Jays line-up. But this version of Tulowitzki doesn’t look like the guy who was a star in Colorado. This is an old-player-skills version, a guy who strikes out a decent amount and relies on pulled home runs in order to help his team score runs. Pull-heavy guys who don’t make contact are often at the end of their road as productive hitters, and it certainly seems possible that Tulowitzki’s time as an impact offensive player is coming to an end.

There’s enough of a track record and underlying skills to expect him to still be something like a league average hitter going forward — our depth charts are projecting a 103 wRC+ over the rest of the season — and he can still play shortstop well enough that league average offense makes him a valuable player. This isn’t Tulowitzki’s obituary, and he won’t keep hitting this poorly.

But the fact that Tulo is now swinging through strikes, while being more selective at what he swings at, suggests that he’s probably never again going to be the guy he was in Colorado. He can still help the Blue Jays as a solid hitter playing a premium position, but Troy Tulowitzki as an elite player is probably gone forever.