revai-api / app /models /benchmark.py
Shaankar39's picture
Deploy RevAI API
3d1332e
Raw
History Blame Contribute Delete
1.16 kB
import json
import datetime
from sqlalchemy import Column, String, DateTime, Text, Integer, Float
from app.database import Base
class Benchmark(Base):
__tablename__ = "benchmarks"
id = Column(String, primary_key=True, default="global") # single row for global benchmarks
churn_data_json = Column(Text, default="{}") # aggregated churn score distribution
lead_data_json = Column(Text, default="{}") # aggregated lead score distribution
total_churn_scored = Column(Integer, default=0)
total_lead_scored = Column(Integer, default=0)
unique_churn_companies = Column(Integer, default=0)
unique_lead_companies = Column(Integer, default=0)
updated_at = Column(DateTime, default=datetime.datetime.utcnow)
def get_churn_data(self) -> dict:
return json.loads(self.churn_data_json) if self.churn_data_json else {}
def get_lead_data(self) -> dict:
return json.loads(self.lead_data_json) if self.lead_data_json else {}
def set_churn_data(self, data: dict):
self.churn_data_json = json.dumps(data)
def set_lead_data(self, data: dict):
self.lead_data_json = json.dumps(data)