作者介绍
@知乎:鲸歌
电商行业数据分析师
为头部品牌提供数据咨询服务
热衷学习与分享
“数据人创作者联盟”成员
如果说在数据海洋里我是一艘乘风破浪的舰艇,那么明确的职业目标就是航行的方向,统计学业务思维等知识则是船体严密的构造,而Excel和Python等工具的使用就是航行的动力。不同于前面2篇文章,今天会结合统计学的内容,重点讲述如何使用Excel进行实操,在实操的过程中会伴随着思路的校正与发散统一。
首先,我们需要明确数据分析的步骤,没有条理的秩序,很容易在海量数据中陷入一团乱麻中。
文章图片
其次,请让我根据以上步骤来描述我是如何用Excel进行探索性分析的?本期以前4个步骤为主(明确问题、理解数据、数据清洗和数据分析,其余请关注后续推送)。
本期实操报表:淘宝和天猫上购买婴儿用户的交易明细表、用户信息表;
数据来源于:https://tianchi.aliyun.com/dataset/dataDetail?dataId=45
01 明确问题
在手头拿到数据后,不要着急做清洗和分析,而是先根据掌握的信息进行脑暴,通过这份数据我们能大体确定些什么问题,可以通过脑图(比如Xmind)在罗列的诸多猜想后,根据重要性进行排序。
为什么要怎么做?古话云:磨刀不误砍柴工,先把问题了解清楚,有利于后期的分析,而不是贸贸然上手,花费了诸多功夫,到头来悲凉地发现得出的结论与要分析的方向南辕北辙。
根据已有信息,可假设如下需验证的问题:
文章图片
02 理解数据
猴子聊数据分析里的短视频小姐姐的一个说法让我印象深刻,她将”理解数据”比作炒菜前准备的“葱蒜姜末”等佐料,对于数据分析这道大餐,表格中的不同字段,其背后的含义要能理解清楚,否则就是菜不对味儿。
文章图片
03 清洗数据
切记:数据清洗不要在原始表格上直接处理,可以复制表格再生成一份,防止原始数据被破坏,影响工作效率。
选择子集:可以遵循二八原则,面对众多字段要有取舍,选择核心的字段
以产品信息表为例:7个字段中,商品属性初步来看分析价值不大,可隐藏,后面可视具体情况如有用再取消隐藏
文章图片
列名重命名:一般从数据库导出的数据字段名可能是英文的,那么可以切换到中文,方便自己和他人了解
文章图片
转化为:
文章图片
缺失值处理:容易忘记的一个环节,尤其是遇到大量级的数据,一定要检查一下,可以使用countblank()函数,补全的4个方法:缺失值较少可手动补齐、删除、数值的话采用平均值代替和通过统计模型算出的值进行替代。
本文使用的2张报表中的产品信息表的【产品属性】有缺,但此列已隐藏,故不作补充。
一致化处理:将表格中不规范数据进行批量处理,2张表中的日期数据需要处理成正确可计算的日期型数据,可以先用len()+left/mid/right()+find()函数进行组合,本例中的数据比较齐整,也可以采用分列来拆分,具体使用以实际情况为准。
文章图片
异常值处理:与缺失值一样,不可遗漏,对于输入性的数据值尤其是要检查,消费者信息表中【性别】和【出生日期】作为重点排查对象,使用vlookup()将2张表格进行互联,通过【购买日期】和【出生日期】相减除以365取整得到年龄,再对【年龄】进行排序会发现有”28”这个异常值,通过与其他值对比,可以推测原因是出生日期填写的是父母,排查出的异常值可剔除。
04 数据分析
在分析版块中,我重点采用了Excel的【数据透视表】、【数据分析】中的【描述统计】和Vlookup()函数,具体详见如下:
产品信息表的分析思路:在对一级类目进行基础汇总统计时发现不同类目之间的销量差异明显,对该表的销量进行描述统计发现极值差悬殊,在此基础上针对销量这一列进行分组产生新的字段【订单类型】,由此结合一级类目、订单类型和购买日期3个维度组合分析(注:购买数量默认统一为当天单笔订单)。
文章图片
提取整体销量和6个一级大类的分别对应销量,使用【数据分析】中的【描述统计】,返回结果如下(共3列,后2列选取标准差最低和最高的2个一级大类):
文章图片
由上可得,不同类目间的销量存在波动,可以初步推断类目之间的差异与各大类之间的销量波动密切相关。
使用Vlookup()模糊匹配进行分组,根据电商业务场景,存在批发订单的可能,5个以内为个人常规订单范畴,6个及以上都算作批发订单,再根据实际购买数量分成:小、中及大批量,具体见如下截图:
文章图片
通过对订单分类进行透视统计,数据及发现如下:
文章图片
再看订单类型与一级大类的关系:
文章图片
根据上表是否可以推测目前平台的发展侧重点在于大批量订单的引导?
初步论证如下:
文章图片
如果剔除10000这个值会发现,常规订单在14年还处于上升状态,占比达到52%;
结合一级类目和13/14自然年组合分析:可发现在14年,“5004815”一级类目赶超13年排名第一的“28”成为14年Top1,且对比两年的发展速度,“5004815”增长达到300%,“5008168”增长近200%。
文章图片
根据上图,进一步深挖,可发现:“5004815”还是与那10000的订单相关,排除10000这个值来看,14年的各大类整体销售依然达到141%的增速,Top3中“28”增速较缓。
用户信息表的分析思路:相对于产品信息表,用户的数据量较少,算是产品的一个小样本,在使用Vlookup()进行多表关联后,在拼接字段后,根据用户ID的唯一性可以分为2张表:其一不含交易信息(字段包括:用户ID、购买日期、性别、出生日期、年龄和年龄分类)不具有重复值,另一张则包含交易信息(在Vlookup产品信息表时会发现复购的交易记录),根据年龄新增字段“年龄分类”,通过年龄分类、性别、用户ID及购买数量进行多维分析。
因考虑文章篇幅较长,这部分分析简略呈现,具体可看后续推送:
文章图片
结合下面2图,可得宝宝年龄集中在0-6岁,占比达到90%,女性宝宝占比略高于男性宝宝。
文章图片
下图是添加了”购买数量”这一字段,可以发现在男女宝宝人数占比相近的前提下,女宝宝的销量将近是男宝宝的2倍,可见女宝宝的消费需求更强劲。
文章图片
根据上图,再进一步分析男女宝宝在各一级大类的选择上呈现出什么样的特征,由下图可知,Top1的“50014815”说明女宝宝是消费者主力贡献者,可推测该大类主打女宝宝的产品,紧随其后的第二和第三,男女宝宝的产品受欢迎程度差距没有Top1那么明显,但相较而言女宝宝占比更高。
文章图片
最后,对前4步进行小结,纵观以上的图表更多是对数据的解读和推测,并未根据数据提供下一步的落地建议,且在分析上思维相对狭隘,后期会更进一步调整优化。面对数据需保持好奇心,能够由挖到的一点再进一步的下钻,达到剥丝抽茧的程度。
【数据分析|教你用Excel做电商数据分析】
推荐阅读
- 数据分析|数据安全治理能力提升(二)
- 广告|【方法】DAU异常下降该如何分析
- R语言从入门到机器学习|R语言对dataframe的行数据进行排序(Ordering rows)实战(使用R原生方法、data.table、dplyr等方案)
- R语言入门课|R语言使用reshape包的rename函数修改数据变量的名称、例如、使用rename函数自定义修改dataframe数据列的名称
- R语言入门课|R语言使用dim函数查看数据维度、例如、使用dim函数查看dataframe数据有多少行多少列
- R语言|R语言(Newton法、似然函数)
- hive|Spark读取csv文件,清洗后存入Hive库中
- 大数据|spark sql 创建rdd以及DataFrame和DataSet互转
- hadoop|Hive 安装、配置、数据导入和使用