To me is Shakib Al Hasan, he is ranked No. 1 in three forms of cricket and I think he is the first one to ever accomplish this. I like that he’s left handed batsmen but he’s just as good with left arm orthodox spin bowling. Hasan is so young and the sky is the limit for this guy, he’s too talented.
I think the fact that Shakib is ranked as the top all-rounder in all forms of cricket goes to show just how weak the current crop of all-rounders are. Shakib is a good all-rounder but it is worth noting that he has played the majority of his Tests at home (30 at home versus 12 away). His batting average in those 12 matches outside Bangladesh is just 33.50. On top of this, he has never faced Australia and has struggled against both England (25.25) and South Africa (20.30). 49% of all his Test runs have been scored against the three worst Test teams (Zimbabwe, West Indies and Sri Lanka). 51% of all his Test wickets have also come against these three teams.
The same trend is also apparent in ODIs too. He has played 43 matches at home to just 22 away. In those away matches against the top 7 teams, his batting average drops to 18.50 and his bowling average rises to 33.62.
James Faulkner has been the best ODI cricketer over the last 2 years. Dale Steyn and Mohammad Shami are the only bowlers to have taken more wickets over this period and Faulkner has a batting average of 51.58 to boot.
For T20's, I'd go with Thisara Perera, although Yuvraj Singh and James Faulkner would also deserve consideration.
If I had to choose the best all-rounder taking into consideration all three formats of the game, my vote goes to Angelo Mathews - just ahead of James Faulkner. Mathews' average differential of 12.62 across all three formats of the game against the top 9 teams over the last 3 years is third among all cricketers (minimum of 40 wickets), behind only Kane Williamson (19.20) and James Faulkner (13.24).
I give the edge to Mathews as he has 7 centuries, Faulkner and Shakib have no centuries between them. Mathews has taken 81 wickets, whereas Faulkner has 77 and Shakib 61. For comparison, Shakib has an average differential of just 2.36. I also omitted Williamson as although he has scored 13 centuries, he has taken just 40 wickets and is more of a part time bowler than a genuine all-rounder.
The lack of quality all-rounders is especially evident in Test cricket. The list of cricketers to have taken a minimum of 25 wickets over the last 3 years against the top 7 sides and post a batting average above 30 are Vernon Philander, Moeen Ali, Ben Stokes, Mark Craig and James Pattison. Of those 5, Stokes (2) and Moeen (1) are the only batsman to have scored a century.