数据分析(一)---跨境电商数据分析
时间:2022-05-07 15:51:01 | 来源:网络营销
时间:2022-05-07 15:51:01 来源:网络营销
电商销售数据分析
本文对一家全球超市4年(2011年-2014年)的零售数据进行数据分析,数据分析的目标如下:
- 分析每年销售额增长率
- 各个地区分店的销售额
- 销售淡旺季
- 新老客户数
- 利用RFM模型标记用户价值
数据来源于数据科学竞赛平台Kaggle-
https://www.kaggle.com/jr2ngb/superstore-data,总共51290条数据,24个字段。各个字段属性名称如表1:
表1 各字段属性含义
1.了解数据基本情况
使用Pandas导入数据,查看数据集的信息,快速理解数据。
查看数据量: (51290, 24)
表1 各字段数据类型
查看缺失值,如下图1:
图1 数据非空值统计 24个字段中7个字段是数字类型,在计算的时候是不需要转换类型,其他字段的数据都是object类型,在获取数据的时候注意数据的类型,日期字段的数据,转换成时间格式,可以方便获取数据。
数据缺失统计中只有Postal Code(邮编)字段有缺失值,该字段对我们分析并不会产生影响,不需要处理。
2.数据清洗
数据清洗,实际上就是对缺失值、异常值的处理删除或填充处理,以及为了方便数据的获取和分析,对列名的重命名、列数据的类型转换或者是排序等操作。
2.1查看是否含有缺失值
只有Postal Code字段含有缺失值。结果返回的是所有字段不为空的数据个数,如果我们只是单纯的想了解每个字段中数据是否含有缺失值,可以使用下面的方法:
使用isna().any() 方法会返回一个仅含True和False这两种值的Series,这个方法主要是用来判断所有列中是否含有空值。
2.2查看是否含有异常值
查数据中是否含有异常值,pandas的describe可以用来统计数据集的集中趋势,分散和行列的分布情况,因此在查看异常值的时候会经常用到。
结果为:
describe()函数会对数值型数据,输出结果指标包括count,mean,std,min,max以及上、下四分位和中位数。通过观察该结果,发现数据集并无异常值存在。
2.3数据整理
由于很多分析的维度都是建立在时间上的,数据中的时间是字符串类型的,所以需要处理时间的类型,将其修改成datetime类型。
上面我们将Order Date(订单日期)列的数据类型成功修改成了datetime类型,通过datetime可以快速的增加数据的维度,例如:年、月、季度等。
结果为:
根据不同的时间维度去获取数据时,会非常更加的便捷。
3.目标分析
3.1分析每年销售额的增长率
上面我们计算出来的是小数,如果想用百分数的形式结果,我们可以用下面的方式将小数改成百分数:
结果为:
18.50% 27.20% 26.25%
接下来,我们就可以用图表呈现我们每一年的销售额和对应的增长率。
用表格展示销售额和对应增长率:
销售额及对应增长率表:
为了能更加直观的展示数据,将数据进行图像展示:
上面的代码中我们将销售额和增长率绘制在一个图中,使用twinx()方法共享了X轴,并且建立了两个Y轴,左侧的Y轴代表的是销售额,右侧的Y轴代表是对应的销售额增长率。具体绘制结果如下图:
结合上面的图表可以发现,2011年-2014年该超市的销售额在稳步上升,说明企业市场占有能力在不断提高,增长率2012年-2014年在增长后趋于平稳,说明企业经营在逐步稳定。
3.2 各个地区分店的销售额
了解了该超市了的整体销售额情况之后,我们再对不同地区的分店的销售额占比情况进行分析,以便对不同地区分配下一年度的销售额指标,和对不同地区分店采取不同的营销策略。
首先,我们先按照Market字段进行分组数据,整体看一下不同地区分店2011年-2014年的总销售额占比。
上面的代码中绘制了不同的地区分店2011年-2014年的总销售额的占比图,如下:
从占比图中可以看出APAC地区销售额占比最大为28.4%,而Canada地区的销售额占比最少,并且只有0.5%,说明市场几乎没有打开,可以根据公司的总体战略部署进行取舍,从而根据销售额占比分配下一年的销售额指标。
接下来,为了能更清晰的了解各地区店铺的经营状况,我们可以再对各地区每一年的销售额进行分析。
结果为:
从上面的图形中可以看出,各个地区的2011年-2014年销售总额均是增长的趋势,在APAC地区和EU地区的增长速度比较快速,可以看出市场占有能力也在不短增加,企业市场前景比较好,下一年可以适当加大运营成本,其他地区可以根据自身地区消费特点,吸取上面两个地区的运营模式。
最后,我们再来看一下不同类型产品在不同地区的销售额占比,从而根据该占比适当的改善经营策略。
结果为:
所有产品我们按照三个大的类型进行了区分,分别是Furniture(家具)、Technology(电子产品)、Office Supplies(办公用品)。通过上图我们大致可以看出,在各大地区销售额都比较高是电子产品,可以根据企业的整体战略部署适当的加大对各地区该品类的投入,以便扩大优势。
3.3 销售淡旺季分析
了解了整体销售额情况和不同类型产品在不同地区的销售情况之后,我们再对每年每月的销售额进行分析,根据不同月份的销售情况,找出重点销售月份,从而制定制定经营策略与业绩月度及季度指标拆分。将数据根据年和月进行分组,并计算出每年每月的销售总额,再将其制作成年、月、销售额的数据透视表,通过折线图进行展示。
结果为:
通过图表我们基本可以看出,该超市2011年-2014年每一年的销售额同比上一年都是上升趋势,所以很容易发现该超市的旺季是下半年,另外,我们在上半年销售额中发现6月份的销售额也是比较高的,所以可以在6月份开始加大一些运营成本,进而更大一步提高销售额,但是需要注意是下半年的7月份和10月份销售额会有明显的下降,可以针对这些下降的月份多举行一些营销活动。
3.4 新老客户数
通过分析老用户,来确定企业的基础是否稳固,是否存在被淘汰的危机;通过分析新用户,来衡量企业的发展是否顺利,是否有更大的扩展空间。
通过对新老客户分布,对超市客户维系健康状态进行了解。本文老客户定义如下,只要在该超市消费过客户就定义为老客户,反之为新客户。由于2011年的数据为起始数据,根据定义大部分客户皆为新用户,其数据没有分析价值,在分析的时候可以考虑。
下面,我们先来了解一下代码:
- 第一步,我们根据Customer ID列数据进行重复值的删除,保证数据集中所有的客户ID都是唯一的。
- 第二步,我们根据Order-year和Order-month两个字段进行分组,并使用size()函数对每个分组进行计数。
- 第三步,为了方便使用透视表对数据进行整理,需要先将索引转化成数据列。
- 第四步,使用数据透视表功能,将年份作为数据的列索引,月份作为数据的行索引。
最终的结果为:
根据图表可以看出,从2011年开始到2014年总体看,每一年的新增客户数是逐年减少的趋势,可以看出该网站对保持老用户是有效的,网站的运营状况较为稳定。但是,新客户获取率比较低,可以不定期的进行主动推广营销,从而增加新客户数。
3.5 用户价值度RFM模型分析
用户精细化运营分类,通过各类运营手段提高不同类型的用户在产品中的活跃度、留存率和付费率。如何将用户从一个整体拆分成特征明显的群体决定了运营的成败。在用户价值领域,最具有影响力并得到实证验证的理论与模型有:用户终生价值理论、用户价值金字塔模型,策论评估矩阵分析法和RFM客户价值分析模型等。本文使用RFM用户分群模型模型对用户进行分类。RFM定义如下:
- R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。
- F(Frequency):客户在最近一段时间内交易的次数。F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。
- M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。
RFM模型是衡量用户价值和用户创利能力的经典工具,依托于用户最近一次购买时间、消费频次以及消费金额。在应用RFM模型时,要有用户最基础的交易数据,至少包含用户ID,交易金额,交易时间三个字段。根据R,F,M这三个维度,我们可以将客户分为以下8种类型:
在这个表中,我们将每个维度都分为高低两种情况,进而将客户群体划分为8种类型,而这8种类型又可以划分成A、B、C三个等级。接下来对R、F和M进行计算,步骤如下:
第一步,我们分析的数据是该超市2014年全年的数据,并假设统计的时间为2014年12月31日。现在我们利用下面代码获取数据2014年全年的数据:
由于RFM模型分别对应着Customer ID、Order Date、Sales这三个字段,所以我们只获取这三个字段的数据。
第二步,我们对2014年数据按照Customer ID进行分组,然后再对每个分组的数据按照Order Date进行排序并获取出日期最大的那个数据。
结果为:
第三步,经过分组之后同样可以快速算出RFM模型中的F(购买次数)和M(销售额总数)。
结果为:
第四步,目前已经获取到了2014年每个客户最后一次的时间了,现在我们需要根据假定同时间计算出最近一次交易时间的间隔。
结果为:
第五步,经过上面四步我们分别计算出来RFM各个维度的数值,现在可以根据经验以及业务场景设定分值的给予区间,本项目中我们给定F的区间为[0,5,10,15,20,50],
然后我们采用5分制的评分规则与上面分值区间一一对应,例如:1-5对应的为1、5-10对应的为2,依次类推。
结果为:
第六步,根据第五步的思路,我们首先确定M维度的区间为[0,500,1000,5000,10000,30000],然后我们采用5分制的评分规则与上面分值区间一一对应。同理,确定R维度的区间为[-1,32,93,186,277,365],但是R维度所对应的评分顺序应该与F和M的相反。
结果为:
第七步,上面我们给每条数据的RFM都设置了对应的评分,现在需要根据每一个维度
计算出对应的平均分,然后用对应的分数与平均值进行对比,大于平均分的值的标记成1,同理小于平均分的值的标记成0。
结果为:
第八步,现在我们基本完成对每个数据的RFM高低值的设置,记下来就可以根据RFM的高低值对每个用进行类型标记了。
该段代码中为了方便观察数据,我们首先获取部分列数据;然后,我们根据高低值1,0的8种组合,逐一的与文字对应成字典中键值对,最后在数据的会面添加的一列data_rfm数据。最终的结果如下:
到此为止,我们已经给所有的用户都设置好RFM的标签,现在让我们来看一下2014年不同类型人群占比。
结果为:
4. 案例结论
4.1 结论依据
根据RMF模型分类出8种客户,根据他们对平台的贡献度排序如下:一般挽留客户→一般发展客户→一般保持客户→一般价值客户→重要挽留客户→重要发展客户→重要保持客户→重要价值客户
我们对不同客户做出什么样的营销策略,目的都是加大客户不断地从一般挽留客户向重要价值客户转化,减小重要价值客户向一般挽留客户转化。从而实现平台用户的积累。
那么处于不同阶段的客户,我们应该采取什么样的策略呢?我们应该根据他们的阶段特性来制定不同的策略。下面我们分析一下每组客户的特性:
一般挽留客户:这类客户,RFM三个值都低,说明已经是我们流失的客户。针对这批客户召回的成本一般会比较高,因为他们长时间没在平台有任何行为,有可能app都已经写在。所以一般针对这种客户只会在特定的大型活动才采取全面的短信、广告、推送召回。比如在双十一、黑色星期五等大型购物狂欢节。或者说公司到了一个新阶段大量资金投入用户新增,比如我们看到过的“瓜分5个亿”、“无上限砍价”等活动。
一般发展客户:这类客户只是有近期购买行为但是购买商品利润低而且也不活跃。一般分两种类型,一种是刚注册的客户,另一种就是由于体验感一般接近流失边缘的客户。针对刚注册的用户一般会采取“新人大礼包”等优惠,一般“新人大礼包”会尽量多的覆盖平台上的不同商品品类,提高新客户了解平台产品的动力。而针对接近流失的客户应该从客服、物流等多角度追溯客户过去的不满原因,对平台进一步完善。
一般保持客户:这类客户只是频繁浏览,但是很久没有成交了。针对这类用户,一般会结合他最近浏览的商品进行相关优惠推送。促进他的成交行为。
一般价值客户:这类客户属于已经在平台上养成了自己的购买习惯,已经处于多次频繁购买的阶段,但是购买的商品价格都比较低,产生的利润也就低。对这类客户我们应该进一步分析他们属于购买力低还是大额商品有其他习惯成交的平台。针对前者一般不需要采取特别的措施,而针对后者我们应该时刻注意他的浏览商品动向,如果浏览远超过平时客单价的商品应该及时给予优惠政策。
重要挽留客户:这类消费金额较高,消费频次偏低,而且已经很久没有消费行为了。这种客户曾经算是平台的忠实用户而且能为平台提供比较大的利润但是很有可能马上就要流失了,所以应该进行重点挽留,如给他们更多关怀,应当主动客服沟通,建立平台形象,针对用户有什么不满意的地方应当及时解决,并给予优惠补偿。
重要发展客户:这类用户最近有消费,且整体消费金额高,但是购买不频繁。这种客户是有购买力的客户,应当重点维护,提升用户在消费中的体验感,比如加送“运费险”等等附加增值服务。
重要保持客户:最近一次消费时间较远,消费金额和消费频次比较高。这种客户一般是有网购习惯,但是最近却很久没有来消费。说明很可能已经流向别的平台。所以非常有潜力可挖,必须重点发展。要关注竞品的活动,做对比出合理方案。
重要价值客户:这类客户不用说了,RFM三个值都很高。是平台重点维护的客户,保证服务质量,保持客户在平台每次购物体验。
4.2 本次案例结论
通过对不同客户的行为分析,结合我们案例的结果。从统计结果中看,该平台重要价值客户占总体17.54%,说明该公司已经沉淀了一批优良客户,而且这个比例还算是比较乐观。但有28.86%的重要保持客户,这批客户是曾高频购买且消费金额大的客户,但是这批客户近期没有成交行为说明已经有流失倾向,这批客户需要着重关注。另外一般发展用户也占了27.33%的比例,说明在用户新增的阶段做的还不错,但是其他类型的比例都偏少。这组数据说明了这个平台整体已经处于客户流失的阶段,用户整体活跃行为已经降低,需要维护现有忠诚的客户的同时,也要花精力在新用户往重要价值客户的转化上。