File size: 707 Bytes
6f63a9a 4776e50 4f47b69 579b95c 6f63a9a 4f47b69 6f63a9a 4776e50 6f63a9a 21c0a92 6f63a9a 579b95c 6f63a9a 579b95c 6f63a9a 579b95c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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
}
|