ai获客软件搭建、ai获客软件

AI 自动获客系统中客户画像与细分功能的示例代码。这个示例会用到 pandas 进行数据处理,scikit - learn 进行聚类分析以实现客户细分。ai获客软件搭建、ai获客软件

代码说明

数据生成:generate_sample_data 函数创建了一个简单的客户数据集,包含客户 ID、年龄、购买频率和平均购买金额等信息。

数据预处理:preprocess_data 函数提取所需特征,然后使用 StandardScaler 对数据进行标准化处理,确保各个特征具有相同的尺度。

客户细分:customer_segmentation 函数使用 K - Means 聚类算法将客户分为 3 个类别,你可以根据实际情况调整聚类的数量。

客户画像构建:build_customer_portraits 函数将聚类标签添加到原始数据中,然后按照聚类标签分组,计算每个客户群体的年龄、购买频率、平均购买金额的均值以及客户数量。

可视化:visualize_segmentation 函数使用 matplotlib 库绘制散点图,展示客户细分的结果。

import pandas as pd

from sklearn.cluster import KMeans

from sklearn.preprocessing import StandardScaler

import matplotlib.pyplot as plt

# 生成示例数据

def generate_sample_data():

    data = {

        'customer_id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

        'age': [25, 30, 35, 40, 45, 22, 28, 32, 38, 42],

        'purchase_frequency': [5, 3, 7, 2, 4, 6, 8, 1, 3, 5],

        'average_purchase_amount': [100, 200, 150, 300, 250, 80, 120, 220, 180, 280]

    }

    return pd.DataFrame(data)

# 数据预处理

def preprocess_data(df):

    # 提取特征

    features = df[['age', 'purchase_frequency', 'average_purchase_amount']]

    # 数据标准化

    scaler = StandardScaler()

    scaled_features = scaler.fit_transform(features)

    return scaled_features

# 客户细分

def customer_segmentation(scaled_features):

    # 使用 K-Means 进行聚类

    kmeans = KMeans(n_clusters=3, random_state=42)

    kmeans.fit(scaled_features)

    return kmeans.labels_

# 客户画像构建

def build_customer_portraits(df, labels):

    df['segment'] = labels

    portraits = df.groupby('segment').agg({

        'age': 'mean',

        'purchase_frequency': 'mean',

        'average_purchase_amount': 'mean',

        'customer_id': 'count'

    }).rename(columns={'customer_id': 'customer_count'})

    return portraits

# 可视化客户细分结果

def visualize_segmentation(df, labels):

    plt.scatter(df['age'], df['average_purchase_amount'], c=labels, cmap='viridis')

    plt.xlabel('Age')

    plt.ylabel('Average Purchase Amount')

    plt.title('Customer Segmentation')

    plt.show()

if __name__ == "__main__":

    # 生成示例数据

    df = generate_sample_data()

    # 数据预处理

    scaled_features = preprocess_data(df)

    # 客户细分

    labels = customer_segmentation(scaled_features)

    # 客户画像构建

    portraits = build_customer_portraits(df, labels)

    print("客户画像:")

    print(portraits)

    # 可视化客户细分结果

    visualize_segmentation(df, labels)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容