Cricket is a sport characterized by its wealth of data and intricacies, making outcome prediction a fascinating challenge for analysts, broadcasters, and fans alike. The emergence of T20 leagues, particularly the Indian Premier League (IPL), has significantly increased the demand for advanced, real-time analytical tools. Traditional score prediction methods in cricket often depend on fixed metrics like average run rates, which do not adequately reflect the game\'s dynamic nature. This project introduces a deep learning approach to forecast the final score of a team batting first in a T20 match, utilizing historical match data and relevant contextual features. The proposed system employs a neural network model created in Python with TensorFlow and Keras, trained on an IPL dataset that includes match specific details such as venue, batting and bowling teams, batsmen, bowlers, current score, overs bowled, and wickets lost. Feature engineering is used to generate additional metrics like balls remaining, wickets in hand, and current run rate, which enhance the understanding of the match context. These features are then encoded, scaled, and input into a multilayer dense neural network to predict the expected final score. The model\'s performance is assessed using standard metrics like Mean Absolute Error (MAE) and R² Score to ensure accuracy and reliability. For real time interaction, the system is implemented with two user interfaces: a Jupyter notebook-based widget for exploratory analysis and a Flask web application that enables users to enter match details and receive immediate score predictions.
Introduction
This project aims to develop a deep learning-based predictive model for estimating the final score of a team batting first in T20 cricket matches, particularly using Indian Premier League (IPL) data. Traditional methods and machine learning techniques like Random Forest and Gradient Boosting have shown moderate success, but often lack the ability to handle dynamic, real-time match variables.
The proposed system leverages neural networks, trained on key features such as venue, teams, batsmen, bowlers, current score, overs, and wickets. Additional engineered features like balls remaining, wickets in hand, and current run rate enhance prediction accuracy. The model uses Keras with TensorFlow, and applies label encoding, MinMax scaling, ReLU activation, Huber loss, and the Adam optimizer.
A Flask web application and Jupyter Notebook interface allow real-time interaction with users, providing score predictions based on user input. Validation ensures realistic match inputs and prevents errors.
Key Objectives:
Use deep learning to accurately predict first-innings scores.
Perform feature engineering for enhanced model performance.
Build an interactive and intuitive prediction interface.
Evaluate using Mean Absolute Error (MAE) and R² Score.
System Workflow:
Data Collection & Preprocessing
Model Training
Score Prediction Interface
Web Deployment
Limitations in Prior Work:
Lack of real-time prediction.
Basic algorithms with limited learning ability.
No deep learning or scalable web-based implementation.
Conclusion
The project titled “Cricket Score Prediction Using Deep Learning” effectively showcases the use of machine learning and deep learning methods in sports analytics, particularly in cricket. The system aims to forecast the final score of a cricket match by considering various factors such as the venue, teams, players, current score, overs bowled, and wickets lost. A systematic approach was adopted throughout the project, starting with data collection, preprocessing, feature engineering, and model training utilizing deep learning algorithms. Techniques like label encoding and feature scaling were successfully applied to prepare the data for modelling. The trained model demonstrated satisfactory performance in terms of R-Squared (0.8606621623039246) Score and Mean Absolute Error (6.681155767693799).
Additionally, the project features a user-friendly web interface developed with Flask, enabling users to enter match details via dropdown menus and forms. The frontend facilitates seamless interaction, while the backend processes the data and generates real-time predictions. Various validation measures were implemented to prevent incorrect inputs and ensure the reliability of the predictions. Thorough testing and validation confirmed that the system operates accurately across various scenarios, including boundary conditions and edge cases. The model offers reasonable score predictions, making it a useful tool for cricket fans, analysts, and developers interested in sports-related machine learning applications. This project has not only deepened the understanding of predictive modelling using deep learning but has also illustrated the potential for integrating machine learning models into practical web applications.
References
[1] T. Singh, V. Singla, and P. Bhatia, “Score and Winning Prediction in Cricket through Data Mining,” International Journal of Advanced Research in Computer Science and Software Engineering, vol. 5, no. 3, pp. 469–473, 2015.
[2] E. Mundhe, I. Jain, and S. Shah, “Live Cricket Score Prediction Web Application using Machine Learning,” International Research Journal of Engineering and Technology (IRJET), vol. 8, no. 6, pp. 1478–1482, 2021.
[3] S. Kevin, B. Yadav, A. K. Pandey, and G. Rajbhar, “T20 Cricket Score Prediction Using Machine Learning,” International Journal for Research in Applied Science and Engineering Technology (IJRASET), vol. 11, no. 5, pp. 2610–2614, 2023.
[4] S. Rahul and M. Sowndharya, “Deep Learning Models for Predicting IPL Cricket Scores,” Zenodo, 2025.
[5] A. V. Shenoy, A. Singhvi, S. Racha, and S. Tunuguntla, “Prediction of the Outcome of a Twenty-20 Cricket Match: A Machine Learning Approach,” arXiv preprint arXiv:2209.06346, 2022.
[6] Kaggle, “IPL Dataset,” Accessed on: Jul. 5, 2025. [Online]. Available: https://www.kaggle.com/datasets