Sanjayraju30's picture
Update model.py
4776e50 verified
raw
history blame contribute delete
707 Bytes
from datetime import datetime
import random
def score_opportunity(data):
score = (
data["lead_score"] * 0.5 +
data["emails_last_7_days"] * 3 +
data["meetings_last_30_days"] * 5
)
try:
close_date = datetime.strptime(data["close_date"], "%Y-%m-%d")
days_to_close = (close_date - datetime.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
}