精华内容
下载资源
问答
  • 航空公司客户流失分析

    实战背景

    如今的营销已经远远不同于过去了,那个一张传单一则广告的时代结束了,这是个大数据的时代。一个时代有一个时代的生存法则,那些没有适应时代的企业,即使曾经是个庞然大物,今天也几乎不见踪影。在航空公司这个特殊的领域,国内竞争还是很严峻的,一个顾客的流失造成的损失是4-5个新顾客的流入所不能弥补的,分析用户(特别是会员用户)相关信息,建立模型,发现流失用户特征,制定针对性营销策略,挽留用户是企业生存的重要一环。本项目基于大数据样本进行挖掘建模,根据用户特征建立模型发现用户流失特征及其原因分析。

    实战分析

    其实,作为航空公司,客户流失是不可避免的,因为有些用户乘机频率非常低,这部分用户是偶然用户,他们的流失没有太大的挽留价值。再者,那些会员用户才是研究的重点,愿意入会的,一定是有频繁乘机体验的,这部分人要么是商务精英要么是比较富裕的人,这几类人都是颇具头脑的。但是,即使这样还是流失了,那就是航空公司给出的服务问题了,这类人是重点研究对象。

    当前,有一个比较尴尬的问题,什么样的顾客可以定义为流失呢?样本数据中根本没有这一项。我们不妨这样定义:

    客户类型 定义方式
    已流失客户 第二年飞行次数与第一年飞行次数比例小于50%
    准流失客户 第二年飞行次数与第一年飞行次数比例在[50%,90%)内
    未流失客户 第二年飞行次数与第一年飞行次数比例大于90%

    通过上面的定义,解决了这个问题,以一种相对合理的方式定义了用户类型。

    当然,实际处理时还需要选取客户的关键属性建立模型,如会员卡级别、客户类型(如上定义)、平均乘机时间间隔、平均折扣率、积分兑换次数、非乘机积分总和、单位里程票价和单位里程积分等。任然采用常用的8:2进行训练测试样本分布。

    数据获取

    数据给出(特征过多)

    数据探索

    首先声明,表头均没有使用中文,均为航空公司报表专业术语观测窗口使用两年(06年4月到08年3月),请了解后再阅读本博客,这里不做赘述了。

    经过初步的数据探索,我得到了一个分析表,记录数目,各列的平均值、四分位数、标准差、极值等;

    为数据预处理定下了基本的基调,首先,有几列数据几乎所有记录都为0,这是没有意义的。(在数据挖掘领域中没有对比的数据是没有任何意义的,因为所有数据都是为了建模服务的)

    数据预处理

    在数据预处理的第一步就出现了一个不算问题的问题,就是由于Excel解析csv以及编码的一些问题,我看到的表格是错位的,我数据处理第一步就直接数据流导出去成为一个新的xls文件,对于xls文件Excel的解析没有问题,现在,最基本的,我们可视化判断没有了阻碍。(保留最开始的数据是数据分析的基本原则之一)

    然后,发现第一列用户编号是用户的唯一标识,然而这对于建模是没有意义的,必须剔除第一列。选取合适属性构造了需要的六个属性LRFMCK模型,并进行标准化数据。

    数据挖掘建模

    流失用户的分析,并且判断用户会不会流失,这是一个分类问题,我们使用决策树建模。

    具体代码如下。

    # -*- coding:UTF-8 -*-
    import pandas as pd
    from sklearn import tree
    from sklearn.model_selection import train_test_split
    import pydotplus
    from sklearn.externals.six import StringIO
    
    
    def getDataSet(fileName):
        # 读取数据
        data = pd.read_csv(fileName)
        dataSet = []
        for item in data.values:
            dataSet.append(list(item[:5]))
        label = list(data['K'])
        return dataSet, label
    
    
    def divide(dataSet, labels):
        '''
        分类数据,按比例拆开
        :param dataSet:
        :param labels:
        :return:
        '''
        train_data, test_data, train_label, test_label = train_test_split(dataSet, labels, test_size=0.2)
        return train_data, test_data, train_label, test_label
    
    
    if __name__ == '__main__':
        data, label = getDataSet('./data/data_standard.csv')
        train_data, test_data, train_label, test_label = divide(data, label)
        clf = tree.DecisionTreeClassifier(max_depth=5)
        clf = clf.fit(train_data, train_label)
        # 可视化
        dataLabels = ['ZL', 'ZR', 'ZF', 'ZM', 'ZC', ]
        data_list = []
        data_dict = {}
        for each_label in dataLabels:
            for each in data:
                data_list.append(each[dataLabels.index(each_label)])
            data_dict[each_label] = data_list
            data_list = []
        lenses_pd = pd.DataFrame(data_dict)
        print(lenses_pd.keys())
        dot_data = StringIO()
        tree.export_graphviz(clf, out_file=dot_data, feature_names=lenses_pd.keys(),
                             class_names=clf.classes_, filled=True, rounded=True, special_characters=True)
        graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
        graph.write_pdf("tree.pdf")
        from cm_plot import *
        cm_plot(test_label, clf.predict(test_data)).show()

    后续处理

    通过分类预测现有用户是否流失倾向是无比重要的,发现流失可能性进行相应营销比较必要,这里决策树预测准确率还算可以,在深度合适(发现4-5)预测准确率达到85%左右,对于营销需求是达到了。

    补充说明

    本文参考书为《Python数据分析与挖掘》,本案例使用决策树建模,具体数据集和其他代码可以查看我的Github,欢迎star或者fork。

    展开全文
  • 航空公司客户价值分析

    千次阅读 2018-07-20 22:05:19
    1.背景方面 准确的客户分类的结果是企业优化营销资源的重要依据,本文利用了航空公司的部分数据,利用Kmeans聚类方法,对航空公司的客户进行...(2)对不同类别的客户进行特征分析,比较不同类别客户的价值分析; ...

    1.背景方面

    准确的客户分类的结果是企业优化营销资源的重要依据,本文利用了航空公司的部分数据,利用Kmeans聚类方法,对航空公司的客户进行了分类,来识别出不同的客户群体,从来发现有用的客户,从而对不同价值的客户类别提供个性化服务,指定相应的营销策略。

    本次数据挖掘与数据分析目标:

    (1)借助航空公司数据,对客户进行分类;

    (2)对不同类别的客户进行特征分析,比较不同类别客户的价值分析;

    (3)对不同价值的客户类别进行个性化服务,制定相应的营销策略。

     

    2.分析过程

            识别客户价值应用最广泛的模型是通过3个指标(最近消费时间间隔(Recency)、消费频率(Frequency)和消费金额(Money))来进行客户细分,识别出高价值客户,简称RFM模型。

            RFM模型中,消费金额表示一段时间内,客户购买企业产品金额的总和。由于航空票价受到运输距离、舱位等级等多种因素影响,同样消费金额的不同旅客对航空公司的价值是不同的。例如,一位购买长航线、低等舱位票的旅客与一位购买短航线、高等级舱位票的旅客相比,后者对于航空公司的价值可能更高。因此,这个指标并不适合航空公司客户价值分析。我们选择客户在一定时间内累积的飞行里程M和客户在一定时间内乘坐舱位所对应的折扣系数的平均值C两个指标代替消费金额。此外,还考虑航空公司会员入会时间的长短在一定程度上影响客户价值,所以在模型中增加客户关系长度L,作为区分客户的另一指标。

            综上所述,航空公司识别客户价值模型(LRFMC)指标如下:

     

    客户关系长度L会员入会时间距观测窗口结束的月份

    消费时间间隔R客户最近一次乘坐公司飞机距观测窗口结束的月数

    消费频率F客户在观测窗口内乘坐公司飞机的次数

    飞行里程M客户在观测窗口内飞行里程

    折扣系数的平均值C客户在观测窗口内乘坐舱位所对应的折扣系数的平均值

     

     

            传统的RFM模型采用属性分箱的方法,如下图所示(依据属性的平均值进行划分),虽然也能识别出最有价值客户,但是如果LRFMC模型使用同样的方法,则细分的属性太多,提高了后续根据客户类别的营销成本。故本次分析使用聚类方法,通过对航空公司客户价值的五个指标进行Kmeans聚类分析,识别出最有价值客户。

            本项目航空公司客户价值分析的总体流程如下图所示:

     

            航空公司客户价值信息挖掘主要包話以下步骤:

     

    (1)从航空公司的数据源中进行选择性抽取与新增数据抽取分别形成历史数据和增量数据;

    (2)对步骤1)中形成的两个数据集进行数据探索分析和预处理,包括数据缺失值和异常值分析,数据属性的规约、清洗和变换;

    (3)利用步骤2)中的处理的数据进行建模,基于旅客价值的LRFMC模型进行客户分类,对各个客户群进行特征分析,识别出最有价值的客户;

    (4)针对模型结果得到不同价值的客户,采用不同的营销手段,提供定制化的服务。

    3.数据探索分析

            针对本项目的数据,主要进行缺失值分析和异常值分析。比如票价为空值,票价最小值为0、折扣率最小值为、总飞行里程数大于零的记录。

            拿到原始数据后,可以使用Python代码实现对数据的初步分析,主要使用pandas库中的describe()函数,代码如下:

    # -*- coding:utf-8 -*-
    """
    对数据进行基本的探索,返回缺失值个数以及最大值最小值等
    """
    
    import pandas as pd
    
    datafile = "F:\DeskTop\Python-Data\chapter7\demo\data\\air_data.csv"  #原始数据
    resultfile = "F:\DeskTop\Python-Data\chapter7\demo\data\explore.xls"   #数据探索结果总结表
    
    data = pd.read_csv(datafile,encoding = "utf-8")  #读取原始数据,指定UTF-8编码(需要用文本编辑器将数据装换为UTF-8编码)
    
    """
    包括对数据的基本描述,percentiles参数是指定计算多少的分位数表
    (如1/4分位数、中位数等);T是转置,转置后更方便查
    """
    explore = data.describe(percentiles=[],include="all").T
    
    #describe()函数自动计算非空值数,需要手动计算空值数
    explore["null"] = len(data) - explore["count"]
    
    explore = explore[["null","max","min"]]
    explore.columns = [u"空数值",u"最大值",u"最小值"] #对结果统计的表头重命名
    """
    '''这里只选取部分探索结果。
    describe()函数自动计算的字段有count(非空值数)、unique(唯一值数)、
    top(频数最高者)、freq(最高频数)、mean(平均值)、std(方差)、min(最小值)、50%(中位数)、max(最大值)'''
    """
    # print(explore)
    
    explore.to_excel(resultfile) ##导出结果

     

            统计结果中的部分如下所示:

    4.数据预处理

            针对上述问题的数据预处理包括数据清洗、属性规约和数据变换。

    4.1 数据清洗

            由上述分析可知,原始数据中存在着票价为空值,票价最小值为0、折扣率最小值为0而总飞行里程数大于零的等异常记录。考虑原始数据样本量较大,而这类数据的数量又很小,因此可以选择舍弃处理。

    (1)舍弃票价为空的记录;

    (2)舍弃票价为零、平均折扣率不为零,总飞行公里大于零的数据。

            同样适用Python的Pandas库进行数据清洗,代码如下所示:

    #-*- coding: utf-8 -*-
    #数据清洗,过滤掉不符合规则的数据
    
    import pandas as pd
    
    datafile = "F:\DeskTop\Python-Data\chapter7\demo\data\\air_data.csv"
    cleanfile = "F:\DeskTop\Python-Data\chapter7\demo\data\data_cleaned.csv"
    
    data = pd.read_csv(datafile,encoding="utf-8")
    
    ##只保留票价非空值的,每个data["SUM_YR_1"].notnull()返回布尔值的列表,同为True才保留
    data = data[data["SUM_YR_1"].notnull() & data["SUM_YR_2"].notnull()]
    
    ##只保留票价非零的,或者平均折扣率与总飞行公里数同时为0的记录
    index1 = data["SUM_YR_1"] != 0
    index2 = data["SUM_YR_2"] != 0
    index3 = (data["SEG_KM_SUM"] == 0) & (data["avg_discount"] == 0)
    data = data[index1 | index2 |index3]
    
    data.to_excel(cleanfile)

    4.2 属性规约

            原始数据中有众多属性,需要选取与本次模型相关的属性,最终选取的6个相关属性分别为:入会时间(FFP_DATE)、观测窗口的结束时间(LOAD_TIME)、飞行次数(FLIGHT_COUNT)、平均折扣率(AVG_DISCOUNT)、观测窗口总飞行里程数(SEG_KM_SUM)、最后一次乘机时间至观察窗口末端时长(LAST_TO_END)。删除与模型不相关、弱相关或冗余的属性,比如,会员卡号、性别、工作地城市、工作地所在省份等。

    4.3数据变换

            数据变换,即将数据变换为“适当的”格式,以适应挖掘任务以及算法的需求。本项目主要的数据变换方式为属性构造数据标准化

    (1)属性构造

            由于数据中并没有直接给出LRFMC5个指标,需要通过属性构造来提取这5个指标。具体的计算方式如下:

    (1)L=LOAD_TIME-FFP_DATE

    (2)R=LAST_TO_END

    (3)F=FLIGHT_COUNT

    (4)M=SEG_KM_SUM

    (5)C= AVG_DISCOUNT

     

    (2)数据标准化

            得到LRFMC5个指标后,对这五个指标进行分析,发现五个指标取值范围数据差异较大,为了消除数量级数据带来的影响,需要对数据进行标准化处理,本次使用标准差标准化处理,代码如下所示:

    # -*- coding:utf-8 -*-
    #标准差标准化
    
    import pandas as pd
    
    datafile = "F:\DeskTop\Python-Data\chapter7\demo\data\\zscoredata.xls"
    zscorefile = "F:\DeskTop\Python-Data\chapter7\demo\data\zscoreddata.xls"
    
    #标准化处理
    data = pd.read_excel(datafile)
    data = (data - data.mean(axis=0))/(data.std(axis=0))
    
    data.columns = ["Z"+i for i in data.columns] ##表头重新命名,前面加上Z
    
    data.to_excel(zscorefile,index=False)

     

    5.构建专家样本

    最终得到的专家样本库如下所示,专家样本共62044个。

    6.模型构建

    采用KMeans聚类算法对客户数据进行客户分群,结合业务相关知识确定聚成5类客户。

            Kmeans聚类算法位于Sklearn库下的聚类子库(sklearn.cluster),代码如下所示:

    # -*- coding:utf-8 -*-
    
    #KMeans聚类方法
    
    
    
    import pandas as pd
    
    from sklearn.cluster import KMeans  ##导入KMeans聚类方法
    
    
    
    inputfile = "F:\DeskTop\Python-Data\chapter7\demo\data\zscoreddata.xls"
    
    
    
    k = 5 #聚类为5类
    
    
    
    data = pd.read_excel(inputfile)
    
    
    
    #调用KMeans方法,进行分析
    
    kmodel = KMeans(n_clusters=k,n_jobs=1)  #n_job为并行数,设定为CPU数目较好
    
    kmodel.fit(data) #训练模型
    
    
    
    #查看聚类中心以及聚类数目
    
    r1=pd.Series(kmodel.labels_).value_counts()
    
    r2=pd.DataFrame(kmodel.cluster_centers_)
    
    r=pd.concat([r2,r1],axis=1)
    
    r.columns=list(data.columns)+['类别数目']
    
    
    
    print(r)

     

    7.结果分析

     

            对聚类结果进行特征分析,绘制客户群特征分析图(雷达图),如下图所示:

    最终将客户可以分为四种,如下表所示:

    重要保持客户:平均折扣率高,乘坐次数或里程高,最近坐过本公司航班。

    重要发展客户:平均折扣率较高,乘坐次数和里程较低。

    重要挽留客户:平均折扣率,乘坐次数或者里程较高,较长时间没坐本公司航班。

    一般与低价值客户:扣率低,较长时间未做本公司航班,乘坐次数或里程较低,入会时长短。

     

            对于使用历史数据建立的模型而言,要经常对新加入的客户进行聚类中心判断,同时对本次新增客户的特征进行特征分析。如果新增的客户的特征与模型判断有较大误差,需要重点关注和解决。可以每隔半年重新训练一次模型。

    8.项目总结

    通过“航空公司客户价值分析”项目:

    (1)进一步熟悉了数据挖掘以及数据探索分析的一般流程;

            (2)加深了对数据预处理中属性规约,数据变化的理解,包括标准差标准化,属性构造等;

            (3)加深了对Kmeans聚类方法的理解,进一步熟悉了Sklearn中相关函数的运用;

            (4)掌握了使用雷达图对结果进行特征分析的方法。

    展开全文
  • 客户分析就是根据客户信息数据来分析客户特征,评估客户价值,从而为客户制订相应的营销策略与资源配置。通过合理、系统的客户分析,企业可以知道不同的客户有着什么样的需求,分析客户消费特征与商务效益的关系,使...

    客户分析就是根据客户信息数据来分析客户特征,评估客户价值,从而为客户制订相应的营销策略与资源配置。通过合理、系统的客户分析,企业可以知道不同的客户有着什么样的需求,分析客户消费特征与商务效益的关系,使运营策略得到最优的规划;更为重要的是可以发现潜在客户,从而进一步扩大商业规模,使企业得到快速的发展。

      企业客户分析可以从以下几个方面入手,对客户数据信息展开分析:

      1、分析客户个性化需求

      “以客户为中心”的个性化服务越来越受到重视。实施CRM的一个重要目标就是能够分析出客户的个性化需求,并对这种需求采取相应措施,同时分析不同客户对企业效益的不同影响,以便做出正确的决策。这些都使得客户分析成为企业实施CRM时不可缺少的组成部分。

      2、分析客户行为

      企业可以利用收集到的信息,跟踪并分析每一个客户的信息,不仅知道什么样的客户有什么样的需求,同时还能观察和分析客户行为对企业收益的影响,使企业与客户的关系及企业利润得到最优化。

      3、分析有价值的信息

      利用客户分析系统,企业不再只依靠经验来推测,而是利用科学的手段和方法,收集、分析和利用各种客户信息,从而轻松的获得有价值的信息。如企业的哪些产品最受欢迎,原因是什么,有什么回头客,哪些客户是最赚钱的客户,售后服务有哪些问题等。客户分析将帮助 企业充分利用其客户关系资源,在新经济时代从容自由地面对客户。

    目前国内企业对客户的分析还很欠缺,分析手段较为简单,而简单的统计方法虽然可以在一定程度上得出分析结果,但因为不同企业发展中存在一定的不平衡性,利用简单的统计模式得出的结论容易有较大的误差,难以满足企业的特殊需求。因而企业需要有更加完善、合理的客户分析方案,进一步提高客户分析的合理性、一致性,并能在对 潜在客户的培养和发现中提供更多的决策支持。

    本文将使用客户RFM模型来衡量客户价值,当然仅一个模型也无法完整并系统的分析客户,还是需要结合CRM系统中的数据,切勿过度依赖该模型来分析客户价值。该模型仅供决策参考。接下来我们来看一下RFM模型是什么?

    客户RFM数据分析

    RFM分析(Recency,Frequency,Monetary)是用来细分用户和衡量客户价值的一个重要工具,就是根据客户活跃程度和交易金额的贡献,进行客户价值细分的一种方法。

    RFM的含义:

    R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。

    F(Frequency):客户在最近一段时间内交易的次数。F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。

    M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。

    本文中通过分析某个店铺客户消费数据,将会员分为以下8种,以便有针对性的做营销决策,实现精细化运营:

    RFM定义

    一、RFM数据源

    我们准备的数据源中有很多的字段,由RFM模型的含义可知。我们需要通过订单日期判断R值,订单ID判断F值,销售额判断M值,客户ID是基础数据,其他的字段就是冗余字段

    RFM数据源

    二、RFM值

    1、确定R值

    确定R值为指定日期和最近购买日期之间的差异天数,计算每个客户的最近一次消费日期。再根据截止日期的时间和最后一个交易日期的差值

     

    RFM R = 

     

    AVERAGEX( DISTINCT('维度_客户'[客户名称]) , 

     

        CALCULATE( 

     

            AVERAGEX( '事实_订单', DATEDIFF( [订单日期] , LASTDATE( '维度_RFM日期'[Date] ) , DAY ) ) , 

     

            TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期])

     

        )

    )

     

    R最大值

     

    RFM R MAX = 

     

    MAXX( ALL('维度_客户'[客户名称]) , 

     

     CALCULATE( 

    AVERAGEX( '事实_订单' , DATEDIFF( [订单日期] , LASTDATE( '维度_RFM日期'[Date] ) , DAY ) ) , 

     

    TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期])

     

      )

    )

     

    R最小值

     

    RFM R MIN = 

     

    MINX( ALL( '维度_客户'[客户名称]) , 

    CALCULATE( 

     

            AVERAGEX( '事实_订单' , DATEDIFF( [订单日期] , LASTDATE( '维度_RFM日期'[Date] ) , DAY ) ) , 

     

           TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期] )

     

        )

     

    R平均值

     

    RFM R AVG = CALCULATE( [RFM R] , ALL('维度_客户') )

     

    2、确定F值

     

    交易次数值需要感觉非重复计数获得,这里根据虚拟关系筛选计数顾客交易次数

     

    RFM F = 

     

    AVERAGEX( DISTINCT('维度_客户'[客户名称]) , 

    CALCULATE('度量值'[顾客交易次数] , TREATAS( VALUES('维度_RFM日期'[Date]) , '事实_订单'[订单日期]))

     

    )

     

    F最大值

     

    RFM F MAX = 

     

    MAXX( ALL('维度_客户'[客户名称]) , 

     

        CALCULATE('度量值'[顾客交易次数] , TREATAS( VALUES('维度_RFM日期'[Date]) , '事实_订单'[订单日期]))

     

    )

     

    F最小值

     

    RFM F MIN = MINX( ALL('维度_客户'[客户名称]) ,  CALCULATE('度量值'[顾客交易次数] , TREATAS( VALUES('维度_RFM日期'[Date]) , '事实_订单'[订单日期])))

     

    F平均值

     

    RFM F AVG = CALCULATE( [RFM F] , ALL('维度_客户') )

     

    3、确定M值

    M值为每个客户共享的销售金额

     

    RFM M = AVERAGEX( DISTINCT( '维度_客户'[客户名称]) ,  CALCULATE('度量值'[销售金额], TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期] ) ))

     

    M最大值

     

    RFM M MAX = MAXX( ALL( '维度_客户'[客户名称]) , CALCULATE('度量值'[销售金额], TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期] ) ))

     

    M最小值

    RFM M MIN = MINX( ALL('维度_客户'[客户名称]) , CALCULATE('度量值'[销售金额], TREATAS( VALUES( '维度_RFM日期'[Date] ) , '事实_订单'[订单日期]) ))

     

    M平均值

    RFM M AVG = CALCULATE( [RFM M] , ALL( '维度_客户' ) )

     

    三、确定客户类型

     

    确定RFM值后,我们将R、F、M分别与平均值比较,计数出RFM的得分情况

     

    RFM R 分数 = IF( NOT ISBLANK( [RFM R] ) , DIVIDE( [RFM R MAX] - [RFM R] , [RFM R MAX] - [RFM R MIN] ) * 100 )

     

    RFM F 分数 = IF( NOT ISBLANK( [RFM F] ) , DIVIDE( [RFM F] - [RFM F MIN] , [RFM F MAX] - [RFM F MIN] ) * 100 )

     

    RFM M 分数 = IF( NOT ISBLANK( [RFM M] ) , DIVIDE( [RFM M] - [RFM M MIN] , [RFM M MAX] - [RFM M MIN] ) * 100 )

     

    四、新建辅助表

     

    1、新建RFM分类表

    可以直接输入数据,也可以通过Excel导入数据。

     

    RFM分类表

     

    2、新建权重参数表

     

    权重参数从0到100进行设定

     

    参数_RFM R权重 = GENERATESERIES(0, 100, 1)

     

    参数_RFM F权重 = GENERATESERIES(0, 100, 1)

     

    参数_RFM M权重 = GENERATESERIES(0, 100, 1)

     

    3、新建TOP参数表

    参数_RFM TOP X = GENERATESERIES(0, 100, 1)

     

    五、制作可视化报告

     

    1、制作表格,拖放已经计算好的数据

    表格

     

    2、制作客户RFM权重占比环形图

    权重占比环形图

     

    3、制作客户分类占比环形图

    分类占比环形图

     

    4、制作客户RFM得分排名条形图

    排名条形图

     

    5、制作切片器

     

    切片器拖放辅助表中的权重R\F\M字段和TopX字段,并设置显示格式为下拉。日期切片器直接设置开启滑块

    切片器制作

     

    六、总结

     

    客户RFM分析首先需要根据订单数据来计算RFM的值,其次通过辅助表进行补充动态设定的参数。再次通过RFM的值和最大值、最小值对比使用平均函数进行计算出RFM得分情况。通过辅助表客户分类维度,来确定客户所属分类。该模型可以动态根据企业对R,F,M设定不同的权重来计算客户的价值。

     

    对于销售分析的指标的分析模型还有动态ABC分析模型,在后续得文章中会给大家展现。

    展开全文
  • 来源:数据路本文约4000字,建议阅读7分钟。手把手教你利用利用KMeans聚类进行航空... 挖掘目标借助航空公司客户数据,对客户进行分类对不同的客户类别进行特征分析,比较不同类客户客户价值对不同价值的客户类别提
        

    640?wx_fmt=png

    来源:数据路

    本文约4000字,建议阅读7分钟。
    手把手教你利用利用KMeans聚类进行航空公司客户价值分析。


    背景与挖掘目标


    1. 背景

    • 航空公司业务竞争激烈,从产品中心转化为客户中心

    • 针对不同类型客户,进行精准营销,实现利润最大化

    • 建立客户价值评估模型,进行客户分类,是解决问题的办法


    2. 挖掘目标

    • 借助航空公司客户数据,对客户进行分类

    • 对不同的客户类别进行特征分析,比较不同类客户的客户价值

    • 对不同价值的客户类别提供个性化服务,制定相应的营销策略


    详情数据见数据集内容中的air_data.csv和客户信息属性说明。


    分析方法与过程


    1. 分析方法

    • 首先,明确目标是客户价值识别

    • 识别客户价值,应用最广泛的模型是三个指标(消费时间间隔(Recency),消费频率(Frequency),消费金额(Monetary))

    • 以上指标简称RFM模型,作用是识别高价值的客户

    • 消费金额,一般表示一段时间内,消费的总额。但是,因为航空票价收到距离和舱位等级的影响,同样金额对航空公司价值不同

    • 因此,需要修改指标。选定变量,舱位因素=舱位所对应的折扣系数的平均值=C,距离因素=一定时间内积累的飞行里程=M

    • 再考虑到,航空公司的会员系统,用户的入会时间长短能在一定程度上影响客户价值,所以增加指标L=入会时间长度=客户关系长度

    • 总共确定了五个指标,消费时间间隔R,客户关系长度L,消费频率F,飞行里程M和折扣系数的平均值C

    • 以上指标,作为航空公司识别客户价值指标,记为LRFMC模型

    • 如果采用传统的RFM模型,如下图。它是依据,各个属性的平均值进行划分,但是,细分的客户群太多,精准营销的成本太高。


    640?wx_fmt=png


    • 综上,这次案例,采用聚类的办法进行识别客户价值,以LRFMC模型为基础

    • 本案例,总体流程如下图


    640?wx_fmt=png


    2.挖掘步骤

    • 从航空公司,选择性抽取与新增数据抽取,形成历史数据和增量数据

    • 对步骤一的两个数据,进行数据探索性分析和预处理,主要有缺失值与异常值的分析处理,属性规约、清洗和变换

    • 利用步骤2中的已处理数据作为建模数据,基于旅客价值的LRFMC模型进行客户分群,对各个客户群再进行特征分析,识别有价值客户

    • 针对模型结果得到不同价值的客户,采用不同的营销手段,指定定制化的营销服务,或者针对性的优惠与关怀。(重点维护老客户)


    3. 数据抽取

    • 选取,2014-03-31为结束时间,选取宽度为两年的时间段,作为观测窗口,抽取观测窗口内所有客户的详细数据,形成历史数据

    • 对于后续新增的客户信息,采用目前的时间作为重点,形成新增数据


    4. 探索性分析

    • 本案例的探索分析,主要对数据进行缺失值和异常值分析

    • 发现,存在票价为控制,折扣率为0,飞行公里数为0。票价为空值,可能是不存在飞行记录,其他空值可能是,飞机票来自于积分兑换等渠道

    • 查找每列属性观测值中空值的个数、最大值、最小值的代码如下


    import pandas as pd
    datafile= r'/home/kesci/input/date27730/air_data.csv' #航空原始数据,第一行为属性标签
    resultfile = r'/home/kesci/work/test.xls' #数据探索结果表
    data = pd.read_csv(datafile, encoding = 'utf-8') #读取原始数据,指定UTF-8编码(需要用文本编辑器将数据装换为UTF-8编码)
    explore = data.describe(percentiles = [], include = 'all').T #包括对数据的基本描述,percentiles参数是指定计算多少的分位数表(如1/4分位数、中位数等);T是转置,转置后更方便查阅
    print(explore)
    explore['null'] = len(data)-explore['count'] #describe()函数自动计算非空值数,需要手动计算空值数
    explore = explore[['null', 'max', 'min']]
    explore.columns = [u'空值数', u'最大值', u'最小值'] #表头重命名
    print('-----------------------------------------------------------------以下是处理后数据')
    print(explore)
    '''这里只选取部分探索结果。
    describe()函数自动计算的字段有count(非空值数)、unique(唯一值数)、top(频数最高者)、freq(最高频数)、mean(平均值)、std(方差)、min(最小值)、50%(中位数)、max(最大值)'''

    -----------------------------------------------------------------以下是处理前数据
                            count unique         top   freq      mean       std  
    MEMBER_NO                62988    NaN         NaN    NaN   31494.5   18183.2  
    FFP_DATE                 62988   3068  2011/01/13    184       NaN       NaN  
    FIRST_FLIGHT_DATE        62988   3406  2013/02/16     96       NaN       NaN  
    GENDER                   62985      2           男  48134       NaN       NaN  
    FFP_TIER                 62988    NaN         NaN    NaN   4.10216  0.373856  
    WORK_CITY                60719   3310          广州   9385       NaN       NaN  
    WORK_PROVINCE            59740   1185          广东  17507       NaN       NaN  
    WORK_COUNTRY             62962    118          CN  57748       NaN       NaN  
    ...
    -----------------------------------------------------------------以下是处理后数据
                             空值数       最大值   最小值
    MEMBER_NO                   0     62988     1
    FFP_DATE                    0       NaN   NaN
    FIRST_FLIGHT_DATE           0       NaN   NaN
    GENDER                      3       NaN   NaN
    FFP_TIER                    0         6     4
    WORK_CITY                2269       NaN   NaN
    WORK_PROVINCE            3248       NaN   NaN
    WORK_COUNTRY               26       NaN   NaN
    AGE                       420       110     6
    LOAD_TIME                   0       NaN   NaN
    FLIGHT_COUNT                0       213     2
    BP_SUM                      0    505308     0
    ...


    5. 数据预处理


    • 数据清洗

    • 丢弃票价为空记录

    • 丢弃票价为0、平均折扣率不为0、总飞行公里数大于0的记录


    import pandas as pd
    datafile= '/home/kesci/input/date27730/air_data.csv' #航空原始数据,第一行为属性标签
    cleanedfile = '' #数据清洗后保存的文件
    data = pd.read_csv(datafile,encoding='utf-8') #读取原始数据,指定UTF-8编码(需要用文本编辑器将数据装换为UTF-8编码)
    data = data[data['SUM_YR_1'].notnull() & data['SUM_YR_2'].notnull()] #票价非空值才保留
    #只保留票价非零的,或者平均折扣率与总飞行公里数同时为0的记录。
    index1 = data['SUM_YR_1'] != 0
    index2 = data['SUM_YR_2'] != 0
    index3 = (data['SEG_KM_SUM'] == 0) & (data['avg_discount'] == 0) #该规则是“与”,书上给的代码无法正常运行,修改'*'为'&'
    data = data[index1 | index2 | index3] #该规则是“或”
    print(data)
    # data.to_excel(cleanedfile) #导出结果
    ————————————————————以下是处理后数据————————
          MEMBER_NO    FFP_DATE FIRST_FLIGHT_DATE GENDER  FFP_TIER  \
    0          54993  2006/11/02        2008/12/24      男         6  
    1          28065  2007/02/19        2007/08/03      男         6  
    2          55106  2007/02/01        2007/08/30      男         6  
    3          21189  2008/08/22        2008/08/23      男         5  
    4          39546  2009/04/10        2009/04/15      男         6  
    5          56972  2008/02/10        2009/09/29      男         6  
    6          44924  2006/03/22        2006/03/29      男         6  
    7          22631  2010/04/09        2010/04/09      女         6  
    8          32197  2011/06/07        2011/07/01      男         5  
    9          31645  2010/07/05        2010/07/05      女         6  


    6. 属性规约


    • 原始数据中属性太多,根据航空公司客户价值LRFMC模型,选择与模型相关的六个属性

    • 删除其他无用属性,如会员卡号等等


    def reduction_data(data):
       data = data[['LOAD_TIME', 'FFP_DATE', 'LAST_TO_END', 'FLIGHT_COUNT', 'SEG_KM_SUM', 'avg_discount']]
       # data['L']=pd.datetime(data['LOAD_TIME'])-pd.datetime(data['FFP_DATE'])
       # data['L']=int(((parse(data['LOAD_TIME'])-parse(data['FFP_ADTE'])).days)/30)
       d_ffp = pd.to_datetime(data['FFP_DATE'])
       d_load = pd.to_datetime(data['LOAD_TIME'])
       res = d_load - d_ffp
       data2=data.copy()
       data2['L'] = res.map(lambda x: x / np.timedelta64(30 * 24 * 60, 'm'))
       data2['R'] = data['LAST_TO_END']
       data2['F'] = data['FLIGHT_COUNT']
       data2['M'] = data['SEG_KM_SUM']
       data2['C'] = data['avg_discount']
       data3 = data2[['L', 'R', 'F', 'M', 'C']]
       return data3
    data3=reduction_data(data)
    print(data3)
    ————————————以下是以上代码处理后数据————————————
                   L    R    F       M         C
    0       90.200000    1  210  580717  0.961639
    1       86.566667    7  140  293678  1.252314
    2       87.166667   11  135  283712  1.254676
    3       68.233333   97   23  281336  1.090870
    4       60.533333    5  152  309928  0.970658
    5       74.700000   79   92  294585  0.967692
    6       97.700000    1  101  287042  0.965347
    7       48.400000    3   73  287230  0.962070
    8       34.266667    6   56  321489  0.828478


    7. 数据变换


    • 意思是,将原始数据转换成“适当”的格式,用来适应算法和分析等等的需要

    • 本案例,主要采用数据变换的方式为属性构造和数据标准化 3.需要构造LRFMC的五个指标

    • L=LOAD_TIME-FFP_DATE(会员入会时间距观测窗口结束的月数=观测窗口的结束时间-入会时间(单位:月))

    • R=LAST_TO_END(客户最近一次乘坐公司距观测窗口结束的月数=最后一次。。。)

    • F=FLIGHT_COUNT(观测窗口内的飞行次数)

    • M=SEG_KM_SUM(观测窗口的总飞行里程)

    • C=AVG_DISCOUNT(平均折扣率)


    def zscore_data(data):
       data = (data - data.mean(axis=0)) / data.std(axis=0)
       data.columns = ['Z' + i for i in data.columns]
       return data
    data4 = zscore_data(data3)
    data4

    ————————————以下是以上代码处理后数据————————————
            ZL           ZR         ZF           ZM         ZC
    0     1.435707    -0.944948   14.034016   26.761154   1.295540
    1     1.307152    -0.911894   9.073213    13.126864   2.868176
    2     1.328381    -0.889859   8.718869    12.653481   2.880950
    3     0.658476    -0.416098   0.781585    12.540622   1.994714
    4     0.386032    -0.922912   9.923636    13.898736   1.344335
    5     0.887281    -0.515257   5.671519    13.169947   1.328291


    模型构建

    1. 客户聚类


    利用K-Means聚类算法对客户数据进行客户分群,聚成五类(根据业务理解和需要,分析与讨论后,确定客户类别数量)。

    代码如下:


    inputfile = r'/home/kesci/input/date27730/zscoreddata.xls' #待聚类的数据文件
    k = 5                       #需要进行的聚类类别数
    #读取数据并进行聚类分析
    data = pd.read_excel(inputfile) #读取数据
    #调用k-means算法,进行聚类分析
    kmodel = KMeans(n_clusters = k, n_jobs = 4) #n_jobs是并行数,一般等于CPU数较好
    kmodel.fit(data) #训练模型
    r1 = pd.Series(kmodel.labels_).value_counts()
    r2 = pd.DataFrame(kmodel.cluster_centers_)
    r = pd.concat([r2, r1], axis=1)
    r.columns = list(data.columns) + ['类别数目']
    # print(r)
    # r.to_excel(classoutfile,index=False)
    r = pd.concat([data, pd.Series(kmodel.labels_, index=data.index)], axis=1)
    r.columns = list(data.columns) + ['聚类类别']
    print(kmodel.cluster_centers_)
    print(kmodel.labels_)
    r
    [[-0.70078704 -0.41513666 -0.1607619  -0.16049688 -0.25665898]
    [-0.31411607  1.68662534 -0.57386257 -0.53661609 -0.17243195]
    [ 0.48347647 -0.79941777  2.48236495  2.42356419  0.30943042]
    [ 1.16033496 -0.37744106 -0.0870043  -0.09499704 -0.15836889]
    [ 0.05165705 -0.00258448 -0.23089344 -0.23513858  2.17775056]]
    [3 3 3 ... 3 3 3]
            ZL          ZR         ZF           ZM           ZC    聚类类别
    0     1.689882    0.140299    -0.635788   0.068794    -0.337186   3
    1     1.689882    -0.322442   0.852453    0.843848    -0.553613   3
    2     1.681743    -0.487707   -0.210576   0.158569    -1.094680   3
    3     1.534185    -0.785184   0.002030    0.273091    -1.148787   3
    4     0.890167    -0.426559   -0.635788   -0.685170   1.231909    4
    5     -0.232618   -0.690983   -0.635788   -0.603898   -0.391293   0
    6     -0.496949   1.996225    -0.706656   -0.661752   -1.311107   1


    就剩下最后一步,画图:


    def density_plot(data):
       plt.rcParams['font.sans-serif']=['SimHei']
       plt.rcParams['axes.unicode_minus']=False
       p=data.plot(kind='kde',linewidth=2,subplots=True,sharex=False)
       [p[i].set_ylabel('密度') for i in range(5)]
       [p[i].set_title('客户群%d' %i) for i in range(5)]
       plt.legend()
       plt.show()
       return plt
    density_plot(data4)

    640?wx_fmt=png

    clu = kmodel.cluster_centers_  
    x = [1,2,3,4,5]  
    colors = ['red','green','yellow','blue','black']  
    for i in range(5):  
      plt.plot(x,clu[i],label='clustre '+str(i),linewidth
    =6-i,color=colors[i],marker='o')  
    plt.xlabel('L  R  F  M  C')  
    plt.ylabel('values')  
    plt.show()  


    • 客户群1:red,

    • 客户群2:green,

    • 客户群3:yellow,

    • 客户群4:blue,

    • 客户群5:black


    640?wx_fmt=png

    客户关系长度L,消费时间间隔R,消费频率F,飞行里程M,折扣系数的平均值C。


    横坐标上,总共有五个节点,按顺序对应LRFMC。


    对应节点上的客户群的属性值,代表该客户群的该属性的程度。


    2. 客户价值分析


    我们重点关注的是L,F,M,从图中可以看到:


    • 客户群4[blue] 的F,M很高,L也不低,可以看做是重要保持的客户;

    • 客户群3[yellow] 重要发展客户

    • 客户群1[red] 重要挽留客户,原因:入会时间长,但是F,M较低

    • 客户群2[green] 一般客户

    • 客户群5[black] 低价值客户


    • 重要保持客户:R(最近乘坐航班)低,F(乘坐次数)、C(平均折扣率高,舱位较高)、M(里程数)高。最优先的目标,进行差异化管理,提高满意度。

    • 重要发展客户:R低,C高,F或M较低,潜在价值客户。虽然说,当前价值不高,但是却有很大的发展潜力,促使这类客户在本公司消费和合作伙伴处消费。

    • 重要挽留客户:C、F、M较高,但是较长时间没有乘坐(R)小。增加与这类客户的互动,了解情况,采取一定手段,延长客户生命周期。

    • 一般与低价值客户:C、F、M、L低,R高。他们可能是在公司打折促销时才会乘坐本公司航班。

    640?wx_fmt=png


    3. 模型应用


    • 会员的升级与保级(积分兑换原理相同)

    • 会员可以分为,钻石,白金,金卡,银卡…

    • 部分客户会因为不了解自身积分情况,错失升级机会,客户和航空公司都会有损失

    • 在会员接近升级前,对高价值客户进行促销活动,刺激他们消费达到标准,双方获利


    4. 交叉销售


    通过发行联名卡与非航空公司各做,使得企业在其他企业消费过程中获得本公司的积分,增强与本公司联系,提高忠诚度。


    5. 管理模式


    • 企业要获得长期的丰厚利润,必须需要大量稳定的、高质量的客户

    • 维持老客户的成本远远低于新客户,保持优质客户是十分重要的

    • 精准营销中,也有成本因素,所以按照客户价值排名,进行优先的,特别的营销策略,是维持客户的关键。


    6.小结


    本文,结合航空公司客户价值案例的分析,重点介绍了数据挖掘算法中K-Means聚类算法的应用。 针对,传统RFM模型的不足,结合案例进行改造,设定了五个指标的LRFMC模型。最后通过聚类的结果,选出客户价值排行,并且制定相应策略。

    640?wx_fmt=jpeg

    展开全文
  • 文章目录研究目的:精准营销研究内容:客户分类维度数据获取与处理设计调查问卷及确定调研计划数据处理数据分析架构客户细分目标客户选择目标客户定位数据分析与输出结果确定分类维度分类维度的消减适应性检验因子...
  • Excel数据分析--客户对象分析

    千次阅读 2018-12-06 14:26:50
    最近一直也在学习Excel相关的知识,在学的过程中,觉得Excel在少量数据分析这块功能还是很强大的,尤其是在清理数据方向,这次想根据之前学过的一些内容知识,对Excel这块也有个巩固。 拿出一份Excel文档,这个文档...
  • 银行客户流失分析

    千次阅读 多人点赞 2019-07-22 09:12:51
    本文首先根据已有数据集对各特征进行描述性统计分析,初步了解数据;之后进行数据预处理,包括数据清洗,数据变换、特征选择;再后用SVM、LR、朴素贝叶斯、决策树、RF、XGBoost、LM神经网络进行建模,通过不同性能...
  • 3航空公司客户价值分析

    千次阅读 2017-09-01 16:39:09
    3航空公司客户价值分析 目标 将客户进行分类分群,分析对比不同客户群体的客户价值,将营销资源集中于高价值客户,实现企业利润最大化。(通过航空公司的数据识别不同价值的客户。) 3.1 数据的探索性分析 探索...
  • EBS 客户表结构

    千次阅读 2014-01-03 17:59:24
    客户表/联系人/PARTY关联 HZ_PARTIES 客户账户 HZ_CUST_ACCOUNTS SELECT hp.party_number --客户注册标识 , hp.party_name --组织名/客户 , hp.known_as --别名 , hp.organization_name_phonetic --名称...
  • python数据分析-客户价值分析

    千次阅读 2018-03-09 20:07:11
    目标:企业针对不同价值的客户制定个性化的服务,将有限的资源集中于高价值客户。 1、借助航空公司的数据进行客户分类 2、比较不同类客户的价值并制定销策略 传统上识别客户价值模型是通过RFM模型: Recency: ...
  • Power BI(二十四)power pivot之产品/客户分类分析(ABC分析) 之前我们介绍过帕累托分析,现在我们使用power pivot进行产品/客户分类分析(ABC分析) 我们就以产品ABC分析即可,客户ABC分析操作与原理基本是...
  • python数据分析客户价值分析案例实战

    万次阅读 多人点赞 2018-08-24 10:58:54
    简介:本案例以电信运营商客户信息为数据,通过层次聚类和K-means聚类,对用户划分成不同的群体,然后可以根据用户群体的不同特征提供个性化的策略,从而达到提高ARPU的效果。 1.商业理解 根据客户的日常消费...
  • 数据分析客户忠诚度

    千次阅读 2019-05-28 18:28:52
    一、 根据客户忠诚度划分 忠诚度是一种行为,也是一种情绪。想要获得客户忠诚度的公司需要着重长远发展而不仅局限于一个项目。主要强调交易式忠诚度和着重“锁住”客户而不是回馈客户的项目并不可行。 客户忠诚是指...
  • 数据挖掘之航空公司客户价值分析

    千次阅读 2020-05-23 17:03:01
    题目:航空公司客户价值分析 目录 一、 任务背景 2 二、 数据挖掘目标 2 三、数据探索与预处理 3 构建航空客户价值分析的关键特征 3 数据抽取 5 探索性分析 5 数据处理 6 四、模型构建...
  • 电信客户流失数据分析(一)

    千次阅读 2020-04-20 22:41:50
    目录来个数据分析项目^-^任务1:探索数据集任务2:哪些输入特征与顾客流失具有关联性? 来个数据分析项目- 背景:在kaggle网站上发现了这个数据集,就顺手拿来个数据分析的项目,希望发现一些有趣的结果吧~~感...
  • Power BI(二十八)power pivot之TOPN大客户分析 这节我们主要来讲解如何制作t自定义排序及自定义前几名的切片器,我们点击其排序依据及前几名结果就会更着相应的变化 假如我们选着订单数量为排序依据,取前15名...
  • 这次主要是根据电商网站上用户的行为来进行相关的数据分析,本次数据主要是采集了11月25-12月03日的用户点击量,购买量,收藏量和加入购物车量,每行数据表示一位用户的行为记录,本主要是包含5个字段,user id,...
  • 本次建模项目是来自于《python数据分析与挖掘实战》的案例,是介绍航空公司客户价值的分析,书中给出了关于62988个客户的基本信息和在观测窗口内的消费积分等相关信息,其中包含了会员卡号、入会时间、性别、年龄、...
  • R:航空公司客户价值分析实战

    万次阅读 多人点赞 2018-03-04 08:14:54
    面对激烈的市场竞争,国内的某航空公司面临着旅客流失、竞争力下降、航空资源未充分利用等危机,通过建立合理的客户价值评估模型,对客户进行分群,分析比较不同客户群的客户价值,并制定相应的营销策略,对不同的...
  • 29、RFM客户价值分析(有图有案例)

    千次阅读 2018-12-04 17:18:41
    RFM分析:是根据用户活跃程度和交易金额贡献,进行客户价值细分的一种方法 一、分析指标 指标 解释 意义 R(Recency)近度 客户最近一次交易时间的间隔  R越小,表示客户越近有交易发生 F...
  • Python:航空公司客户价值分析实战

    千次阅读 热门讨论 2018-03-04 10:59:18
    面对激烈的市场竞争,国内的某航空公司面临着旅客流失、竞争力下降、航空资源未充分利用等危机,通过建立合理的客户价值评估模型,对客户进行分群,分析比较不同客户群的客户价值,并制定相应的营销策略,对不同的...
  • 客户投诉数据的分析思路

    千次阅读 2018-04-09 14:05:07
    一条线是分析投诉的处理过程,涉及到处理了多少客户投诉,平均处理时长有多少,一次解决率有多少,承诺时限内解决率有多少,客户满意率水平如何等,分析的是客服对于客户投诉诉求的处理效率和效果;另一条线则是对客...
  • 电信业客户流失分析

    千次阅读 2018-12-23 16:34:00
    参考:...一、商业理解 QUESTION 1:预测哪些客户可能会流失? QUESTION 2:可能流失客户的特征是什么? QUESTION 3:市场挽留活动的预计收益是多少? 定义 正常使用,判...
  • K-Means 聚类:客户价值分析

    万次阅读 多人点赞 2018-03-16 20:36:21
    1 背景与挖掘目标1.1 背景1、航空公司业务竞争激烈,企业营销焦点从产品...2、对不同的客户类别进行特征分析,比较不同类客户客户价值;3、对不同价值的客户类别提供个性化服务,制定相应的营销策略。2 分析方法与...
  • K-means算法分析航空公司客户价值

    千次阅读 2019-03-22 10:15:18
    信息时代的来临使得企业营销焦点从产品转向了客户客户关系管理(Customerrelationship management,CRM)成为企业的核心问题。客户关系管理的关键问题是客户分群。通过客户分群,区分无价值客户和高价值客户。企业...
  • 一、实现目标(1)借助航空公司客户数据,对客户进行分类(2)对不同的客户进行特征分析,比较不同类客户客户价值(3)对不同价值的客户类别提供个性化服务,指定相应的营销策略二、分析方法与过程航空客运信息...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 247,945
精华内容 99,178
关键字:

如何做客户分析表