从实战案例中提升数据分析能力,发现问题,提
我们在学习数据分析的过程中,案例实战是最重要的一个环节,无论我们怎么听课,怎么看书,不自己反复操作试炼,我们学到的知识只会随着“周公”在梦中离去。因此,今天我们来一起用案例数据来试着把学到的知识贯穿在一起,训练数据分析的基本功。
一、数据背景
通过阿里巴巴的天池平台,我手上得到两份关于淘宝天猫用户购买婴儿产品的数据表,表1为购买商品,表2为婴儿信息。接下来我将结合现有的数据信息,对这份电商数据进行分析。
二、理解数据
拿到表格后,首先我们来对数据字段进行基础的理解。
为了方便后面提出分析问题,我通过MAX和MIN函数找出这份数据的统计时间,日期信息再D列,因此结束时间=MAX(G:G),开始时间=MIN(G:G),这份表的内容是关于2012年7月2日至2015年2月5日的数据。
三、提出问题
通过这份数据,我们可以发现店铺商品的销售情况,从而层层剖析,在经营上哪里出了问题,出问题的原因是什么?而后用以为后续的经营提出建议。
通过逻辑树和多维度拆解分析方法,我们将将要提出发现的问题分为产品维度、用户维度两个维度。
1.产品维度
(1)商品每月成交量的情况
(2)商品每年每月的变化情况
(3)每笔订单购买量的情况
(4)每类产品的销售情况
2.用户维度
(1)男女性别对产品的需求情况
(2)不同年龄对产品的需求情况
在后面的分析中,除了解决以上问题得出结论,更会在分析过程中发现更多的问题,例如有异常值的情况,需要进一步分析找到结论。
四、数据清洗
1.选择子集:
由于每类商品都有不同的参数且对于我们此次分析没有太多关联性,为方便数据分析,我将商品属性(Property)一列进行隐藏。
而商品的购买数据分析我们可以通过商品类目来分类,因此商品编号也可以隐藏掉。
2.列名重命名:
为方便我的阅读习惯,我将字段列名全名改为中文。
3.删除重复值:
在购买信息表中,我们可以通过用户ID、商品编号、商品属性、购买数量、购买日期来查找重复项,发现并未存在重复值。
在婴儿信息表中,我们通过用户ID识别,也并未发现重复值。
4.缺失值处理:
通过剩余列的数据信息量计数得出,购买信息表均为29972行信息(含列名),婴儿信息表均为954行信息(含列名),因此无缺失值。
5.一致化处理:
为方便识别信息,我将购买日期与生日日期通过EXCEL中的分列功能统一转换为2020/04/04这样的日期格式。
并在婴儿信息表里性别一列的信息统一修改,把“0”改为“女性”,把“1”改为“男性”,把“2”改为“未知”。
6.数据排序:
我们将购买数据按照时间顺序进行排序。
7.异常值处理:
由于此次的分析,我们需要根据数据的情况发现经营问题,因此在没有空值、重复值、错误信息数据的情况下,我们先暂时不对数据本身的异常进行处理。
而在婴儿信息方面,我们可以通过计算婴儿在购买日期时的岁数来查看婴儿信息是否有异常。
首先我们通过VLOOKUP(查的值,查的表,第几列,精确/近似查找)多表关联查询,匹配用户ID的购买日期。然后我们用DTAEDIF(出生日期,购买日期,计算时间格式)函数对婴儿年龄进行计算。(计算时间格式大家可以网上查找,我就不列举了)
我的函数格式:=DATEDIF(C2,B2,\"Y\")&\"年\"&DATEDIF(C2,B2,\"YM\")&\"月\"&DATEDIF(C2,B2,\"MD\")&\"天\"
输出后发现,有的岁数显示“#NUM!”错误,对照出生日期和购买日期,发现是因为这类错误的商品都是因为婴儿还没出生就进行购买的。
由于这类错误数据可假设为是用户不想透露婴儿信息而填写的,但是并不影响性别的分析。因此我们可以把表格复制一份,备注为婴儿性别分析表,并把未知性别的异常数据进行删除。
而后我们在另一个表格备注为年龄分析表,将“#NUM!”错误的异常数据进行删除。
五、数据分析
1.产品维度