File size: 589 Bytes
2f7cefc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"
    }