It has been far from a vintage Manchester City season but there are several players who have made stellar contributions to Pep Guardiola's first season at the club.
Kevin De Bruyne has not replicated the sparkling form he displayed in his first campaign but he has contributed more Premier League assists than any other player and were it not for a frustrating knack of hitting the woodwork he would have a goals record to match - from an unfamiliar and demanding position.
Raheem Sterling has had an up-and-down season but in his good spells he has shown what an attacking force he can be, contributing goals and plenty of assists, while Leroy Sane has provided more than a hint of things to come with some blistering performances, even if he did take some time to find his feet.
Special mentions, too, for Willy Caballero, who deputised brilliantly when the under-fire Claudio Bravo was taken out of the limelight, as well as Aleksandar Kolarov, who has looked more of a centre-back than anybody would ever have imagined.
Gabriel Jesus and Vincent Kompany have both made telling contributions but, unfortunately for Guardiola, too fleetingly too make a real difference.
So, without further ado, let's reveal City's top three performers of the 2016-17 season in descending order...
3. SERGIO AGUERO
It has been far from a comfortable season for Aguero, but that is precisely why he makes the list. So much has been asked of the Argentine by Guardiola but - barring a slight moan in the press - he has got on with the job.
Despite changing his game to put pressure on opposition goalkeepers and defenders, as well as dropping deeper to contribute to City's build-up play, he has continued scoring goals.
Guardiola might point to the chances Aguero has failed to convert than the ones he has tucked away but, with 31 goals in all competitions, he needs just one more in the next three games to equal his highest-scoring season at City.
Aguero may not have enjoyed being benched for Gabriel Jesus but how he responded to the Brazilian's injury (12 goals in 14 games) says a lot about his character and determination to suceed - even if he just wants to prove Guardiola wrong.
Aguero has shown that he can bring more to a team than just goals; only time will tell if that's good enough to keep him at the Etihad Stadium.
2. YAYA TOURE
Toure could quite easily have suffered a very similar fate to Joe Hart. Banished from the first-team picture barring a token run-out in a dead rubber Champions League qualifier, both men seemed set for the exit door as the transfer market closed back at the start of September.
And although Toure hung on, there seemed little to no chance he would get much game time, even before Guardiola stressed he would be out of the picture as a result of his controversial agent's barbs.
But as City ploughed on with their season, and with great success initially, Toure kept working in training to make sure he would not endure an ingnominious final season at the club.
It took until November but the new-look, slim-line Toure fought his way back into the team and, typically, scored both goals in a 2-1 win at Crystal Palace. Not-so-typically, he has been playing a much more cerebral role since then, sitting at the back of midfield and dictating play.
He is still one of the City players - if not the only one - who has the type of big-game mentality that Guardiola has been crying out for in recent months. His ageing legs have meant he was found wanting, or left out completely, when City faced Monaco, Liverpool, Arsenal and Chelsea at the start of April, but when he has played he has shown not just the quality he has always had, but a new side to his game that few would have given him credit for.
If this season does prove to be his last for City, he can bow out with his head held high.
1. DAVID SILVA
There's a reason why many City fans regard Silva as the club's greatest ever player, and that's becase he always manages to stand out. His best seasons, of course, have helped deliver Premier League titles, but even in this turbulent campaign, one which has given all of Guardiola's players plenty to contend with, he has rolled with the punches.
Like his team-mates, the 31-year-old had been asked to try something different, and spent much of the season covering more ground than ever in a floating No.8 role, which required as much graft as craft.
He took that in his stride and still managed to pull the strings, even if there were teething problems for all concerned when Guardiola tried to get Silva, De Bruyne and Ilkay Gundogan into the same side.
The Spaniard struggled to stamp his authority on the side over the busy Christmas period but hit form again in the early part of 2017 and is finishing the season strongly. He is happier in a more familiar No.10 role, with Guardiola recently preferring two deep-lying midfielders behind him.
To highlight his importance to this team, City have usually looked lost without him in the line-up. Having been kicked out of the FA Cup semi-final against Arsenal and then missing the Manchester derby, it was clear that the Blues still do not have anybody capable of bringing the level of control that Silva has now provided for seven years in English football.
Fortunately for City, finding a long-term Silva replacement is not a pressing issue this summer, but when the time does come their task will not be easy.