π Now with Premium v2.0 - Advanced Analytics & ML-Powered Insights!
This project uses Multi-Agent AI to simulate B2B sales conversations for training downstream models and analyzing sales strategies.
- Win Probability Prediction - ML model predicts deal success in real-time
- Sentiment Trajectory Analysis - Track buyer engagement throughout the call
- Objection Pattern Detection - Automatically categorize and analyze objections
- Feature Importance - Understand what drives successful outcomes
- Plotly Visualizations - Beautiful, interactive charts
- Real-time Insights Panel - Live coaching during simulations
- Performance Trends - Track improvement over time
- Comprehensive Analytics - Gauge charts, sunbursts, and radar plots
- Live Suggestions - Get coaching tips during conversations
- Urgency Indicators - Know when to pivot your approach
- Win Probability Updates - See predictions update turn-by-turn
pip install -r requirements.txtCreate a .env file with your Gemini API key:
GEMINI_API_KEY="your-api-key-here"
# Interactive Web UI
python app.py
# Batch Processing Pipeline
python main.py| File | Location | Description |
|---|---|---|
simulations_master.csv |
data/processed/ |
One row per simulation with all metadata |
conversation_turns.csv |
data/processed/ |
One row per message for NLP analysis |
simulation_metrics.csv |
data/processed/ |
ML-ready features with binary outcomes |
<uuid>.json |
data/raw/conversations/ |
Full conversation with context |
| Column | Type | Description |
|---|---|---|
| simulation_id | UUID | Unique identifier |
| timestamp | ISO8601 | When simulation ran |
| target_url | String | Company website |
| num_turns | Int | Number of conversation turns |
| total_seller_words | Int | Total words by seller |
| total_buyer_words | Int | Total words by buyer |
| score | Int (1-10) | AI-assessed call quality |
| outcome | String | Success/Failure |
| key_objection | String | Price/Timing/Authority |
| feedback | String | AI coaching feedback |
| Column | Type | Use Case |
|---|---|---|
| outcome_binary | 0/1 | Classification target |
| word_ratio_seller_buyer | Float | Feature engineering |
| total_conversation_length | Int | Regression feature |
import pandas as pd
import json
# Load aggregated data
df = pd.read_csv('data/processed/simulations_master.csv')
# Load turn-level data for NLP
turns = pd.read_csv('data/processed/conversation_turns.csv')
# Load ML-ready metrics
metrics = pd.read_csv('data/processed/simulation_metrics.csv')
# Load individual conversation
with open('data/raw/conversations/<simulation_id>.json') as f:
conv = json.load(f)# Success rate by objection type
metrics.groupby('objection_type')['outcome_binary'].mean()
# Average conversation length by outcome
metrics.groupby('outcome_label')['total_conversation_length'].mean()
# Word ratio analysis
metrics[metrics['outcome_binary']==1]['word_ratio_seller_buyer'].describe()from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
# Features
X = metrics[['total_conversation_length', 'word_ratio_seller_buyer',
'seller_avg_words_per_turn', 'buyer_avg_words_per_turn']]
y = metrics['outcome_binary']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
print(f"Accuracy: {model.score(X_test, y_test):.2f}")DeepMost_Agentic_SDR/
βββ app.py # Gradio Web UI
βββ main.py # Batch processing pipeline
βββ requirements.txt # Dependencies
βββ .env # API keys (not in git)
βββ README.md # This file
βββ src/
β βββ __init__.py
β βββ agent_logic.py # Multi-agent simulation engine
β βββ scraper.py # Web scraping module
β βββ data_manager.py # Data persistence layer
βββ data/
β βββ raw/
β β βββ conversations/ # JSON conversation files
β βββ processed/
β βββ simulations_master.csv
β βββ conversation_turns.csv
β βββ simulation_metrics.csv
βββ notebooks/ # Jupyter notebooks for EDA
βββ eda_template.ipynb
- Seller Agent: Trained on value-based selling techniques
- Buyer Agent: Skeptical CTO persona with realistic objections
- Judge Agent: Analyzes call quality and provides coaching
- Watch conversations unfold in real-time in the web UI
- Turn-by-turn updates with status indicators
- Outcome distribution charts
- Score histograms
- Objection type analysis
- Conversation length correlation
- Structured CSV exports for pandas
- JSON files for NLP/dialogue analysis
- ML-ready features with binary targets
- UUID tracking for reproducibility
This project is for educational/internship purposes.
Feel free to submit issues and enhancement requests!