Over five Tests during India's tour of England in 2014, Virat Kohli averaged 13.40. Four years later, he went back to England and topped the series aggregates with 593 runs, including two hundreds, at 59.30.
Thanks to the demand that TV analysis be brief and succinct, a neat and elegant narrative has come to surround this transformation in fortunes. The 2018 Kohli had left the ball with great judiciousness outside off stump, where the 2014 Kohli had often poked nervously.
The truth, as it often is, was more complicated. The 2018 Kohli batted beautifully, as anyone must to score so many runs anywhere, let against an attack led by James Anderson in England, but he didn't necessarily turn into a monk outside off stump. Apart from everything else that went into that prolific series, luck also played its part.
Kohli had been unusually unlucky in 2014, losing his wicket 10 times to 54 false shots according to ESPNcricinfo's data. In 2018, he was out 10 times while playing 200 false shots. There may have been less uncertainty outside off stump, but he hadn't eliminated it by any means. He still played at balls he could have left alone, but he played and missed far more often than he edged them.
On Tuesday in Cape Town, though, Kohli played an innings that fully fitted the narrative of unwavering discipline outside off stump.
According to ESPNcricinfo's data, there have been 143 Test innings over the last five years where batters have faced 100 or more balls from fast bowlers that have arrived at a line outside off stump. Of all those 143 innings, Kohli's knock at Newlands featured the highest leave percentage against that sort of delivery: 57.4%.
Kohli's innings relegated such paragons of self-denial as Tom Latham - perhaps the world's best leaver on length - and Azhar Ali to second and third place, and the new-and-improved KL Rahul to fourth.
And this, of course, was Kohli's first innings since the first Test in Centurion, where he had twice been dismissed attempting extravagant drives against balls wide of off stump.
Kohli's response in Cape Town was not to shelve the cover drive entirely, but to put it on hold until a ball arrived that was pitched full enough to play the shot safely. The highlights of his 79 will include their fair share of pristinely timed drives through cover and mid-off, but those highlights will most likely not include the real highlight of his innings: the long gaps between those drives.
Decision-making, however, is only one part of shot selection. It isn't that Kohli played those loose drives in Centurion while being fully cognizant of the line and length of those balls. It's doubtful that his mind voice said: "11th stump, not quite a half-volley, but I'll go for it anyway."
No. There's another part to shot selection, and that's probably the more significant facet: judgement. Batters have a fraction of a second in which to judge the line and length of a ball and formulate a reaction to it. Most of this process is subconscious.
There are times, of course, when batters make better judgements more consistently, and times when they don't, and a lot of that comes down to the positions they get into when the ball leaves the bowler's hand. Where the feet and head are, most critically, and when things go wrong, it's usually just a matter of inches. And those small spatial margins are often dependent on minute changes in the timing of trigger movements.
Kohli's trigger movements, usually, are a back-and-across step roughly at the time the bowler loads up, followed by a small step forward and across, with the front foot landing lightly so it can still be unweighted for further adjustments based on the ball's line and length.
Right through his innings on Tuesday, Kohli seemed to be making these movements at just the right time. His front foot, as noted by numerous experts including Sunil Gavaskar in the commentary box, seemed to move smoothly forward while not getting too far across to the off side. This seemed to have two positive knock-on effects. One, Kohli seemed to get into positions from which balls wider than sixth stump were usually too far outside his eyeline, and too far from his reach, be meddled with.
And since his front leg was moving forward but not too far across, his foot wasn't pointing into the covers and closing him off. Instead, it was pointing towards mid-off, enabling him to bend his front knee and to get his head on top of the ball whenever he chose to drive. Most of his off-side drives were little more than checked pushes, but the knee bend and resultant transfer of weight into the shot sent them skimming unstoppably across the outfield.
Even after his misadventures in Centurion, there had been evidence to suggest that bad luck rather than bad judgement had been behind Kohli's recent run of ill-fortune while playing the cover drive. But he was still taking no chances here in Cape Town.
And if he was due some luck, he got little slices of it to help him along. Cheteshwar Pujara had batted with great assurance too, outscoring Kohli handily during a third-wicket stand of 62 after the two had come together with India 33 for 2. But on this day, it was to be Kohli who batted well and made 79, and Pujara who batted well and fell for 43, the victim of a close-to-unplayable ball from Marco Jansen.
Ajinkya Rahane got an even more unplayable ball during a spell in which Kagiso Rabada's scrambled-seam balls routinely deviated like legbreaks. Rahane reviewed his caught-behind decision, and Ultra-Edge showed the feeblest of spikes as ball passed bat. Not enough evidence to overrule the on-field decision of out.
A similar lack of evidence ensured Kohli survived when a caught-behind appeal off Duanne Olivier went in his favour on 39. There was a similarly feeble spike on Ultra Edge when ball passed bat, but the on-field decision on this occasion was not out.
Kohli has often been on the wrong end of the luck equation in the recent past. On Tuesday, things went his way for once. During the same, ferocious spell in which he dismissed Rahane, Rabada also beat Kohli's bat multiple times and found his edge without ball going to hand. There was also a top-edged hook that flew over the boundary.
At one point, Kohli clipped a rare ball that was a touch too full and a touch too straight into the on side, scampered to the other end, and said something to Rabada that left both combatants smiling. It was that sort of spell.
But here's the thing, the measure of how good Kohli's innings was. In that one spell from Rabada, Kohli was not in control six times in 25 balls. Over his entire innings, however, he managed a control percentage of 91.5 - this on a pitch where India were bowled out for 223.
To those who've watched him closely, none of this was a surprise. He still only averages 28.11 since the start of 2020, even after this innings, but that number is less a reflection of Kohli's batting efforts than the depth of the attacks and the challenge of the conditions that he has faced over this period. This stretch of superficially lean form has included a number of other innings that have showcased utmost technical proficiency in challenging circumstances - most notably the 74 in Adelaide, the 72 in Chennai and the 44 in Southampton.
Like those innings, this one ended quite a way short of three figures, but that shouldn't matter. Mastery is mastery.
With stats inputs from Shiva Jayaraman