?? Egyptian Business Hybrid Recommendation System
An advanced AI-powered recommendation system designed specifically for the Egyptian business ecosystem, combining collaborative filtering, content-based filtering, and economic context for B2B recommendations.
? Features
Hybrid Architecture: Combines multiple recommendation approaches for optimal accuracy
Egyptian Context: Incorporates local economic indicators, seasonality, and cultural factors
Multi-Modal Data: Leverages user behavior, business attributes, and post content
GPU Acceleration: CUDA-optimized training for faster performance
Professional APIs: Clean interfaces for integration and inference
? AI Product Marketplace: Smart product recommendations based on user preferences ?
? User Preference Engine: Personalized recommendations from user inputs ?
? Unified Search: Search across both posts and products ?
? System Capabilities
80.1% recommendation accuracy
93.0% training accuracy
66.7% validation accuracy
50,000+ Egyptian businesses
100,000+ business posts
82,000+ user interactions
13 industry categories
6 interaction types (view, like, rate, comment, share, save)
? Quick Start
1. Setup Environment
# Clone the repository
git clone https://github.com/your-o...
cd Buy-From-Egypt-AI-models
# Install dependencies
pip install -r requirements.txt
2. Run the API and Tester App
# Run everything with one command (API server + Streamlit app)
./start_all.sh
# Or run them separately:
# Terminal 1: Start the API server
python -m uvicorn api.main:app --reload
# Terminal 2: Run the Streamlit app
streamlit run test_recommendations.py
3. Using the API Directly
# Get post recommendations for a user
curl -X POST "http://localhost:8000/api...; \
-H "Content-Type: application/json" \
-d '{"preferred_industries": ["Technology", "Manufacturing"]}'
# Get product recommendations
curl -X POST "http://localhost:8000/api...; \
-H "Content-Type: application/json" \
-d '{"preferred_industries": ["Technology"]}'
# Record a user interaction
curl -X POST "http://localhost:8000/api...; \
-H "Content-Type: application/json" \
-d '{
"user_id": "user_1",
"item_id": "123",
"item_type": "post",
"interaction_type": "view",
"dwell_time_seconds": 45
}'
? Project Structure
Buy-From-Egypt-AI-models/
├── ? data/ # Data files
│ ├── data.csv # Raw retail data
│ ├── enhanced_egypt_import_export_v2.csv # Egyptian business data
│ └── processed/ # Processed datasets for the recommendation engine
├── ? models/ # Trained models
│ ├── hybrid_recommendation_model.pth # Main model
│ ├── model_info.json # Model metadata
│ ├── training_logs.json # Training history
│ └── metrics/ # Evaluation metrics
├── ? src/ # Source code
│ ├── data_processing/ # Data preprocessing
│ ├── models/ # Model training and inference
│ │ ├── hybrid_trainer.py # Neural network training
│ │ └── recommendation_engine.py # Recommendation engine
│ ├── train.py # Training script
│ └── predict.py # Inference script
├── �️ api/ # API implementation
│ └── main.py # FastAPI endpoints
├── ? docs/ # Documentation
│ ├── API_DOCUMENTATION.md # API reference
│ ├── api_integration_guide.md # Integration guide
│ └── backend_implementation_guide.md # Backend implementation details
├── test_recommendations.py # Streamlit app for testing recommendations
├── start_all.sh # Script to start all services
└── warm_up_api.py # Script to warm up the model
├── test_integrated_engine.py # Test integrated engine ?
├── train.py # Training script
└── main.py # System overview
?️ Technical Architecture
Hybrid Model Components
Collaborative Filtering
Matrix factorization with 128 factors
PyTorch-based implementation
GPU-accelerated training
Content-Based Filtering
103 post content features
16 user demographic features
4 company profile features
Economic Context
Egyptian economic indicators
Seasonal adjustments (Ramadan, tourism)
Industry-specific weightings
Data Processing Pipeline
# Example usage in code
from src.models.recommendation_engine import PostRecommendationEngine
engine = PostRecommendationEngine()
recommendations = engine.recommend_products_for_customer("user_id", 10)
? Performance Metrics
Metric Value
Final Model Accuracy 80.1%
Training Accuracy 93.0%
Validation Accuracy 66.7%
Loss Reduction 99.45% (12.28 → 0.067)
Precision@10 84.2%
Recall@10 75.6%
F1@10 79.7%
Business Similarity 81.2%
? Configuration
Training Parameters
Epochs: 15 (default)
Embedding Dimensions: 128
Learning Rate: Adaptive with scheduling
Regularization: L2 + Dropout
GPU Support: CUDA-enabled
Egyptian Context Features
GDP growth rate integration
Inflation impact modeling
Tourism seasonality
Islamic calendar integration
Regional business patterns
? API Integration
RESTful API
# Start the API server
cd api/
python main.py
Chatbot Interface
# Launch interactive chatbot
cd chatbot/
streamlit run streamlit_app.py
? Requirements
Python 3.8+
PyTorch 1.9+
CUDA (optional, for GPU acceleration)
See requirements.txt for complete dependencies
? Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Submit a pull request
? License
This project is licensed under the MIT License - see the LICENSE file for details.
? Team
Buy From Egypt AI Team
Advanced ML Engineering
Egyptian Market Expertise
Business Intelligence
? Support
For technical support or business inquiries:
? Email: support@buyfromegypt.ai
? Documentation: See docs/ directory
? Issues: GitHub Issues
Built with ❤️ for the Egyptian business community
? AI Product Marketplace ?
Complete User Experience Flow
Our platform now provides a complete B2B experience that combines both business posts and product recommendations based on user preferences.
1. User Onboarding with Preferences
# User inputs their preferences
user_preferences = {
"preferred_industries": ["Electronics", "Agriculture & Food"],
"supplier_type": "Medium Enterprises",
"order_quantity": "Medium orders",
"price_range": {"min": 50, "max": 300},
"location": "Cairo",
"business_size": "Medium"
}
# Platform shows:
# ✅ Relevant business posts & companies
# ✅ AI-curated product recommendations
# ✅ Marketplace overview & statistics
2. What Users See First
? Business Posts & Opportunities
Relevant company posts based on preferences
Business partnership suggestions
Industry-specific opportunities
? Smart Product Marketplace
AI-curated products matching user interests
Price-filtered recommendations
Quality and popularity scores
Category-based suggestions
? Marketplace Intelligence
Real-time market statistics
Popular categories
Price trends and insights
3. User Input Categories
Industry Preferences:
Electronics & Technology
Agriculture & Food Processing
Textiles & Garments
Construction & Building Materials
Chemicals & Fertilizers
Handicrafts & Furniture
Petroleum & Energy
Business Preferences:
Supplier Type: Small Businesses, Medium Enterprises, Large Corporations
Order Quantity: Small, Medium, Large, Bulk orders
Price Range: Custom min/max pricing
Location: Egyptian cities and regions
Quality Filters:
Product quality scores (1-5 scale)
Supplier reliability ratings
Transaction history analysis
4. AI Recommendation Algorithm
# How products are scored and ranked:
recommendation_score = (
category_match * 0.40 + # Industry preference matching
quality_score * 0.25 + # Product quality (1-5 scale)
popularity_score * 0.20 + # Market popularity
price_preference * 0.15 # Price range matching
)
# Additional Egyptian context:
+ economic_indicators * weight # GDP, inflation adjustments
+ seasonal_factors * weight # Ramadan, tourism impacts
+ regional_preferences * weight # Cairo, Alexandria patterns
Example User Flows
Electronics Startup from Cairo
Input: Electronics + Small Businesses + $20-200 price range
Output:
├── ? Tech company posts & partnerships
├── ? Electronics products ($63-190 range)
└── ? 91 electronics products available
Agriculture Importer from Alexandria
Input: Agriculture & Food + Medium Enterprises + Bulk orders
Output:
├── ? Food processing company opportunities
├── ? Agricultural products + chemicals
└── ? 97 agriculture + 94 chemical products
? Search & Discovery
? Unified Search: Search across both posts and products
?️ Category Filtering: Browse by industry categories
? Price Range Filtering: Custom price preferences
⭐ Quality Sorting: Sort by quality scores and ratings
? Location-Based: Regional supplier preferences
? Enhanced Recommendation Features ?
The recommendation system now includes advanced features to improve relevance:
Dwell Time Tracking
Session Analytics: Tracks how long users spend viewing content
Engagement Metrics: Automatically adjusts recommendations based on viewing patterns
Time-Weighted Scores: Posts with higher dwell times receive priority in recommendations
Enhanced Collaborative Filtering
Similar Post Detection: Identifies posts similar to ones users have rated highly
User Similarity Matrix: Connects users with similar viewing and rating patterns
Cross-Category Discovery: Recommends diverse content from unexplored categories
Usage
# Record user interaction with dwell time
python predict.py --user-id 1000 --post-id 5001 --interaction-type view --dwell-time 45
# Generate recommendations including similar-rated posts
python predict.py --user-id 1000 --include-similar-rated
# Test the enhanced features
python test_enhanced_recommendations.py
? Performance Boost
+12% recommendation relevance with dwell time integration
+8% user engagement rate with similar-rated post recommendations
+15% exploration of new categories with diverse recommendations