The Mirpur Test was a dream game for Shakib Al Hasan. Out of the four innings of the match, Shakib was Bangladesh's best player in three, top-scoring in their first innings with 84, and then taking five-fors in each of Australia's innings. In terms of an all-round performance, it was close to perfection. The only time he didn't show up was in Bangladesh's second innings, when he was dismissed for five.

The advantage an allrounder has over a specialist is the ability to contribute meaningfully with both bat and ball, but very seldom in a Test do we witness one player stepping up in all four innings. Doing the stellar act in three is rare enough: Shakib's effort in Mirpur was only the 14th instance in Test history of a player taking two five-fors and passing 50 at least once in a match.

In the last 20 years, this has happened just three times, and Shakib has been the protagonist twice. In 2014, he scored 137 and took two five-fors against Zimbabwe. The only other such instance in the last couple of decades is Dale Steyn's 76 and two five-fors in the MCG Boxing Day Test in 2008. In the 1980s, when several top allrounders were in their pomp, it happened five times, with Richard Hadlee achieving it twice.

Two five-fors and a 50-plus score in a Test since Jan 1980 Player Bat1 Bat2 Bowl (Match) Opposition Ground Year Shakib Al Hasan 84 5 10/153 Australia Dhaka 2017 Shakib Al Hasan 137 6 10/124 Zimbabwe Khulna 2014 DW Steyn 76 DNB 10/154 Australia Melbourne 2008 DJ Nash 56 DNB 11/169 England Lord's 1994 Abdul Qadir 61 - 10/186 England Karachi 1987 RJ Hadlee 54 - 15/123 Australia Brisbane 1985 Imran Khan 117 DNB 11/180 India Faisalabad 1983 IT Botham 114 DNB 13/106 India Mumbai 1980 RJ Hadlee 51 17 11/103 West Indies Dunedin 1980

Similarly, there have only been 14 instances of a player passing 50 twice and taking a five-for in a Test. Since 1980, it has only happened seven times. You would expect more batting allrounders to be a part of this list, but players like Bhuvneshwar Kumar, Daniel Vettori and Wasim Akram also sneak into this list.

No player has scored two fifties and taken two five-fors in a Test, but Shakib is one of only two players to figure in both these lists; Ian Botham is the other. Shakib achieved the "batting double" (two 50-plus scores and a five-for) against West Indies in Mirpur in 2011, while Botham is in the list courtesy the legendary 1981 Headingley Test.

Overall, Shakib has three performances in these two lists, which is the most for any player. In fact, he alone accounts for nearly 11% of all such performances (three out of 28). Only two others - Botham and Hadlee - figure more than once, which is a good indicator of Shakib's all-round pedigree, and his ability to bring it all together with both bat and ball in one match.

Two 50-plus scores and a five-for in a Test since Jan 1980 Player Bat1 Bat2 Bowl (Match) Opposition Ground Year B Kumar 58 63* 5/82 v England Nottingham 2014 Shakib Al Hasan 73 55 6/142 v West Indies Dhaka 2011 DL Vettori 55* 76 9/133 v Bangladesh Chittagong 2008 JH Kallis 110 88* 7/124 v West Indies Cape Town 1999 CL Hooper 81 67 7/178 v India Nagpur 1994 Wasim Akram 52 123 6/129 v Australia Adelaide 1990 IT Botham 50 149* 7/109 v Australia Leeds 1981

In the last few years, there haven't been too many genuine allrounders in Test cricket, but even among the few who qualify, Shakib is clearly ahead in almost all parameters. Since the beginning of 2014, only five allrounders have achieved the double of 1000 runs and 50 wickets in Tests - apart from Shakib, the others in the group are England's Ben Stokes and Moeen Ali, and India's R Ashwin and Ravindra Jadeja. As the table below shows, none of their all-round numbers compare favourably with those of Shakib.

In these three and a half years, Shakib has played about half the number of Tests that some of the others have played - which is a reflection of the skewed workloads for teams - but in those limited opportunities, he has done much better than the others. Shakib has a batting average of more than 48, and a bowling average of 31, which means the difference between his batting and bowling averages is 17.5. The next best is Jadeja's 8.93, followed by Ashwin's 6.22.

However, even more impressive is Shakib's percentage contribution to Bangladesh's runs and wickets. In these 18 Tests, he has contributed almost 16% of the team's bat runs, and taken nearly 30% of their bowler wickets. Both Ashwin and Jadeja have also taken truckloads of wickets during this period, but their batting contributions have been far lower than Shakib's, which isn't surprising given that both are bowling allrounders in a line-up laden with prolific batsmen.

Also, while Stokes and Moeen have both played key roles with both bat and ball, neither has contributed as much to their team. Stokes has taken only 82 wickets in 35 Tests during this period, an average of 2.3 wickets per Test, compared to Shakib's 73 in 18 (4.1 per Test). Similarly, while Moeen has taken more wickets than Stokes (three per Test), he has contributed only 9.8% of England's bat runs in the 43 Tests he has played during this period. (That isn't a criticism of his abilities; it is just that batting often at No. 8 gives him little opportunity to perform.) In comparison, Shakib is far more crucial to Bangladesh's success with both bat and ball.

Adding up the batting and bowling percentages, Shakib's tally stands at 45.5, while the next best is Ashwin's 41.2, followed by Jadeja's 34.5.

In a decade-long career that has spanned 50 Tests, Shakib is among 14 players who have achieved the double of 3000 runs and 150 wickets. Among these 14, only four - Garry Sobers, Jacques Kallis, Imran Khan and Shaun Pollock - have a higher difference between batting and bowling averages. Shakib's difference of 8.92 is higher than those for Botham (5.14), Hadlee (4.86), Chris Cairns (4.13) and Kapil Dev (1.40). That is a pretty good yardstick for just how special an allrounder Shakib has been for Bangladesh.

And for those who argue that he has played a lot of his cricket against Zimbabwe, the numbers don't back that up, in Tests at least. Out of 50 Tests, only six have been against Zimbabwe. In these matches he averages 39.50 with the bat, and 23.26 with the ball. Exclude Zimbabwe, and his stats are still mightily impressive: a batting average of 41.25, and a bowling average of 33.52. It is tough to argue with numbers like those.