Sanjayraju30's picture
Update model.py
6f63a9a verified
raw
history blame
828 Bytes
import random
from datetime import datetime
def score_opportunity(data):
# Simple scoring logic (replace with ML model in real app)
score = (
data["lead_score"] * 0.5 +
data["emails_last_7_days"] * 3 +
data["meetings_last_30_days"] * 5
)
# Reduce score for long closing gap
today = datetime.today()
try:
close_date = datetime.strptime(data["close_date"], "%Y-%m-%d")
days_to_close = (close_date - today).days
except:
days_to_close = 30
if days_to_close > 30:
score -= 10
elif days_to_close < 5:
score += 5
score = max(0, min(100, round(score)))
confidence = round(random.uniform(0.7, 0.95) if score >= 60 else random.uniform(0.4, 0.7), 2)
return {
"score": score,
"confidence": confidence
}