数据分析步骤:
一、明确问题
1. 「 商品哪个一级分类最畅销?哪个二级分类最畅销?」
2.「哪个单品销量高?」
3.「哪个年/季度/月销量比较高?」
4.「哪些顾客购买量比较大(优质顾客)?」
5.「哪个年龄段是主要消费群体?」
6.「消费中男女顾客占比怎样?」
二、理解数据
1. 表格1购买商品
用户ID:user_id
商品编号(item_id):auction_id
商品二级分类:cat_id,商品种类ID,表示商品属于哪个类别
商品一级分类:cat1,商品种类ID,表示商品属于哪个类别
(商品的一级分类和二级分类,比如上衣和衣服,汽车和玩具汽车这样的关系。虽然都是数字串id,但是根据这层关系,就可以用数据透视表来展示逻辑关系。比如商品大类下面,哪个分类更畅销)
商品属性:property(属性值可以是大小,可以是尺码、毫升等数字,还可以指品牌等,一切可以描述商品特征的都可以称为属性值)
购买数量:buy_mount
购买时间:day(可以通过excel将时间戳显示为日期格式)
2. 表格2婴儿信息
用户ID:user_id
出生日期:birthday
性别:gender(0女性;1男性;2未知的性别)
三、数据清洗
1. 选择子集
表1中商品属性在表格中用处不大,这一栏可以不用作为分析对象,另外要注意,数据清洗时一般尽量不删除原有数据,所以我们选择隐藏该列。
操作:方法1:选择整列-右击-【隐藏】
2. 列名重命名
表格2中性别一列阅读不便,我们选择把数字“0,1,2”分别更改为对应的“女,男,未知”。
操作:重新插入一列,在单元格应用IF函数替换,=IF(C2=0,"女",IF(C2=1,"男","未知"))
选定单元格-双击鼠标右下角十字架,应用到整列-隐藏左侧性别一列
3. 删除重复值
根据表格内容理解分析,只有表格2婴儿信息中的用户ID是唯一的,可以采取删去重复值功能。结果显示未发现重复值。
操作:【数据】-【删除重复项】-【扩展选定区域】-【删除重复项】-选择用户ID列
4. 缺失值处理
表格1购买商品中,除了已经隐藏的商品属性列为29828项外,所有列数量都为29972项。由于商品属性列不准备使用,可以不补充缺失值。
表格2婴儿信息中,每列都为954项,没有缺失值。
搜索缺失值操作:【开始】-【查找和选择】-【定位条件】-选择空值
5. 一致化处理
表格1购买商品中购买时间列和表格2婴儿信息出生日期列,都为数字类型,为了后续透视表分析,需要更改为日期类型。
操作:选定整列-【数据】- 【分列】-【分隔符号】-【连续分割符号视为单个处理】-选择列数据格式为YMD|yyyy/m/d
6. 数据排序
通过给购买数量列排序,可以看到对应哪单的购买数量比较高。
操作:选定整列-【开始】-【排序和筛选】-选择降序-【扩展选定区域】-排序
7. 异常值处理
使用筛选功能,观察表格1和表格2中每列的数据有哪些异常。表格1中未发现问题,表格2中出生日期一列中,用户范围都在2002-2015年内,只有1个数值为1984/6/16而且只有这一例,考虑为异常数据。另外在表格1购买商品中查询该用户ID89520261,确实存在购买1次购买记录,所以不适合直接删除,考虑将其出生日期更改为2002-2015范围的大概中间值2008/6/16,避免影响整体数据分析。其在954个用户ID个信息中,更改这一个异常值对数据分析不会造成影响。
四、数据分析 或 构建模型
解答1「 商品哪个一级分类最畅销?哪个二级分类最畅销?」
结果:制作数据透视表,使用排序功能,可以看出商品二级分类中50018831最畅销,商品一级分类中28最畅销。
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【商品二级分类】到行,【商品一级分类】到列,【购买数量】到值-在总计行和列中分别设置排序【降序】
解答2「哪个单品销量高?」
结果:制作数据透视表,使用排序功能,可以看出商品编号39769942518销量最高,总销量为10000。(补充内容:销量最高这个商品与排名接下来的几个对比看,差了不止一个数量级,返回表格找原因,发现这单是因为一个客户一次性购买了10000,所以该产品在备货上有不确定性,该产品需要多观察一段时间;另外,排名第二的20409520643和第三的36505037679销量也较高)
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【商品编号】到行,【购买数量】到值-选定汇总列任一单元格设置排序【降序】
解答3「哪个年/季度/月销量比较高?」
结果:制作数据透视表,可以看出在2012年-2015年范围内,2014年总销量最高为42241,2014年>2013年>2012年>2015年。所有季度中,2014年第四季度销量最高为18872。所有月份中,2014年第四季度11月销量最高为13044。整体来看 ,每年第三季度第四季度业绩相对较高。(补充内容:可以进一步做月份和日期的销量探索)
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【购买日期】到行,【购买数量】到值-选定汇总列任一单元格设置排序【降序】
解答4「哪些顾客购买量比较大(优质顾客)?」
结果:由于表格中没有给出产品对应的单价,无法计算顾客的总销售额,我们取而求其次暂且以用户的较高购买数量的,评判为优质顾客。制作透视表,使用排序功能,可以看出2288344467购买的商品数量最高。
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【用户ID】到行,【购买数量】到值-选定汇总列任一单元格设置排序【降序】
解答5「哪个年龄段是主要消费群体?」
结果:除了把两个表格内容对应合到一个表格进行年龄分析外,我们还可以使用多表关联查询的vlookup函数,快速的把对个表格关联起来。
vlookup(找什么,在哪儿找,第几列,准确查找【0】还是模糊查找【1】)
原本考虑到客户会出现复购现象,还有表格1每列项数(29972项)远远大于表格2列数(954项),考虑把表格2婴儿信息,对应到表格1的用户ID中来分析,结果应用vlookup后匹配的行数只有957项,剩余29016项为空值,意味着大量的空值无法带入分析,该表考虑复购率没有意义。更改方向,以表格2婴儿信息用户ID为标准,应用vlookup函数带入表1商品购买的相关值。
消费年龄1=YEAR(G2-D2); 消费年龄2=(G2-D2)/365
对比发现两种方式结果不同,相对于年底出生次年初购买的消费者,消费年龄1计算出的结果与实际年龄相差较大,所以我们选择消费年龄2的公式计算。具体如下图:
另外,vlookup函数还可以用来对数据进行分组。由于我们想要统计各年龄段用户使用婴儿用品的情况,所以我们需要对年龄进行分组。具体如下图:
用透视表进行各年龄组的分析:
结果1:透视表中可以看出,婴儿产品的主要消费年龄主要为未出生-3岁之间,其中最多的是0-1岁宝宝。
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【年龄分组】到行,【年龄分组】到值-在汇总列中设置排序【降序】
结果2:制作数据透视表,使用排序功能,可以看出婴儿产品的主要销量也是集中在未出生-3岁之间,同年龄分组中顾客数量排序相同。并且在透视表中,也能看出各个年龄组中商品一级分类产品销量排行,同时不同年龄段的分类倾向略有不同。(补充内容:除了分析各分类销量外,还可以把商品分类替换成各单品,使用排序功能,分析出各年龄段每个单品的销量排序,找到各年龄段的婴儿畅销款,做到精准营销)
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【年龄分组】到行,【商品一级分类】到列,【购买数量】到值-在行和列的总计中选中任一单元格设置排序【降序】
另外可以用统计描述来看用户年龄分布,如下图。
操作:选择消费年龄2整列-【数据】-【数据分析】-【描述性统计】
解答6「消费中男女顾客占比怎样?」
结果:制作数据透视表,可以看出消费中男女顾客占比438:489整体差别不大。
操作:【插入】-【数据透视表】-【选择一个表或区域】【新建工作表】-拖动字段名称【性别2】到行,【性别2】到值。
五、数据可视化-这块下次给大家分享