https://github.com/bhargavraghuram/fantasy-team-simulation-using-player-selection-probabilities
Apna Cricket
https://github.com/bhargavraghuram/fantasy-team-simulation-using-player-selection-probabilities
artificial-intelligence csv data-analytics data-science ipynb jupiter-notebook machine-learning matplotlib numpy pandas python scikit-learn seaborn
Last synced: 3 months ago
JSON representation
Apna Cricket
- Host: GitHub
- URL: https://github.com/bhargavraghuram/fantasy-team-simulation-using-player-selection-probabilities
- Owner: BhargavRaghuram
- Created: 2025-07-20T14:40:29.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T14:41:54.000Z (12 months ago)
- Last Synced: 2025-09-13T16:54:14.860Z (10 months ago)
- Topics: artificial-intelligence, csv, data-analytics, data-science, ipynb, jupiter-notebook, machine-learning, matplotlib, numpy, pandas, python, scikit-learn, seaborn
- Language: Jupyter Notebook
- Homepage:
- Size: 223 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cricket Player Performance Analysis
## Data Science Internship Project - Apna Cricket Team
### Overview
This project provides comprehensive analysis of cricket player selection patterns, performance metrics, and predictive modeling for fantasy cricket team optimization. The analysis is based on player selection data from fantasy cricket platforms.
### Project Structure
```
├── cricket_analysis.ipynb # Main analysis notebook
├── player_data_sample.csv # Dataset with player metrics
├── requirements.txt # Python dependencies
└── README.md # Project documentation
```
### Dataset Description
The dataset contains the following columns:
- **match_code**: Unique identifier for each match
- **player_code**: Unique identifier for each player
- **player_name**: Name of the player
- **role**: Player position (WK=Wicket Keeper, Allrounder, Batsman, Bowler)
- **team**: Team affiliation (A or B)
- **perc_selection**: Percentage of users who selected this player
- **perc_captain**: Percentage of users who made this player captain
- **perc_vice_captain**: Percentage of users who made this player vice-captain
### Features & Analysis
#### 1. Exploratory Data Analysis (EDA)
- Data quality assessment and missing value analysis
- Distribution analysis of player roles and teams
- Statistical summaries and descriptive statistics
#### 2. Data Visualization
- Role-wise performance comparison
- Team performance analysis
- Selection percentage distributions
- Captain vs Vice-captain selection patterns
#### 3. Statistical Analysis
- Correlation analysis between selection metrics
- Top performer identification
- Role-wise champion analysis
- Performance metrics by position
#### 4. Machine Learning Models
- **Random Forest Regression**: For predicting player selection percentages
- **Gradient Boosting**: Alternative predictive model
- **Linear Regression**: Baseline model for comparison
- Feature importance analysis
- Model performance evaluation (R², RMSE, MAE)
#### 5. Fantasy Team Optimization
- Automated team selection algorithm
- Role-based constraints (balanced team composition)
- Captain and Vice-captain recommendations
- Composite scoring system (50% selection + 30% captain + 20% vice-captain)
#### 6. Advanced Analytics
- Market share analysis by team
- Role efficiency metrics
- Hidden gems detection (undervalued players)
- Risk analysis and ownership distribution
### Key Insights & Recommendations
#### Player Selection Strategy
- **Allrounders** typically provide the best value with highest average selection rates
- Focus on players with high leadership efficiency ratios
- Maintain balanced team composition: 3-4 Batsmen, 3-4 Bowlers, 2-3 Allrounders, 1-2 WK
#### Captaincy Decisions
- Select captains from players with >20% captain selection rate
- Consider differential captaincy picks for competitive advantage
- Vice-captain should complement captain's role and team affiliation
#### Risk Management
- Diversify across both teams for balanced exposure
- Include 1-2 differential picks (low ownership players) for upside potential
- Monitor ownership percentages for optimal risk/reward balance
### Installation & Setup
1. **Clone/Download the project files**
2. **Install required packages**:
```bash
pip install -r requirements.txt
```
3. **Launch Jupyter Notebook**:
```bash
jupyter notebook cricket_analysis.ipynb
```
### Usage
#### Running the Complete Analysis
1. Open `cricket_analysis.ipynb` in Jupyter Notebook
2. Run all cells sequentially for complete analysis
3. Each section provides detailed insights and visualizations
#### Using the Prediction Function
```python
# Predict player selection probability
predicted_selection = predict_player_performance(
player_role="Batsman",
team="A",
captain_percentage=0.25,
vice_captain_percentage=0.15
)
print(f"Predicted selection: {predicted_selection:.2%}")
```
#### Optimizing Fantasy Teams
```python
# Generate optimized team
optimized_team = optimize_team(df, max_players=11)
print(optimized_team[['player_name', 'role', 'team', 'composite_score']])
```
### Model Performance
- **Best Model**: Random Forest Regressor
- **Evaluation Metrics**: R², RMSE, MAE
- **Feature Importance**: Leadership metrics and role encoding are key predictors
### Technical Specifications
- **Language**: Python 3.7+
- **Main Libraries**: pandas, numpy, matplotlib, seaborn, scikit-learn
- **Environment**: Jupyter Notebook
- **Data Format**: CSV
### Future Enhancements
1. **Real-time Data Integration**: Connect to live fantasy cricket APIs
2. **Advanced Models**: Implement deep learning models for better predictions
3. **Multi-match Analysis**: Extend analysis to multiple matches/tournaments
4. **Interactive Dashboard**: Create web-based dashboard for dynamic analysis
5. **Player Form Analysis**: Include recent performance trends
6. **Weather & Pitch Conditions**: Incorporate match conditions data
### Results Summary
- ✅ Comprehensive data analysis completed
- ✅ Predictive models developed and validated
- ✅ Team optimization algorithm implemented
- ✅ Strategic insights and recommendations provided
- ✅ Interactive tools for ongoing analysis
### Author
Data Science Intern - Apna Cricket Team
### License
This project is for educational and internship purposes.
---
**Note**: This analysis is based on sample data and should be used in conjunction with other factors like current form, team news, and match conditions for actual fantasy cricket team selection.