Machine learning in sports analytics is a hot field in computer science. Using machine learning algorithms, we can predict the outcome of a game or performance of teams or individual players and building new strategies for upcoming competitions. Cricket is one of the foremost popular games in the world. Choosing the right player is one of the most challenging work for all kinds of sport and no exception in cricket. In the field of machine learning, several algorithms are used for prediction and classifications. Machine learning algorithms like linear regression, support vector machine, random forest, and naive Bayes with linear and polynomial kernel showed good results to predict the runs scored by a batsman and runs given by a bowler. In this work, we explored the techniques that have been applied to solve the challenges in cricket.