1. 什么是数据分析?
数据分析是根据业务问题,对数据进行收集、清洗、处理和建模的过程,用于识别有助于业务的信息,获取关键业务结论并辅助决策制定。
2. 数据分析具体做什么?
业务问题界定→数据收集与清洗→处理分析与模型
更具体地:
在业务问题界定后,
前端:数据采集与数据存储
中间:数据清洗、数据挖掘、数据分析
后端:数据可视化、数据应用
3. 数据分析产生什么价值?
数据分析是为企业盈利的
- 提高收入
- 更低成本获客(客源)
- 提高现有顾客购买金额
- 让购买中低端产品的顾客购买更高价利润更高的产品
- 成本和风险控制
- 帮助企业预测市场走向
- 减少产品滞销和畅销产品断货的几率
- 优化内部经营效率
4. 数据分析诞生与发展
越发重要的原因:
- 数据增长,用户创造了大量的数据
例如现有的社交平台(微信、微博)为用户提供了非常方便的发布文字、音频和视频的工具,也许本身这些数据占有空间不大,但由于用户基数众多,也形成了巨大的数据量; - 数据的储存与计算能力不断提升
硬件和软件各方面成本的降低,企业可以存储更大更丰富的数据;
持续迭代优化的算法模型可以满足实时的计算需求,例如淘宝上会出现“查看此产品的人还看过”、“店铺推荐、看了又看”; - 在大数据环境下,基于分析所进行的各种场景优化都可以进行数据采纳和验证,使数据分析的价值可以量化。例如:以前,我知道我50%的广告费浪费了,但我不知道是哪个50%;现在明确哪些媒介与渠道浪费了。
5. 界定分析问题
- WHAT 什么发生了
围绕企业关注的重点指标:利润/顾客,例如我们这个月收入和利润如何?每个顾客大概会花多少钱?
在找到重点指标后,还需进一步地拆分查询数据,例渠道流量可以进一步拆分为各个渠道追踪流量、落地页停留时间、落地页跳出率、网站访问深度等。 - WHY 为什么会发生
关注业务背后现状背后的原因。
例如:
WHAT:2018年收入下降了。
分析:顾客数量上去了,但收入反而下降了,进一步看平均单价。
WHY:为什么顾客购买的平均单价在下降?
发现在高价产品上的花费的比例少了很多。
背后的原因可能涉及到经济,市场和其他等因素,但对该企业来说,直接的原因就是用户没有花钱在价格高的产品上。
在数据分析的过程中,会有很多因素影响到我们的指标,那么如何找到这些因素呢?
内外因素分解法
举个例子:
某社交招聘类网站,分为求职者端和企业端。其盈利模式一般是向企业端收费,其中一个收费方式是购买职位的广告位。业务人员发现, “发布职位” 的数量在过去的 6 月中有缓慢下降的趋势。对于这类某一数据指标下降的问题,可以怎么分析呢?
根据内外因素分解法,我们可以从四个角度依次去分析可能的影响因素。
内部可控因素:产品近期上线更新、市场投放渠道变化、产品粘性、新老用户留存问题、核心目标的转化。
外部可控因素:市场竞争对手近期行为、用户使用习惯的变化、招聘需求随时间的变化。
内部不可控因素:产品策略(移动端/PC端)、公司整体战略、公司客户群定位(比如只做医疗行业招聘)。
外部不可控因素:互联网招聘行业趋势、整体经济形势、季节性变化。
有了内外因素分解法,我们就可以较为全面地分析数据指标,避免可能遗失的影响因素并且对症下药。
- HOW 我们能做什么?
目标:我们就是要让他们在店里多花钱
传统零售企业:全场打折
数据驱动企业:精准营销
精准营销:识别高价值顾客,实施针对性的营销方案,发放专属优惠卷促进顾客购买。
此时,问题拆分为:
- 识别高价值顾客,识别高价值顾客的具体特征(统计分析或建模)
- 选择那些在收到优惠卷之后使用的顾客,跟踪分析后续的使用和购买情况
总结:
Step 1 识别关键环节,将 What 转变为 Why
- 与关键的业务人员一同参与,识别能用数据驱动业务发展的关键环节。
- 业务人员从自身角度出发往往是带着WHAT问题而来,
- 我们需要用数据引导他们走向WHY/HOW的问题层。
Step 2 选择分析计划
- 不同的分析方法在所需的数据准备工作上会有较大差别,实施时间长度也会有所不同,
- 根据业务目标找到所有可能解决的技术方法与所需数据,选择分析计划。
Step 3 明确衡量分析项目成功的标准
- 最终哪些数据的变化,能够体现数据分析实现的价值?
- 例如上个例子,高价值客群会收到优惠卷,但也随机选择其他客群的人发放优惠券,活动结束后对比两组人使用优惠券情况。
6. 数据清洗与整理
在5的业务界定问题中,我们界定了问题后就可以去收集对应的数据了,通过python或SQL完成从多个数据表中拼接聚合数据的过程,在确认数据在收集前后完整而且准确后,我们将进入下一步,对数据质量进行变量级别的清洗与整理。
在这个阶段中,工作包含两个方面,一个是“清洗“,即将有问题的数据排除出去,这里主要涉及对数据缺失,异常和其他问题的处理;另一个则是”整理“,即将数据转化成更有助于后续分析的样式,比如将实际年龄转换成80后,90后这样有业务意义的分组。
数据清洗
数据清洗涉及数据缺失,异常和其他问题的处理。
- 数据缺失(处理缺失值常用思路)
- 缺失的信息来源与哪个表?在原表中它们也是缺失的吗?
- 原表也缺失,那有没有可能是收集信息时有缺漏?例如用户注册填写性别时就是不填。那么可以系统强制填写。如果业务团队反馈数据收集过,那么说明底层数据录入时有问题。
- 在排除了系统和流程问题后,考虑技术处理方法。当缺失比列超过90%时,可以进行删除;若缺失比例较低,可以用均值、中位数、回归等方法进行填充。
- 数据异常(有三种类型)
- 数据有明显违背常理的错误。收入是负数,中国人口一共1.3亿等,这里可以直接删除或当成缺失值,然后再用处理缺失值的手段处理;
- 特殊数字来标注的“缺失值”。例如收入这字段中,其他收入数据都是整数,突然出现一个99999,那么考虑用户没填这个信息,系统默认值是99999,相当于标注了缺失值,可以用处理缺失值方法处理。
- 数据的离群值。离群值是指与其他数据差异较大,会对数据分析结果产生影响的观测值。
单变量异常值识别:
连续变量
箱型图:
经验法则:
类似于箱线图的方法,我们通常把在“平均值+/-3*标准差”之外的数据标识为异常值。
平均值和标准差”这个方法来自于经验法则,我们知道在正态假定下,区域“平均值+/-3*标准差”包含了99.7%的数据,所以如果根据这个规则找到一个异常值,它是由正态分布产生的概率(即跟其他数据以相同机理产生的概率)小于0.3%,故应为异常值。但是这个方法的应用是有前提条件的,即数据是服从正态分布的,而现实生活中的很多数据都是偏态的,例如一家公司的工资分布是右偏的。相比于这个方法,箱线图的识别方法是依据实际数据绘制,并没有对数据本身作任何限制性的假定(例如服从正态分布),它只是真实地表现数据分布的本来面貌。而且其判断标准依据的是四分位数以及四分位差,分位数本身具有一定程度的鲁棒性(或称稳健性,Robustness)。
名义变量或者有序变量
针对名义变量或者有序变量,我们可以根据需求灵活地定义某一类别的频率数,比如总体的1%以下就是异常的。
多变量异常值识别:
- 基于聚类的方法
- 基于邻近性的方法
- 基于分类的方法
异常值处理
在识别异常值后,如何处理?
- 直接删除
- 用缺失值替代或盖帽法
- 进行针对性的研究
当只有极个别异常值存在(即比例很小时)又或者从业务上已经很清楚的找到了产生的原因(例如年龄是239岁,那肯定是输入错误等),我们可以直接删除或者用缺失值替代。缺失值替代了以后,我们可以用处理缺失值的方法处理,如删除、赋值、替换等。如果找到了一定比例的异常值,在业务逻辑上发现其背后可能代表着一些特殊的机制、人群、原因、事故等,我们则可能要进行针对性分析了。所以说基于统计分析找到的异常值只是可疑的值,要跟具体的业务逻辑联系起来,具体判断是否是异常值以及进行对应的研究。
另外在实际应用中,有一些分析方法对异常值很敏感如回归,我们需要特别注意异常值,而有一些方法对异常值比较包容如神经网络,我们可以放宽处理水平。再有,一些数据变换的手段如分箱,也能在一定程度上处理异常值。
数据整理
- 对数据进行统一的格式化和命名规则处理,例如城市中有上海市,上海,北京市,北京等;
- 对某些信息进行重新编码以满足后续分析需求,可以挖掘新的信息,例如年龄→80后、90后,2019/08/02 15:07 → workday afternoon
7. 数据探索与可视化
7.1 通过数据可视化,实现单变量分布情况分析
描述统计、箱型图、对变量分组后的柱状图,时间趋势图、累计占比图
7.2 多变量之间的相关关系
衍生变量
- 基于业务需求,在最初的数据架构表之外,产生的变量称为衍生变量
8. 数据分析的 8 种方法
那么对于具体的业务场景问题,我们又该怎么办呢?我们以一个电子商务网站为例,用数据分析产品 GrowingIO 对该网站进行快速地数据采集、清晰和可视化展示,然后给大家分享这 8 种常见的数据分析方法。
8.1 数字和趋势
看数字、看趋势是最基础展示数据信息的方式。在数据分析中,我们可以通过直观的数字或趋势图表,迅速了解例如市场的走势、订单的数量、业绩完成的情况等等,从而直观的吸收数据信息,有助于决策的准确性和实时性。
对于电子商务网站,流量是非常重要的指标。上图中,我们将网站的访问用户量(UV)和页面浏览量(PV)等指标汇汇聚到统一的数据看板(Dashboard),并且实时更新。这样的一个数据看板,核心数字和趋势一目了然,对于首席增长官来说一目了然。
8.2 维度分解
当单一的数字或趋势过于宏观时,我们需要通过不同的维度对于数据进行分解,以获取更加精细的数据洞察。在选择维度时,需要仔细思考其对于分析结果的影响。
举个例子,当监测到网站流量异常时,可以通过拆分地区、访问来源、设备、浏览器等等维度,发现问题所在。图 7 中,当天网站的访问用户量显著高于上周,这是什么原因呢?当我们按照访问来源对流量进行维度拆分时(图 9 ),不难发现直接访问来源的访问量有非常大的提升,这样就进一步把问题聚焦了。
8.3 用户分群
针对符合某种特定行为或背景信息的用户,进行归类处理,是我们常常讲到的用户分群(segmentation )的手段。我们也可以通过提炼某一群用户的特定信息,创建该群体用户的画像。 例如访问购物网站、寄送地址在北京的用户,可以被归类为“北京”用户群体。而针对“北京”用户群体,我们可以进一步观察他们购买产品的频度、类别、时间,这样我们就创建出该用户群体的画像。
在数据分析中,我们往往针对特定行为、特定背景的用户进行有针对性的用户运营和产品优化,效果会更加明显。上图中,我们通过 GrowingIO 的用户分群功能将一次促销活动中支付失败的用户挑选出来,然后推送相应的优惠券。这样精准的营销推广,可以大幅度提高用户支付的意愿和销售金额。
8.4 转化漏斗
绝大部分商业变现的流程,都可以归纳为漏斗。漏斗分析是我们最常见的数据分析手段之一,无论是注册转化漏斗,还是电商下单的漏斗。通过漏斗分析可以从先到后还原用户转化的路径,分析每一个转化节点的效率。
其中,我们往往关注三个要点:
第一,从开始到结尾,整体的转化效率是多少?
第二,每一步的转化率是多少?
第三,哪一步流失最多,原因在什么地方?流失的用户符合哪些特征?
上图中注册流程分为 3 个步骤,总体转化率为45.5%;也就是说有 1000 个用户来到注册页面,其中 455 个成功完成了注册。但是我们不难发现第二步的转化率是 56.8% ,显著低于第一步 89.3% 和第三步转化率 89.7%,可以推测第二步注册流程存在问题。显而易见第二步的提升空间是最大的,投入回报比肯定不低;如果要提高注册转化率,我们应该优先解决第二步。
8.5 行为轨迹
关注行为轨迹,是为了真实了解用户行为。数据指标本身往往只是真实情况的抽象,例如,网站分析如果只看访问用户量(UV)和页面访问量(PV)这类指标,断然是无法全面理解用户如何使用你的产品。
通过大数据手段,还原用户的行为轨迹,有助于增长团队关注用户的实际体验、发现具体问题,根据用户使用习惯设计产品、投放内容。
上图中展示了一位用户在某电商网站上的详细行为轨迹,从官网到落地页,再到商品详情页,最后又回到官网首页。网站购买转化率低,以往的业务数据无法告诉你具体的原因;通过分析上面的用户行为轨迹,可以发现一些产品和运营的问题(比如是不是商品不匹配等等),从而为决策提供依据。
8.6 留存分析
在人口红利逐渐消褪的时代,留住一个老用户的成本要远远低于获取一个新用户。每一款产品,每一项服务,都应该核心关注用户的留存,确保做实每一个客户。我们可以通过数据分析理解留存情况,也可以通过分析用户行为或行为组与回访之间的关联,找到提升留存的方法。
8.7 A/B 测试
A/B 测试用来对比不同产品设计/算法对结果的影响。产品在上线过程中经常会使用 A/B 测试来测试不同产品或者功能设计的效果,市场和运营可以通过 A/B 测试来完成不同渠道、内容、广告创意的效果评估。
举个例子,我们设计了两种不同的产品交互形式,通过比较实验组(A 组)和对照组(B 组)的访问时长和页面浏览量两个衡量指标,来评估哪一种交互形式更佳。
要进行 A/B 测试有两个必备因素:第一,有足够的时间进行测试;第二,数据量和数据密度较高。因为当产品流量不够大的时候,做 A/B 测试得到统计结果是很难的。而像 LinkedIn 这样大体量的公司,每天可以同时进行上千个 A/B 测试。所以 A/B 测试往往在公司数据规模较大时使用会更加精准,更快得到统计的结果。
8.8 数学建模
当一个商业目标与多种行为、画像等信息有关联性时,我们通常会使用数学建模、数据挖掘的手段进行建模,预测该商业结果的产生。
作为一家 SaaS 企业,当我们需要预测判断客户的流失时,可以通过用户的行为数据、公司信息、用户画像等数据建立流失模型。利用统计学的方式进行一些组合和权重计算,从而得知用户满足哪些行为之后流失的可能性会更高。
我们常常说,不能度量,就无法增长,数据分析对于企业商业价值的提升有着至关重要的作用。当然,仅仅掌握单纯的理论还远远不够,实践出真知。数据分析的方法大家不妨在自己日常工作中,有分析相关项目里尝试使用,相信可以事半功倍,创造更多商业价值。