基于一个电商交易数据分析项目的浅析

一. 背景及数据来源
背景:
电子商务交易相对于传统零售业交易来说,最大的特点就是一切都可以通过数据化来监控和改进。通过数据可以看到用户从哪里来、如何组织产品可以实现很好的转化率、你投放广告的效率如何等等问题。基于数据分析的每一点点改变,就是一点点提升你赚钱的能力,所以,电子商务网站的数据分析显得尤为重要。本项目主要对电商交易数据进行了多维度的分析,如商品ID、设备类型、销售渠道、销售地区、下单时间等。

数据来源: 数据基于kaggle上某电商真实的交易数据,出于商业机密的考虑,数据经过了脱敏处理。

二.数据概况
本项目是基于Python语言进行数据分析,代码运行开发工具为Jupyter Notebook。
首先加载数据,加载之前先用文本编辑器看下数据的格式,获得诸如首行内容,分隔符是什么等的信息,对于后面的数据加工处理清洗等做到心中有数;
基于一个电商交易数据分析项目的浅析
加载好数据之后,第一步先分别使用describe和info方法看下数据的大概分布,并把这两个方法放到两个cell中
基于一个电商交易数据分析项目的浅析
由此可见数据*包含104557条数据,10个数据集的片段:
基于一个电商交易数据分析项目的浅析
在数据分析前先加载device_type:
基于一个电商交易数据分析项目的浅析
三.数据清洗(Data cleaning)
数据清洗作为数据分析不可或缺的一部分,是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺省值等,该工作有时几乎会占据整个数据分析工作的80%时间。以下我会大概展示下对于这份数据的大概整理过程。

3.1对数据集片段order_id进行清洗
我们都知道order_id在一个系统里是唯一值,所以要先看下有没有重复值,以免对后面结论产生影响。
这里需要注意的是当我们对一列取size属性的时候,返回的是行数,如果对于dataframe使用size,返回的是行乘以列的结果,也就是总的元素数。
基于一个电商交易数据分析项目的浅析
如果有重复值,我们一般最后处理,因为其他的列可能会影响到删除哪一条重复的记录,所以我们先处理其他的列。

3.2对userId的处理
基于一个电商交易数据分析项目的浅析
对于userId我们只要从上面的describe和info看下值是不是在正常范围就行了,且对于订单数据,一个用户有可能有多个订单,重复值是合理的。

3.3 productId处理
productId最小值是0,先来看下值为0的记录数量:
基于一个电商交易数据分析项目的浅析
我们发现记录不多,只有177条,我们可以推断可能是因为商品的上架下架引起的,为了避免后面分析错误,处理完其他值的时候我们把这些删掉。

3.4 cityId处理
基于一个电商交易数据分析项目的浅析
cityId跟userId类似,其值都在正常范围,故不需要处理;

3.5 price
price没有空值,且都大于0,注意单位是分,我们把它变成元df.price = df.price / 100

3.6 payMoney
payMoney有负值,我们下单不可能是负值,所以这里对于负值的记录要删除掉,展示负值的记录。
基于一个电商交易数据分析项目的浅析
总共6条记录,我们把它删掉:
删除负值的记录
基于一个电商交易数据分析项目的浅析
再看下,已经没有了
同时我们把单位转成元,可执行这指令:
基于一个电商交易数据分析项目的浅析
3.7 channelId
channelId根据info的结果,有些null的数据,可能是端的bug等原因,在下单的时候没有传channelId字段;在数据量大的时候,删掉少量的null记录不会影响统计结果,这里我们直接删除。
数据展示如下:
基于一个电商交易数据分析项目的浅析
删除后再在查看:
基于一个电商交易数据分析项目的浅析
deviceType的取值可以看device_type.txt文件,没有问题所以不需要处理。但createTime和payTime都没有null,不过我们是要统计2016年的数据,所以把非2016年的删掉。而payTime类似,这里只按创建订单的时间算,就不处理了。

四.数据分析
数据分析前,我们一般都是先看下数据的总体情况,如总订单数,总下单用户,总销售额,有流水的商品数等,数据显示如下:
基于一个电商交易数据分析项目的浅析
值得注意的是,分析数据可以从两方面开始考虑,一个是维度,一个是指标,维度可以看做x轴,指标可以看成是y轴,同一个维度可以分析多个指标,同一个维度也可以做降维升维。

4.1按照商品的productId
我们先看下商品销量的前十和后十的排名:
基于一个电商交易数据分析项目的浅析
4.2销售额
基于一个电商交易数据分析项目的浅析
基于一个电商交易数据分析项目的浅析
看下销量和销售额最后100个的交集,发现有些商品的销量和销售额都不行,这时就要考虑这些商品是否需要优化或者下架。
基于一个电商交易数据分析项目的浅析
4.3城市的分析可以和商品维度类似
基于一个电商交易数据分析项目的浅析
4.4channelId
渠道的分析类似于productId,可以给出成交量最多的渠道,订单数最多的渠道等,渠道很多时候是需要花钱买流量的,所以还需要根据渠道的盈利情况和渠道成本进行综合比较,同时也可以渠道和商品等多个维度综合分析,看看不同的卖的最好的商品是否相同。

4.5下单时间分析
我们按小时的下单量分布进行分析,从而可以按照用户的时间惯性进行产品的推广,好的时机主动出击可以达到事半功倍的效果!
基于一个电商交易数据分析项目的浅析
由数据可以知,中午12点到下午2点下单比较多,这段时间应该是午休时间;然后是晚上20点左右,我们知道晚上20点左右几乎是所有互联网产品的一个高峰,这给我们的启示,在下单高峰要注意网站的稳定性、可用性,避免因为APP的不稳定带来用户及订单量的流失。

基于一个电商交易数据分析项目的浅析
基于一个电商交易数据分析项目的浅析
按照星期的交易数据来看,周五下单最多,其次是周四周六,由此可知周五前后是进行商品宣传及用户维护的好时机。

4.7用户下单后多久支付
基于一个电商交易数据分析项目的浅析
我们再从饼图观察,有重合的话可以改下bins;
基于一个电商交易数据分析项目的浅析
由数据可知,绝大部分用户都在十几分钟之内完成支付,说明用户购买的目的性很强,基本很少犹豫。

4.8月成交额分析
我们先把创建订单的时间设置为索引
基于一个电商交易数据分析项目的浅析
基于一个电商交易数据分析项目的浅析
由数据可知,订单成交额在四月份前呈现缓慢下降趋势,过了五月份订单量急速增长并在7月份达到最高峰(超过900万),此后经历了断崖式下跌,到11月份到达谷底(不到500万),随后触底反弹,由此可看出该商品的销售旺季集中在4月到9月份,并主要集中在暑期。

五.总结

  1. 本案例主要对电商交易数据进行了包括了商品ID、设备类型、销售渠道、销售地区、下单时间等多个维度的常见的分析。由于该数据是基于2016年一年的数据,为此我们只做环比分析无法做同比分析,且数据不是企业内部全部数据而是网上的脱密数据,故原数据并没有出现如加购转化漏斗、网站流量等电商数据分析中常见的指标。
  2. 本文展示了在对该项目数据清洗处理的整体思路及基本过程,包括删去无效值,补充缺省值等即数据清洗的“增”“删”“查”“改”,这些步骤在常见的数据分析中极其重要;
  3. 从仅有的数据来看,分析的结果基本符合消费者生活习惯,例如移动终端购物占多数、午休及晚饭后的休闲时间为购物高峰期等。