ai-operations-copilot / backend /app /tools /analytics_tools.py
daniel1028's picture
Clean initial commit (no data, no secrets)
e77665f
import pandas as pd
class AnalyticsTools:
def __init__(self, data_path="data/sales_data.csv"):
self.df = pd.read_csv(data_path)
def analyze_revenue_trend(self):
recent = self.df.tail(5)
earlier = self.df.head(5)
recent_avg = recent["revenue"].mean()
earlier_avg = earlier["revenue"].mean()
trend = "decreasing" if recent_avg < earlier_avg else "increasing"
return {
"trend": trend,
"recent_avg": recent_avg,
"earlier_avg": earlier_avg
}
def compare_regions(self):
grouped = self.df.groupby("region")["revenue"].sum()
lowest = grouped.idxmin()
highest = grouped.idxmax()
return {
"lowest_region": lowest,
"highest_region": highest
}
def detect_anomalies(self):
mean = self.df["revenue"].mean()
std = self.df["revenue"].std()
anomalies = self.df[
(self.df["revenue"] < mean - 2 * std) |
(self.df["revenue"] > mean + 2 * std)
]
return anomalies.to_dict(orient="records")