美文网首页数据分析
电商客户特征识别数据分析 : 实战

电商客户特征识别数据分析 : 实战

作者: 羋学僧 | 来源:发表于2018-12-17 21:12 被阅读0次

    电商客户特征识别数据分析 - 数据分析报告


    数据分析报告的通用流程

    • 背景介绍
    • 数据分析
      • 算指标(分组、聚合、透视表、交叉表)
      • 画图
      • 反复循环
    • 结论和建议

    电商客户特征识别数据分析 流程

    1. 引入问题
      • 背景介绍
      • 提出问题
    2. 研究方法
      • 订单分析
      • 客户匹配(找出无价值客户)
      • 客户特征分析
    3. 研究结论
      • 研究总结
      • 相关建议

    引入问题

    背景介绍

    xx电商平台

    • 平台概述:xx旗下O2O生鲜电商平台
    • 主营商品:果蔬、肉蛋、水产、粮油、水饮、零食等
    • 主要特色:半成品配送,环保方便;社区自提柜,产销联合
    • 服务区域:北京市、上海市、深圳市

    提出问题

    • 优惠促销商品利润微薄,是企业用以发展新客户的营销手段
    • 有一类客户基本只购买优惠促销商品,很少购买正价商品,这类客户对企业没有价值,只会增加营销成本
    • 企业想要将无价值客户识别出来,同正常客户做区分,以便针对性的改变营销策略

    问题:和正常客户相比,无价值客户有什么特征?

    import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd
    
    # plt.style.use('seaborn')
    plt.rcParams['font.family'] = ['Arial Unicode MS', 'Microsoft Yahei', 'SimHei', 'sans-serif']
    

    数据载入

    shop = pd.read_excel('shopmall2.xlsx', None)
    shop
    
    OrderedDict([('订单信息',          订单ID    客户ID  订单状态  优惠类型
                  0       47739    5245     1     0
                  1      341269    5245     0     0
                  2       32690    5254     1     0
                  3       45641    5254     1     0
                  4       66116    5254     1     0
                  5       79014    5254     1     0
                  6       79058    5254     0     0
                  7       79221    5254     1     0
                  8       79608    5254     1     0
                  9      146455    5254     1     0
                  10     148275    5254     1     0
                  11     149066    5254     1     1
                  12     240219    5286     1     1
                  13     287500    5286     1     0
                  14     287502    5286     0     0
                  15     290370    5286     0     0
                  16     290372    5286     0     0
                  17     378615    5286     0     0
                  18     378618    5286     0     0
                  19     378621    5286     0     0
                  20      66457    5292     1     0
                  21     211972    5292     0     1
                  22     226715    5292     1     0
                  23     237862    5292     0     1
                  24     246600    5292     1     0
                  25     248991    5292     0     1
                  26     249847    5292     1     1
                  27     256960    5292     1     1
                  28     422975    5292     1     0
                  29     148707    5474     1     0
                  ...       ...     ...   ...   ...
                  29120  445946  169197     0     1
                  29121  442081  169217     1     1
                  29122  442299  169269     1     1
                  29123  442333  169276     1     1
                  29124  442649  169299     0     1
                  29125  442726  169299     1     1
                  29126  443197  169318     1     1
                  29127  444034  169318     1     1
                  29128  443767  169393     0     1
                  29129  443770  169393     1     0
                  29130  443771  169393     1     0
                  29131  444237  169393     1     0
                  29132  443940  169445     0     1
                  29133  444077  169445     1     0
                  29134  445037  169445     0     0
                  29135  444721  169598     1     0
                  29136  445432  169598     0     1
                  29137  445444  169598     1     1
                  29138  444984  169613     1     1
                  29139  445427  169614     1     1
                  29140  445249  169691     1     1
                  29141  445279  169699     1     0
                  29142  447620  169699     1     1
                  29143  445884  169815     1     1
                  29144  447102  169832     1     1
                  29145  446758  169934     1     1
                  29146  446759  169934     1     0
                  29147  447165  169976     0     1
                  29148  447274  169976     0     1
                  29149  447375  169976     1     1
                  
                  [29150 rows x 4 columns]),
                 ('货物信息',         订单ID    货物ID      货物名称 优惠额度
                  0     264971  103247  自然乐园水果礼盒  >15
                  1     264994  103247  自然乐园水果礼盒  >15
                  2     266829  103247  自然乐园水果礼盒  >15
                  3     267232  103247  自然乐园水果礼盒  >15
                  4     269051  103247  自然乐园水果礼盒  >15
                  5     256809  101645       紫甘蓝  >15
                  6     256984  101645       紫甘蓝  >15
                  7     258700  101645       紫甘蓝  >15
                  8     268496  101645       紫甘蓝  >15
                  9     268510  101645       紫甘蓝  >15
                  10    275809  101645       紫甘蓝  >15
                  11    277573  101645       紫甘蓝  >15
                  12    284473  101645       紫甘蓝  >15
                  13    287662  101645       紫甘蓝  >15
                  14    287668  101645       紫甘蓝  >15
                  15    289079  101645       紫甘蓝  >15
                  16    290400  101645       紫甘蓝  >15
                  17    264515  103306        滋久  >15
                  18    266465  103306        滋久  >15
                  19    266994  103306        滋久  >15
                  20    272357  103306        滋久  >15
                  21    277529  103306        滋久  >15
                  22    258249  103305        滋久  >15
                  23    260035  103305        滋久  >15
                  24    263743  103305        滋久  >15
                  25    268881  103305        滋久  >15
                  26    271752  104052    猪蹄(一只)  >15
                  27    274915  104052    猪蹄(一只)  >15
                  28    276892  104052    猪蹄(一只)  >15
                  29    277573  104052    猪蹄(一只)  >15
                  ...      ...     ...       ...  ...
                  3100  284553  102103      冷冻鲜肉    0
                  3101  284927  102103      冷冻鲜肉    0
                  3102  285226  102103      冷冻鲜肉    0
                  3103  285307  102103      冷冻鲜肉    0
                  3104  285552  102103      冷冻鲜肉    0
                  3105  286058  102103      冷冻鲜肉    0
                  3106  286168  102103      冷冻鲜肉    0
                  3107  286815  102103      冷冻鲜肉    0
                  3108  287216  102103      冷冻鲜肉    0
                  3109  287519  102103      冷冻鲜肉    0
                  3110  291209  102103      冷冻鲜肉    0
                  3111  291234  102103      冷冻鲜肉    0
                  3112  291584  102103      冷冻鲜肉    0
                  3113  292142  102103      冷冻鲜肉    0
                  3114  284006  104323        牙签    0
                  3115  263864  103376   500元充值卡    0
                  3116  268178  103376   500元充值卡    0
                  3117  268277  103376   500元充值卡    0
                  3118  285796  103376   500元充值卡    0
                  3119  286098  103376   500元充值卡    0
                  3120  257077  103376   500元充值卡    0
                  3121  261240  103376   500元充值卡    0
                  3122  265594  103376   500元充值卡    0
                  3123  265982  103376   500元充值卡    0
                  3124  266432  103376   500元充值卡    0
                  3125  282903  103376   500元充值卡    0
                  3126  283994  103376   500元充值卡    0
                  3127  284171  103376   500元充值卡    0
                  3128  256095  103376   500元充值卡    0
                  3129  256499  103376   500元充值卡    0
                  
                  [3130 rows x 4 columns]),
                 ('顾客信息',
                          客户ID   登陆次数  注册时间(距1970-1-1的秒数)  本次购买时间(距1970-1-1的秒数)    经验值  订单数
                  0       5245     55          1430413266            1495339734    206    1
                  1       5254     69          1430413266            1499041945    428   13
                  2       5286     57          1430413266            1509936376    280    1
                  3       5292    184          1430413266            1510135868    643    5
                  4       5474     71          1430413266            1481185064     61    2
                  5       5544    520          1430413266            1511065463   5033  103
                  6       5547     30          1430413266            1510577047    477    8
                  7       5552   2699          1430413266            1511245956  12673  164
                  8       5560     39          1430413266            1481811865     27    0
                  9       5580    137          1430413266            1506301413    236    2
                  10      5625    463          1430413266            1510935255   2087   14
                  11      5628    356          1430413266            1511145498  11494  166
                  12      5661  11675          1430413266            1511224143  34701  487
                  13      5690   1769          1430413266            1511175196  13398  182
                  14      5699    634          1430413266            1510274405   8415  121
                  15      5701     94          1430413266            1481201883    512    8
                  16      5723     29          1430413266            1488960790    163    2
                  17      5725   1372          1430413266            1510625605   9243  126
                  18      5726   1576          1430413266            1511162452  13078  193
                  19      5727    102          1430413266            1510223946   2574   37
                  20      5728    164          1430413266            1498397004    863   16
                  21      5734   1193          1430413266            1511169496   6852   86
                  22      5740    826          1430413266            1506164574   2309   19
                  23      5767     80          1430413266            1506216500   1681   17
                  24      5785     62          1430413266            1506783217    249    5
                  25      5789    170          1430413266            1511140849   1373   20
                  26      5804    730          1430413266            1511190699   2851   28
                  27      5816    374          1430413266            1508748129   1225   15
                  28      5880    206          1430413266            1511146306   3913   70
                  29      5912    288          1430413266            1510033445   1755   26
                  ...      ...    ...                 ...                   ...    ...  ...
                  2970  168758     18          1510124356            1510960789    105    2
                  2971  168792     15          1510136872            1510661772     60    1
                  2972  168831     78          1510182960            1511241351    635   10
                  2973  168834     12          1510187047            1511239077    102    3
                  2974  168948      6          1510233924            1510234362     48    1
                  2975  168976      7          1510275950            1511166273     66    3
                  2976  168981     30          1510278673            1511184888    146    2
                  2977  168991      6          1510280818            1510456811    129    3
                  2978  169031     10          1510287019            1510613142     27    1
                  2979  169049      7          1510292348            1510392612     43    1
                  2980  169084     11          1510303482            1510927533     94    1
                  2981  169106     23          1510312431            1511054357    215    2
                  2982  169132     18          1510324837            1511090706     75    2
                  2983  169197     38          1510373093            1510890780     66    1
                  2984  169217     28          1510377281            1510877581     38    1
                  2985  169269      4          1510388952            1510388952      7    1
                  2986  169276      6          1510391145            1511008391     50    1
                  2987  169299      9          1510397978            1511187978     27    1
                  2988  169318      8          1510407061            1510615622    154    2
                  2989  169393     14          1510464820            1511147607    187    3
                  2990  169445     13          1510487420            1510645072     84    1
                  2991  169598     35          1510618726            1510983354     63    2
                  2992  169613     11          1510627070            1510746988     12    1
                  2993  169614      9          1510627121            1510889773     33    1
                  2994  169691      6          1510657422            1510706666     73    1
                  2995  169699     20          1510662595            1511217077    153    3
                  2996  169815     13          1510753437            1511159975     57    1
                  2997  169832     12          1510793074            1511142183     62    1
                  2998  169934     14          1510841381            1510971292     68    2
                  2999  169976     16          1510908302            1511184987     27    1
                  
                  [3000 rows x 6 columns])])
    
    #### 数据整体概览
    dingdan = shop['订单信息']
    dingdan.head()
    
    image.png
    huowu = shop['货物信息']
    huowu.head()
    
    image.png
    guke = shop['顾客信息']
    guke.head()
    
    image.png

    数据规整(略)


    数据情况

    数据由3个单元表组成:

    订单信息:

    • 订单ID
    • 客户ID
    • 订单状态
      • 1表示正常完成订单
      • 0表示未完成订单
    • 优惠类型
      • 0表示无优惠
      • 1表示优惠

    货物信息:

    • 订单ID
    • 货物ID
    • 货物名称
    • 优惠额度
      • 分组显示优惠额度

    顾客信息:

    • 客户ID
    • 登陆次数
    • 注册时间(距1970-1-1的秒数)
    • 本次购买时间(距1970-1-1的秒数)
    • 经验值
    • 订单数

    研究方法


    订单分析

    分析订单的优惠额度

    指标创建:不同优惠额度的订单数量

    huowu.head()
    
    image.png

    指标创建

    a = huowu.groupby('优惠额度').size()
    a
    
    优惠额度
    0        1439
    0-2       584
    10-15      38
    2-5       596
    5-10      310
    >15       163
    dtype: int64
    

    指标可视化

    plt.bar(a.index, a)
    
    <BarContainer object of 6 artists>
    
    output_16_1.png
    a.plot.bar(figsize=(18, 8), alpha=0.7)
    plt.xticks(rotation = 0)
    
    <matplotlib.axes._subplots.AxesSubplot at 0x8c16e10>
    
    output_17_1.png

    创建堆叠柱状图

    创建一个新表绘制堆叠柱状图

    0        1439
    0-2       584
    10-15      38
    2-5       596
    5-10      310
    >15       163
    
          other 0-2  2-5
    <5    1439  584  596
    5-10  310   nan  nan
    10-15 38    nan  nan
    >15   163   nan  nan
    
    d = pd.DataFrame(
        [
            [np.nan, 584, 596],
            [310, np.nan, np.nan],
            [38, np.nan, np.nan],
            [163, np.nan, np.nan],
        ],
        index=['<5', '5-10', '10-15', '>15'],
        columns=['other', '0-2', '2-5'],
    )
    d
    
    image.png
    d.plot.bar(figsize=(18, 9), alpha=0.7, stacked=True)
    plt.grid(linewidth=0.3, alpha=0.7)
    plt.title('不同优惠额度的订单数量', fontsize=24)
    plt.xticks(rotation = 0)
    
    image.png

    分析订单商品排行

    原价商品销量前10排名

    huowu.head()
    
    image.png
    huowu[huowu['优惠额度'] == '0']  # 原价商品
    huowu[huowu['优惠额度'] == '0'].groupby('货物名称').size().sort_values(ascending=False)[:10]
    
    _ = huowu[huowu['优惠额度'] == '0'].groupby('货物名称').size().sort_values(ascending=False)[:10]\
    .reset_index().set_index('货物名称').rename(columns={0: '销量'})
    
    _.index.name = ''
    _.columns.name = '货物名称'
    _
    
    image.png

    优惠商品销量前10排名

    huowu[-(huowu['优惠额度'] == '0')].groupby('货物名称').size().sort_values(ascending=False)[:10]
    
    货物名称
    蒲江耙耙柑             118
    蒲江不知火丑柑【原产地直供】     61
    藕                  54
    青椒                 41
    小葱                 39
    泰国龙眼【进口商品】800g     39
    西红柿                38
    云南青枣               37
    小白菜                34
    新土豆                34
    dtype: int64
    

    客户匹配

    “无价值客户”指标量化定义

    什么是无价值客户?

    当客户已成交订单中,优惠商品的订单大于等于75%时,定义客户为无价值客户
    

    分离正常客户和无价值客户

    dingdan.head()
    
    image.png

    查看未完成和已完成订单的数量

    dingdan.groupby('订单状态').size()
    
    订单状态
    0     5013
    1    24137
    dtype: int64
    

    生成已完成订单数据表

    dingdan2 = dingdan[dingdan['订单状态'] == 1]
    dingdan2.head()
    
    image.png

    客户ID对应的正常和优惠订单的数量

    交叉表

    方法1:使用交叉表函数实现

    pd.crosstab(dingdan2['客户ID'], dingdan2['优惠类型']).head()
    
    image.png

    方法2:使用透视表实现交叉表

    dingdan2.pivot_table('订单ID', index='客户ID', columns='优惠类型', aggfunc=len, fill_value=0).head()
    
    image.png

    方法3:使用分组聚合实现交叉表

    dingdan2.head()
    
    image.png
    cross = dingdan2.groupby(['客户ID', '优惠类型']).size().unstack().fillna(0).astype(np.int)
    cross.head()
    
    image.png

    计算优惠订单大于等于75%的数据

    8/(8+1)  # 正常订单比例
    1/(8+1)  # 优惠订单比例****
    

    最终目的获取无价值客户ID

    cross.sum(axis=1)  # 按列求和
    cross[1] / cross.sum(axis=1)  # 每个用户优惠订单比例
    
    s = cross[(cross[1] / cross.sum(axis=1) >= 0.75)]  # 无价值客户
    s.index  # 无价值客户的ID
    
    Int64Index([  5560,   5580,   5723,   6310,   6353,   6380,   7255,   7590,
                 10822,  10885,
                ...
                169269, 169276, 169299, 169318, 169613, 169614, 169691, 169815,
                169832, 169976],
               dtype='int64', name='客户ID', length=1669)
    

    分离 正常客户 和 无价值客户

    cross['客户类别'] = 1  # 所有客户都设为有价值客户
    cross.loc[s.index, '客户类别'] = 0  # 将无价值客户的类别替换为0
    cross.head()
    
    image.png

    把 cross 的 客户类别 列插入 顾客信息 单元表中

    注意插入新列时,行的索引和关联列必须对齐

    cross['客户类别'].head()
    
    客户ID
    5245    1
    5254    1
    5286    1
    5292    1
    5474    1
    Name: 客户类别, dtype: int64
    
    guke2 = guke.set_index('客户ID')
    guke2.head()
    
    image.png

    将客户ID设为guke信息表行索引,插入列数据时候,两个表的索引会自动对齐

    guke2['客户类别'] = cross['客户类别']  # 插入新列数据
    guke2.head()
    
    image.png
    cross.shape
    guke2.shape
    
    (3000, 6)
    

    检查新列是否正常

    cross.groupby('客户类别').size()
    guke2.groupby('客户类别').size()
    
    客户类别
    0    1669
    1    1331
    dtype: int64
    
    guke2.info()
    
    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 3000 entries, 5245 to 169976
    Data columns (total 6 columns):
    登陆次数                    3000 non-null int64
    注册时间(距1970-1-1的秒数)      3000 non-null int64
    本次购买时间(距1970-1-1的秒数)    3000 non-null int64
    经验值                     3000 non-null int64
    订单数                     3000 non-null int64
    客户类别                    3000 non-null int64
    dtypes: int64(6)
    memory usage: 164.1 KB
    

    正常客户和无价值客户分离完成


    客户特征分析

    分析正常客户和无价值客户的特征和行为差异

    
    guke2.head()
    
    image.png

    正常客户和无价值客户比例

    x = guke2.groupby('客户类别').size()
    x
    
    客户类别
    0    1669
    1    1331
    dtype: int64
    
    x / x.sum()
    x2 = (x / x.sum()).rename({0: '无价值客户', 1: '正常客户'})
    x2
    
    客户类别
    无价值客户    0.556333
    正常客户     0.443667
    dtype: float64
    
    plt.figure(figsize=(8, 8))
    plt.pie(
        x2,  # 百分比
        labels = x2.index,  # 名称
        explode=(0, 0.03),  # 突出块,突出比例
        autopct='%1.1f%%',  # 显示百分比方式
        startangle=90,  # 饼图起始的角度,度数,默认0为右侧水平180度开始,逆时针旋转
    )
    
    plt.axis('equal') #正圆形饼图,x/y轴尺寸相等.默认是扁图
    plt.show()
    
    output_59_0.png

    结论:无价值客户的数量略大于正常客户

    比较各列数据在不同客户类别下的差异

    gukeMean = guke2.groupby('客户类别').mean().rename(index={0: '无价值客户', 1: '正常客户'})
    gukeMean
    
    image.png

    年平均登陆次数差异

    gukeMean['登陆次数']
    
    客户类别
    无价值客户     77.547633
    正常客户     257.391435
    Name: 登陆次数, dtype: float64
    
    gukeMean['登陆次数'].plot.bar()
    plt.xticks(rotation = 0)
    
    <matplotlib.axes._subplots.AxesSubplot at 0x97cb208>
    
    output_65_1.png

    结论:正常客户的年平均登陆次数远大于无价值客户

    客户会员经验平均值差异

    gukeMean['经验值']
    
    客户类别
    无价值客户     259.021570
    正常客户     1190.660406
    Name: 经验值, dtype: float64
    
    gukeMean['经验值'].plot.bar()
    plt.xticks(rotation = 0)
    
    <matplotlib.axes._subplots.AxesSubplot at 0x95b0c50>
    
    output_69_1.png

    结论:正常客户的经验值远大于无价值客户

    客户平均订单数差异

    gukeMean['订单数']
    
    客户类别
    无价值客户     2.980827
    正常客户     15.408715
    Name: 订单数, dtype: float64
    
    gukeMean['订单数'].plot.bar()
    plt.xticks(rotation = 0)
    
    <matplotlib.axes._subplots.AxesSubplot at 0x8d83f28>
    
    output_73_1.png

    结论:正常客户订单数远大于无价值客户

    注册时间和购买时间差异

    增加1列,间隔天数,(注册时间到本次购买时间的间隔天数)

    无价值用户和正常用户的平均间隔天数差异

    无价值客户和正常客户注册当天即下单购物的比例

    方法1:使用相隔天数列计算注册后当天购物的客户

    计算无价值客户和正常客户注册当天购物的比例

    guke2.head()
    
    登陆次数 注册时间(距1970-1-1的秒数) 本次购买时间(距1970-1-1的秒数) 经验值 订单数 客户类别
    客户ID
    5245 55 1430413266 1495339734 206 1 1
    5254 69 1430413266 1499041945 428 13 1
    5286 57 1430413266 1509936376 280 1 1
    5292 184 1430413266 1510135868 643 5 1
    5474 71 1430413266 1481185064 61 2 1
    guke2['间隔天数'] = (guke2['本次购买时间(距1970-1-1的秒数)']-guke2['注册时间(距1970-1-1的秒数)'])/86400
    guke2.head()
    
    登陆次数 注册时间(距1970-1-1的秒数) 本次购买时间(距1970-1-1的秒数) 经验值 订单数 客户类别 间隔天数
    客户ID
    5245 55 1430413266 1495339734 206 1 1 751.463750
    5254 69 1430413266 1499041945 428 13 1 794.313414
    5286 57 1430413266 1509936376 280 1 1 920.406366
    5292 184 1430413266 1510135868 643 5 1 922.715301
    5474 71 1430413266 1481185064 61 2 1 587.636551
    t = guke2.groupby('客户类别')['间隔天数'].median().rename(index={0: '无价值客户',1: '正常客户'})
    t
    
    客户类别
    无价值客户     38.766852
    正常客户     372.295220
    Name: 间隔天数, dtype: float64
    
    t.plot.bar()
    plt.xticks(rotation = 0)
    
    (array([0, 1]), <a list of 2 Text xticklabel objects>)
    
    1.png

    结论:无价值客户购买和注册时间间隔显著小于正常客户

    计算无价值客户和正常客户注册当天购物的比例

    guke2.head()
    
    登陆次数 注册时间(距1970-1-1的秒数) 本次购买时间(距1970-1-1的秒数) 经验值 订单数 客户类别 间隔天数
    客户ID
    5245 55 1430413266 1495339734 206 1 1 751.463750
    5254 69 1430413266 1499041945 428 13 1 794.313414
    5286 57 1430413266 1509936376 280 1 1 920.406366
    5292 184 1430413266 1510135868 643 5 1 922.715301
    5474 71 1430413266 1481185064 61 2 1 587.636551

    方法1:使用相隔天数列计算注册后当天购物的客户

    guke2[guke2['间隔天数'] < 1].shape
    
    (316, 7)
    
    guke2[guke2['间隔天数'] < 1].index
    
    Int64Index([107809, 107819, 108768, 109259, 109410, 109654, 109658, 110122,
                110172, 110223,
                ...
                158720, 158730, 162931, 163525, 168745, 168748, 168751, 168948,
                169269, 169691],
               dtype='int64', name='客户ID', length=316)
    

    方法2:手动计算

    In [52]:

    day = (guke2['注册时间(距1970-1-1的秒数)']+ 86400) >= guke2['本次购买时间(距1970-1-1的秒数)']
    day.head()
    guke2[day].index
    

    Out[52]:

    Int64Index([107809, 107819, 108768, 109259, 109410, 109654, 109658, 110122,
                110172, 110223,
                ...
                158720, 158730, 162931, 163525, 168745, 168748, 168751, 168948,
                169269, 169691],
               dtype='int64', name='客户ID', length=316)
    
    #新增列 ,是否当天购买, 是1,不是0
    guke2['是否当天购买'] = 0
    guke2.loc[guke2[day].index,['是否当天购买']] = 1
    guke2
    
    登陆次数 注册时间(距1970-1-1的秒数) 本次购买时间(距1970-1-1的秒数) 经验值 订单数 客户类别 间隔天数 是否当天购买
    客户ID
    5245 55 1430413266 1495339734 206 1 1 751.463750 0
    5254 69 1430413266 1499041945 428 13 1 794.313414 0
    5286 57 1430413266 1509936376 280 1 1 920.406366 0
    5292 184 1430413266 1510135868 643 5 1 922.715301 0
    5474 71 1430413266 1481185064 61 2 1 587.636551 0
    5544 520 1430413266 1511065463 5033 103 1 933.474502 0
    5547 30 1430413266 1510577047 477 8 1 927.821539 0
    5552 2699 1430413266 1511245956 12673 164 1 935.563542 0
    5560 39 1430413266 1481811865 27 0 0 594.891192 0
    5580 137 1430413266 1506301413 236 2 0 878.335035 0
    5625 463 1430413266 1510935255 2087 14 1 931.967465 0
    5628 356 1430413266 1511145498 11494 166 1 934.400833 0
    5661 11675 1430413266 1511224143 34701 487 1 935.311076 0
    5690 1769 1430413266 1511175196 13398 182 1 934.744560 0
    5699 634 1430413266 1510274405 8415 121 1 924.318738 0
    5701 94 1430413266 1481201883 512 8 1 587.831215 0
    5723 29 1430413266 1488960790 163 2 0 677.633380 0
    5725 1372 1430413266 1510625605 9243 126 1 928.383553 0
    5726 1576 1430413266 1511162452 13078 193 1 934.597060 0
    5727 102 1430413266 1510223946 2574 37 1 923.734722 0
    5728 164 1430413266 1498397004 863 16 1 786.848819 0
    5734 1193 1430413266 1511169496 6852 86 1 934.678588 0
    5740 826 1430413266 1506164574 2309 19 1 876.751250 0
    5767 80 1430413266 1506216500 1681 17 1 877.352245 0
    5785 62 1430413266 1506783217 249 5 1 883.911470 0
    5789 170 1430413266 1511140849 1373 20 1 934.347025 0
    5804 730 1430413266 1511190699 2851 28 1 934.923993 0
    5816 374 1430413266 1508748129 1225 15 1 906.653507 0
    5880 206 1430413266 1511146306 3913 70 1 934.410185 0
    5912 288 1430413266 1510033445 1755 26 1 921.529850 0
    ... ... ... ... ... ... ... ... ...
    168758 18 1510124356 1510960789 105 2 0 9.680938 0
    168792 15 1510136872 1510661772 60 1 0 6.075231 0
    168831 78 1510182960 1511241351 635 10 1 12.249896 0
    168834 12 1510187047 1511239077 102 3 0 12.176273 0
    168948 6 1510233924 1510234362 48 1 0 0.005069 1
    168976 7 1510275950 1511166273 66 3 1 10.304664 0
    168981 30 1510278673 1511184888 146 2 0 10.488600 0
    168991 6 1510280818 1510456811 129 3 0 2.036956 0
    169031 10 1510287019 1510613142 27 1 1 3.774572 0
    169049 7 1510292348 1510392612 43 1 1 1.160463 0
    169084 11 1510303482 1510927533 94 1 1 7.222812 0
    169106 23 1510312431 1511054357 215 2 1 8.587106 0
    169132 18 1510324837 1511090706 75 2 0 8.864225 0
    169197 38 1510373093 1510890780 66 1 0 5.991748 0
    169217 28 1510377281 1510877581 38 1 0 5.790509 0
    169269 4 1510388952 1510388952 7 1 0 0.000000 1
    169276 6 1510391145 1511008391 50 1 0 7.144051 0
    169299 9 1510397978 1511187978 27 1 0 9.143519 0
    169318 8 1510407061 1510615622 154 2 0 2.413900 0
    169393 14 1510464820 1511147607 187 3 1 7.902627 0
    169445 13 1510487420 1510645072 84 1 1 1.824676 0
    169598 35 1510618726 1510983354 63 2 1 4.220231 0
    169613 11 1510627070 1510746988 12 1 0 1.387940 0
    169614 9 1510627121 1510889773 33 1 0 3.039954 0
    169691 6 1510657422 1510706666 73 1 0 0.569954 1
    169699 20 1510662595 1511217077 153 3 1 6.417616 0
    169815 13 1510753437 1511159975 57 1 0 4.705301 0
    169832 12 1510793074 1511142183 62 1 0 4.040613 0
    169934 14 1510841381 1510971292 68 2 1 1.503600 0
    169976 16 1510908302 1511184987 27 1 0 3.202373 0

    3000 rows × 8 columns

    计算无价值客户和正常客户注册当天购物的比例

    g = guke2.groupby('客户类别')['是否当天购买'].mean().rename(index={0: '无价值客户',1: '正常客户'})
    g*100
    
    客户类别
    无价值客户    18.334332
    正常客户      0.751315
    Name: 是否当天购买, dtype: float64
    
    (g*100).plot.bar()
    plt.xticks(rotation = 0)
    
    (array([0, 1]), <a list of 2 Text xticklabel objects>)
    
    2.png

    结论: 1.无价值客户注册当天购买的比例为18.3% 2.正常客户注册当天购买的比例为0.75%


    结论

    研究总结

    • 正常客户:

      • 年平均登陆X次
      • x%的客户在注册当天购买
      • 注册时间与本次购买时问相隔x天
      • 会员经验平均值
      • 平均订单
    • 无价值客户:

      • 年平均登陆次
      • x%的客户在注册当天购买
      • 注册时间与本次购买时间相隔x天
      • 会员经验平均值
      • 平均订单

    总体差异:
    相对于正常客户,无价值客户:

    • 登陆次数更少
    • 会员经验更少
    • 购买订单数更少

    整体看优惠商品的优惠幅度不大,主要集中在5元以下,最受欢迎的优惠商品主要是:柑橘、藕青椒龙眼等常见蔬菜水果

    意见建议

    相关建议:

    下订单"稳准快"的无价值客户,不会在正价商品上过多停留,不会花时间去关注除优惠商品以外的其他商品。为了节省优惠销费用、提高盈利,给出以下建议:

    • 差异性推广
      • 向正常客户推广优质商品
      • 向无价值客户推广高性价比商品
    • 关联推广
      • 在优惠商品处增加原价商品广告,引导客户顺便购买
    • 打包销售
      • 将优惠商品与原价商品打包组合销售




    数据分析师的价值所在

    • 给公司创造实际利润
      • 分析之前,公司月利润xx;分析并且宣讲之后,公司利润提升了xx ,没有其他变的情况下,提升的利润是数据分析带来的
      • 理论上可行,实际上很难实践。实际上,数据分析师因为不如业务人员懂业务,很少能提出对业务有改进的建议
    • 真正的实际价值
      • 印证领导的看法
      • 领导作出一个判断,数据分析师用数据验证领导的判断正确与否

    相关文章

      网友评论

        本文标题:电商客户特征识别数据分析 : 实战

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