An advanced UFC analytics platform powered by AI that provides deep insights into fight statistics, predictions, and performance metrics.
Click the image above to watch the demo video!
- Python 3.10
- Conda package manager
- OpenAI API key
- Create a new Python 3.10 environment using Conda:
conda create -n tko-analytics python=3.10
conda activate tko-analytics
- Clone the repository:
git clone https://github.com/jaysomp/tko-analytics
cd tko-analytics
- Install required dependencies:
pip install -r requirements.txt
-
Configure OpenAI API key:
- Create a
.env
file in the project root directory - Add your OpenAI API key:
OPENAI_API_KEY="your-api-key-here"
- Create a
-
Run the application:
streamlit run app.py
- Natural language interaction with UFC fight data
- Real-time statistical analysis and visualization
- Machine learning-powered fight predictions
- Multi-dimensional data exploration
- Automated insight generation
- Interactive data visualization
- Comprehensive UFC fight database updated through November 2024
- Multi-table query support for complex statistical analysis
- Real-time data visualization using PandasAI
- Advanced fight outcome predictions using XGBoost ML models
- Historical fight statistics and performance metrics
- Betting odds analysis and probability calculations
- Natural language query processing using GPT-4
- Conversational AI assistant for data exploration
- Dynamic visualization generation
- Interactive dashboard with configurable views
- Multi-table data exploration capabilities
- Context-aware follow-up questions
- Custom table selection interface
- Real-time query modification
- Flexible window configuration
- Historical conversation tracking
- Integrated visualization panels
- Fight outcome predictions with confidence scores
- Fighter performance trend analysis
- Betting odds analysis and probability calculations
- Head-to-head fighter comparisons
- Fighting style analysis
- Win/loss pattern recognition
- Title fight statistics
- Performance metrics tracking
- Historical matchup analysis
- Round-by-round statistics
- SQL query optimization for complex multi-table analysis
- BCNF-normalized database structure
- Real-time data processing and visualization
- Machine learning integration for predictive analytics
- Scalable architecture supporting live data updates
- Helper functions for optimized LLM context management
- Hybrid visualization approach for both single and multi-table analysis
- Token-optimized database schema handling
graph TD
A[XgBoost Model] --> B[Results]
B --> D[Predictions]
E[SQLAgent] <-.-> F[Database]
G[Tools] --> E
G --> H[Pandasai]
H <-.-> F
I[LLM GPT-4] <-.-> G
J[Helper Functions] --> I
D <-.-> G
J <-.-> F
- SQL Query Tool: Handles complex multi-table queries using LangChain's SQL agent
- Visualization Engine: PandasAI integration for dynamic chart generation
- Prediction System: XGBoost-based model for fight outcome predictions
- Data Pipeline: Optimized for real-time updates and analysis
- Natural language query parsing
- Context-aware conversation management
- Automated query optimization
- Dynamic response generation
- Smart caching for frequent queries
- Token-optimized database schema handling
- Efficient multi-table join operations
- Memory-optimized result storage
- Interactive chat interface
- Dynamic visualization panel
- Table selection sidebar
- Configurable analysis windows
- Conversation history tracking
- Fighters: FighterID (PK), Name
- Fights: FightID (PK), Date, Location, Winner, FinishDetails, FinishRound, FinishRoundTime, TotalFightTimeSecs, RedFighterID (FK), BlueFighterID (FK)
- Odds: OddsID (PK), FightID (FK), RedOdds, BlueOdds, RedExpectedValue, BlueExpectedValue, RedDecOdds, BlueDecOdds, RSubOdds, BSubOdds, RKOOdds, BKOOdds
- Backend: Python, SQLite
- ML/AI: XGBoost, GPT-4, LangChain
- Data Analysis: PandasAI
- Visualization: Custom plotting tools with multi-table support
- Real-time fight analytics pipeline
- Enhanced prediction models incorporating fighting styles
- Live prediction capabilities
- Interactive visualization improvements
- React-based frontend migration
- Personalized user dashboards
- Jaydeep Sompalli
- Jeet Arora