RFM 客户价值分析

作者: Ziger丶 | 来源:发表于2018-08-22 20:41 被阅读33次

    背景:电商企业沉积的客户交易数据繁杂。需要挖掘出不同用户群体的特征与价值,再针对不同群体提供不同的营销策略。
    数据:某电商企业客户近期购买的数据。包含客户基本信息,商品信息,交易记录。
    目标:分析客户交易数据,挖掘出高价值客户,进行精准营销,降低营销成本。


    【一】分析思路

    RFM模型:是一种衡量客户价值和客户创利能力的重要工具和手段。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三项指标来描述该客户的价值状况。

    三要素

    RFM分析前提:
    1.最近有过交易行为的客户,再次发生交易的可能性要高于最近买有交易行为的客户;
    2.交易频率较高的客户比交易频率较低的客户,更有可能再次发生交易行为;
    3.过去所有交易总金额较多的客户,比交易总金额较少的客户,更有消费积极性。

    RFM模型

    根据划分后的情况,可以进行精确营销,以提高


    【二】数据处理

    import numpy
    import pandas as pd
     data = pd.read_csv('D:\Transaction\2017\data0023.csv'
    

    提取数据后处理三要素:
    1>.近度(R):最后购买时间至观察时间
    2>.频度(R):时间内用户购买的次数
    3>.额度(R):时间内客户总共消费的金额

    import time
    data['DateDiff'] = pandas.to_datetime('today') - data['DealDateTime']
    
    R = data.groupby(by=['CustomerID'])['DateDiff'].agg({'RecencyAgg': numpy.min})
    
    F = data.groupby(by=['CustomerID'])['OrderID'].agg({'FrequencyAgg': numpy.size})
    
    M = data.groupby(by=['CustomerID'])['Sales'].agg('MonetaryAgg': numpy.sum})
    
    
    

    【三】Spss分析


    【三】python实现

    1> 建模数据处理

    单独提取数据表中recency,frequencymonetary和monetary三个字段进行聚类。首先转化为数组。

     #转化为数组
    rfm_new = np.array(rfm[['frequency','monetary','recency']])
     #设置随机数
    seed=9
    
    2> 建立K—Means模型
    from sklearn.cluster import KMeans
    clf=KMeans(n_clusters=8,random_state=seed)
    clf=clf.fit(rfm_new)
    
    3> RFM拟合

    完成后查看K—Means聚类后的8个质心点的值

    clf.cluster_centers_
    

    在原始数据表中对每个用户进行聚类结果标记。这样我们就可以知道每个用户ID在RFM模型中所属的类别。

    #对原数据表进行类别标记
    rfm['label']= clf.labels_
    
    #查看标记后的数据
    rfm.head()
    
    #计算每个类别的数据量
    c=rfm["label"].value_counts()
    
    image.png

    【四】总结&思考

    http://bluewhale.cc/2018-02-11/use-python-to-create-rfm-model.html

    相关文章

      网友评论

        本文标题:RFM 客户价值分析

        本文链接:https://www.haomeiwen.com/subject/dyquiftx.html