import pandas as pd from sklearn.cluster import KMeans import numpy as np def analyze_behavior(df): if len(df) < 5: return {"insight": "Not enough data"} df['amount'] = df['amount'] X = df[['amount']] kmeans = KMeans(n_clusters=2, n_init=10) df['cluster'] = kmeans.fit_predict(X) avg = df['amount'].mean() high_spend = df[df['amount'] > avg] return { "average_spending": float(avg), "high_spending_count": len(high_spend), "insight": "User has high spending spikes" if len(high_spend) > 2 else "Spending is stable" }