Best ODI batsman of all time? For India, maybe, but worldwide, I'd say Viv Richards is still the best. Dhoni's slightly behind Tendulkar, and barely ahead of AB largely due to the number of ODI caps he has. What makes his nearly decade-old career in ODIs impressive is that he's been raking up the numbers from lower down the order, and he has always played as a wicketkeeper, much like Gilly, unlike his South African counterpart AB. Plenty of batsmen have got breathtakingly good figures lately, so what should decide the best ODI batting top six, forget single best ODI batsman, should be the number of ODI caps, and also what was the going rate during each batsman's time. Amla will have his rough patches, AB and Dhoni have had theirs, but I guess only when their careers end or they reach career milestones, can we decide.