Kaggle电商零售数据分析

一、数据来源及说明

数据来源:  https://www.kaggle.com/carrie1/ecommerce-data

数据解释:该数据集是由 Machine Learning Repository 在基于一个英国电商公司从2010年月12月到2011年12月的真实的交易数据集进行改造的。 该电商主要销售的商品是各类礼品, 主要客户是各类经销商。数据集大小:541909行x8列数据集的特征:

InvoiceNo/订单编号:每笔交易分配唯一的6位数,需注意退货订单的代码以字母'C'开头

StockCode/商品编号:每个不同的产品分配唯一的5位整数。

Description/产品描述:对每件产品的简略描述。

Quantity/数量:每笔交易的每件产品的数量。

InvoiceDate/订单日期:每笔交易发生的日期和时间。

UnitPrice/单价:单位产品价格。

CustomerID/顾客账号ID:每个客户分配唯一的5位整数。

Country/国家:每个客户所在国家/地区的名称。

二、分析维度

Kaggle电商零售数据分析_第1张图片
Kaggle电商零售数据分析_第2张图片
Kaggle电商零售数据分析_第3张图片

三、数据清洗

1、选择子集

        我们获取到的数据中,可能数据量非常庞大,并不是每一列都有价值都需要分析,这时候就需要从整个数据中选取合适的子集进行分析,这样能从数据中获取最大价值。本数据中产品描述这一列没有分析价值,为了提高数据处理的效率,可以将其进行删除。

2、列名重命名

        在数据分析过程中,有些列名和数据容易混淆或产生歧义,不利于数据分析,这时候需要把列名换成容易理解的名称。本数据原来的列名是英文,需要将其改成中文。

3、缺失值处理

      在本数据中,客户编号这一列数据中存在大量缺失值,其它列都有541910条数据,可这一列只有406830条数据,缺失了135080条数据。为了更好地进行后面数据的分析,这里我们将缺失客户编号的数据全部进行删除。

4、数据类型转换

      订单日期和时间这列数据的数据类型并不是时间型的数据,而且格式也不对。我们需要修改格式并增加购买时间这一列数据。首先对这一列数据进行分列(需要复制数据,再进行分列,否则旁边的数据会被覆盖),然后利用Excel工具进行月份、日期、年份的提取,并用公式进行文本合并。再用substitute将“/”替换成”-”,并*1,就可以替换成时间格式了

Kaggle电商零售数据分析_第4张图片

5、数据排序

数据是按照订单编号进行排序的,所以不需要再进行排序

6、异常数据处理

用excel自带的数据数据分析工具可以对数据进行描述统计。发现产品数量最大值和最小值存在巨大差异(负数代表退货),后面分析会进行处理。单价出现了0,通过对货物描述的查看, 发现大部分的单价为0的记录是对有缺陷货物的处理或者是礼品,此类数据对我们的分析没有用,为了不影响后续的分析,我们需要进行删除。

Kaggle电商零售数据分析_第5张图片

四、构建模型及数据可视化

1、用户消费趋势分析

1.1、按月进行分析

      用户由于存在退款的数据会影响数据的分析,所以我们需要将其删除。为了对退款率以及退款金额的分析,我们需要保存一份原始数据。

Kaggle电商零售数据分析_第6张图片

        观察图表发现,消费人群主要集中在9月到11月,11月达到峰值,其它几个月订单量、产品购买量、购买金额基本处于平稳,原因在于11月有感恩节,10月有万圣节。由于礼品与节日强相关,尤其是圣诞节、感恩节,可以针对不同节日的特点推广不同的商品。而平台方面需要物流、采购、网站流量维护等各方面提前做好准备。

Kaggle电商零售数据分析_第7张图片

        9月到11月的消费人数在1200-1800之间,其它月份消费人数在800左右,说明用户的粘性比较高。新用户的购买行为总体来说较少,后续的消费行为基本来自老用户的回购。

1.2、按季度进行分析

Kaggle电商零售数据分析_第8张图片

由图可知,用户主要在第三、第四季度进行消费。

1.3、按周进行分析

Kaggle电商零售数据分析_第9张图片

        由图可知,用户的消费时间集中在周一至周五,特别是周四。而周日相对较少,周六可能是店铺的休息日,所以无购买量。

1.4、按日进行分析


Kaggle电商零售数据分析_第10张图片

      因为是销售礼品的店铺,并不是电商,所以用户的集中购买时间在中午,而早上和晚上的购买量非常少。

2、用户个体消费分析

2.1.1、用户消费金额消费次数相关性分析

        由于存在极值,会影响我们的分析以及图表展示,所以我们通过筛选进行制图,我们选择购买金额<4000的数据进行制图(横轴为消费金额,纵轴为消费次数)

Kaggle电商零售数据分析_第11张图片

用户消费金额消费次数都集中在0-1000的区间。

2.1.2、用户消费金额的分布

        由于一些极值的影响使得数据分布收到了干扰,并且大部分购买金额较小。所以我们选择<100的数据作图。

Kaggle电商零售数据分析_第12张图片

数据都集中在0-20这个区间,说明购买客户总体的购买金额比较小,而且长尾效应明显。

2.1.3、用户产品购买量的分布

Kaggle电商零售数据分析_第13张图片

数据集中在1-5这个区间,说明用户总体的购买量很小,而且长尾效应明显。

2.2、热销产品(前10)

Kaggle电商零售数据分析_第14张图片

      头部商品优势很突出,销量前十名占比达到了8%,建议与这些商品的供应商进行长期品牌化的合作,确保货源充足。

2.3、用户价格偏好

将产品价格设置为单独组。然后用vlookup函数进行近似匹配即可。

Kaggle电商零售数据分析_第15张图片

        大部分的礼品价格位于0-3这个价位段,由此,我们可以知道, 该市场的目标客户为低端客户,这可能是平台售卖商品类型与主要客户是批发商有关。

2.4、购买主力及客户类型(前30)

Kaggle电商零售数据分析_第16张图片

客户类型:

大型批发商:消费金额特别巨大的一般是大型批发商,平台可以针对这种客户开发To B的服务。

专业买手或者小型商店:虽然在购买金额远远无法与大型批发商相比,但其在为商品宣传方面的能力是不容小觑的,平台可以与一些受众广泛的买手达成宣传方面的合作。

消费能力较强的用户:考虑到礼品不是日常生活用品,一年消费400美金以上应该是在平均消费者能力以上。平台可以考虑给这类消费能力较强的消费者一些优惠或者提供更细致的服务。

普通用户:正常消费

2.5、客单价(总消费金额/总客户数)

由于国家数量太多,全部求出来很费时间,所以我们选择计算总消费金额前10国家的客单价。


Kaggle电商零售数据分析_第17张图片

        由于英国的消费总量占全部销售额的82%,在同一坐标下,其他国家的数据指标不好做比较,因此我们去掉英国之后,再进行做图分析。

Kaggle电商零售数据分析_第18张图片

爱尔兰在消费总量排名靠前的国家里客单价是最高的。

3、消费行为分析

3.1、新老客户消费比

        用数据透视表求出用户购买产品日期的最大值和最小值,若该日期的最大值等于其最小值,说明这个用户只消费了一次。

Kaggle电商零售数据分析_第19张图片

有35.68%的用户仅消费过一次,老用户所占比例为64.32%。

3.2、RFM客户价值分类

        RFM模型,通过对用户在R(Recency,最近一次消费)F(Frequency,消费频率)M(Monetary,消费金额)三方面的表现进行分类,然后对分类分组进行定性描述的,分层模型如下:先对数据做预处理,让最大日期减去每个日期获得间隔天数,当数值越小时,说明日期越近。(这里需要用到Excel工具的时间差计算:=DATEDIF(B2, C2, "d"))。将用户在R、F、M三个维度上按照高于平均值和低于平均值进行划分(划分标准可根据不同业务设计也不同),高于平均值则赋值为1,低于平均值则赋值为0,这里需要用到IF判断函数,然后将判断的结果进行合并,并用Vlookup函数进行匹配,最后用数据透视表统计客户数。

Kaggle电商零售数据分析_第20张图片
Kaggle电商零售数据分析_第21张图片

最后根据RFM分层模型给所有用户分层:

Kaggle电商零售数据分析_第22张图片

只有四类客户,可能由于存在过多极值导致的,也可能是参考值的原因。

3.3、用户生命周期分析(按第一次&最后一次消费)

        使用数据透视表将客户首次购买时间、客户末次购买时间提取出来,然后计算客户最近一次下单时间R(R=当前时间(最大值+1)-客户末次购买时间),然后计算消费时间跨度L(L=客户末次购买时间-客户首次购买时间),也就是生命周期。然后创建客户分类,这里利用帕累托模型计算参考值(R参考值:153,L参考值82),高于L参考值、低于R参考值赋值为1,否则赋值为0,这里需要用到IF判断函数,然后将判断的结果进行合并,并用Vlookup函数进行匹配,最后用数据透视表统计客户数(11代表忠诚客户,01代表新客户,10代表一次性客户,00代表流失客户)。

Kaggle电商零售数据分析_第23张图片

        用户的平均生命周期为131天,但中位数为93天,说明大部分用户购买了一次之后就很少再次消费。客户的生命周期集中分布在0-28天这个区间,说明大部分客户的生命周期比较短。

Kaggle电商零售数据分析_第24张图片

        有48%的客户为忠诚客户,说明用户黏性较好,但是还存在20%的流失客户,需要加大力度进行挽回。

3.4 用户留存分析(基于Tableau)

这里我们用tablea进行数据可视化创建计算字段:首次购买时间、时间间隔、创建参数:时间间隔单位。

Kaggle电商零售数据分析_第25张图片

用户每个月的留存率相对较低,在20%左右。

3.5、 复购率计算

        以月为单位,对每月用户消费情况进行预处理:若消费次数大于1,则说明用户在本月进行了多次消费,对多次消费的情况取值为1;若消费次数等于1,说明用户在本月只进行了1次消费,每月复购行为,取值为0;若消费次数等于0,则说明用户在本月未消费。

Kaggle电商零售数据分析_第26张图片

复购率基本上稳定在96.5%左右,大部分客户购买次数比较多。

3.6、 回购率计算

Kaggle电商零售数据分析_第27张图片

      月末不存在回购行为,因此其回购率为0。前四个月由于有大量新用户涌入,大部分人只消费过一次,所以回购率偏低;第四个月回购率回升,最后稳定在8%左右,即当月消费人数中有8%左右的用户会在下一个月再次消费。

3.7、退货率计算

退货率计算方法:通过筛选的方式将有退货的数据提取出来,然后分别进行数据透视,然后通过vlookup进行匹配,最后计算退货率

Kaggle电商零售数据分析_第28张图片

        退货率排名前五的国家:美国,沙特阿拉伯,西班牙,爱尔兰,德国。其中,美国年退货率快高达6%,遥遥领先于其他国家。

五、结论

1、英国销售额是全部的82%,占据本土优势,销量靠前的大部分都是欧洲国家,由此可见该平台的主要市场还是在欧洲,可以着力开发除了欧洲市场之外的消费水平较高的市场。

2、绝大多数销量靠前的产品单价都是低价的,这与平台主要售卖商品类型和客户有较大关系。针对这些批发商用户,制定合理价格机制,控制商品成本,优化物流运输以提供物美价廉的商品。提高销量。同时,可以增加1-3英镑产品的多样性,有利于增加客户的消费额度, 同时也能吸引更加多的目标客户。

3、销量高峰期是8、9、10、11月,需要平台物流、采购、网站流量维护等方面提前做好准备。

4、退货率过高,原因主要有物流时间过长,商品实际与描述不符合,产品本身有质量问题等。建议:要及时处理跟进,优化商品采购,物流运输,店铺管理等,降低退货率,跟买家营造良好的购物环境,增进客户忠诚度。

你可能感兴趣的:(Kaggle电商零售数据分析)