  Cricket, especially the Twenty20 format, has maximum uncertainty, where a
single over can completely change the momentum of the game. With millions of
people following the Indian Premier League (IPL), developing a model for
predicting the outcome of its matches is a real-world problem. A cricket match
depends upon various factors, and in this work, the factors which significantly
influence the outcome of a Twenty20 cricket match are identified. Each player's
performance in the field is considered to find out the overall weight (relative
strength) of the teams. A multivariate regression based solution is proposed to
calculate points for each player in the league and the overall weight of a team
is computed based on the past performance of the players who have appeared most
for the team. Finally, a dataset is modeled based on the identified seven
factors which influence the outcome of an IPL match. Six machine learning
models were trained and used for predicting the outcome of each 2018 IPL match,
15 minutes before the gameplay, immediately after the toss. Three of the
trained models were seen to be correctly predicting more than 40 matches, with
Multilayer Perceptron outperforming all other models with an impressive
accuracy of 71.66%.
