对于Adventure案例,为方便大家理解,这里采用公司老员工(老王)带领一位刚入职同学(小明)开展数据分析工作的讲述形式,老员工会从四个方面对员工进行培训:
- 电脑环境准备
- 新员工上手培训
- 日常数据需求
- 满足业务自主分析的需求
- 满足大数据量的需求
一:配置电脑环境
小明办理好自己的入职手续之后,来到了自己的工位,打开电脑,看到电脑上就只有浏览器、微信、QQ三个软件,心想要问下王老师应该安装哪些软件才能满足工作的数据需求。刚准备去问,王老师微信就发了一个需要安装的清单,有anaconda、mysql、navicat、pycharm、git、xshell、easyconnect、notepad++,这里面有用过的,也有没有用过的,想着先安装上去再说把,然后自己就默默安装去了。
二:新员工上手培训
王老师为了让小明能够尽快的上手,帮自己分担一些数据需求,于是就把小明拉到办公室的小角落中,给他讲述现在业务开展的情况,以及数据组主要负责的哪些内容。
- 公司业务知识
Adventure Works Cycle是国内一家制造公司,该公司生产和销售金属和复合材料自行车在全国各个市场。销售方式主要有两种,前期主要是分销商模式,但是2018年公司实现财政收入目标后,2019就开始通过公司自有网站获取线上商户进一步扩大市场。
- 工作职责
王老师语重心长的和小明聊了下公司的架构,并说目前我们几个人主要对接公司线上业务部门的数据需求,如果其他部门给我们提需求的话,可以适当友情协助下,然后特别强调了做需求时一定要注意的几个点:
a.每次做需求时一定要保留需求文档,文档中写明数据指标口径和逻辑;b.规定好需求的完成时间;
c.做需求时碰到问题解决不了时,要及时反馈
三:日常数据需求
2019年12月2号小明已经来公司一周时间了,第一周基本上是安装软件、配置环境、看下王老师给的学习笔记以及业务文档。第二周的时候,终于开始了第一个需求,需求是这样的:2019年12月5日线上业务经理,需要向公司CEO汇报2019年11月自行车销售情况,所以数据部门要提供11月份线上自行业务数据分析报告。
只是在找工作的时候模仿过、知乎的分析案例,又加上分析报告只有两天的时间,这对于小明来说确实有些紧张。隔壁的王老师看到了小明的紧张不安后,微信和小明说,这里有一份10月的分析报告,你给参考下,思路是这样的:
- 从整体的角度:分析2019.1—2019.11自行车整体销售表现
- 从地域的角度:分析11月每个区域销售量表现、11月TOP10城市销售量表现
- 从产品的角度:分析11月类别产品销售量表现、11月细分产品销售量表现
- 热销产品:分析11月TOP10产品销量榜、11月TOP10销量增速榜
- 从用户的角度:分析11月用户年龄分布及每个年龄段产品购买喜好、11月男女用
流程是这样的:
顺便给大家王老师做的内容
数据处理部分节选
11月份分析报告节选
涉及技能:
python、pandas、numpy、powerbi、ppt
三:满足业务自主分析的需求
随着线上业务如火如荼的进展,提出的数据需求也是越来越多了,小明心里开始有了嘀咕,怎么需求都是些取出数据计算,然后做PPT的事情呢,况且每月都提了好多类似的需求,和转行前预想的情况不一样,于是一阵阵心烦涌上胸口。突然灵机一动,如果我们做好基础数据,那些简单的分组求和让他们自己来计算该有多好呢?
这时,王师傅开完内部领导会议刚回来,开始传达会议内容,随着线上业务的开展,需要增强公司数据化方面的治理,让前线的业务同学能够实现自主分析从能实现对市场的快速判断。
一周后,经验资深王师傅,考虑到数据量也并不是十分大,就是准备了亿级数据以下的数据实施方案
平常大家会认为powerbi大都是做PPT画图用的一个工具,其实powerbi发挥作用更大的是,结合数据库中存入的聚合数据(简单理解把明细数据按照某种维度来做聚合),通过powerbi的交互呈现数据指标,以便让运营同学来自主分析
在powerbi 中使用切片器、书签这样的组件来进行数据的交互,比如说上图右边栏目选择某个区域、图最上方书签选择某个时间维度,其他相应的指标便会改变数据得到对应的值(由于是截图大家看不到交互,可以看文末交互链接)
一般对于业务人员来说,是没有数据权限,不能直接访问数据库,但是能够给他们通过在powerbi 中提供数据,比如说上图,大家约定好相应的指标,选择不同的地区维度和时间维度,便可以导出相应的数据,以供业务来进行分析
涉及知识点:
python高级知识、mysql高级、git使用、pycharm高级使用、linux知识
三:大数据量的需求
过了3年之后,随着公司数据量增大,使用python来进行聚合已经变的困难起来,三年后的小明也不在是以往小毛孩了,不管在工作中还是在工作时间外都保持着不断的学习,大数据的相关知识早已经熟练。在王总监的推荐下,负责数据组这次大数据项目。不负众望,两天后,小明拿出了解决方案。大概是下面这样的
这里与王老师方案,最不同的地方是,王老师用python来做聚合数据,小明用hive来做聚合数据。涉及知识点:
mysql高级知识、git使用、pycharm高级使用、linux知识、hive使用、sqoop使用、xshell使用
此篇文章是adventure数据分析项目的概览,在接下来的时间里,会和大家来分解描述这三大需求需要的知识技能。