第三章:化繁为简:数据分析要掌握的思维模式

第二章介绍了商业模式和指标体系,并且把常见的商业问题归纳成了三类分析:描述,诊断和预测。本章介绍数据分析的思维方法,重点是解决下面两个问题:

本章导言 · 两个核心问题

一、在分析问题、找解法的过程中,如何确保我们视角全面、不遗漏关键因素?

二、在解决问题、落地过程中,如何验证是由我们的分析和策略带来的商业结果?

读者路线

本章按「从直觉到严谨」的阶梯展开:3.1–3.3 是今天就能上手的思维框架(估数 → 拆问题 → 验假设);3.4 概率思维、3.5 因果关系偏量化与统计,标 进阶,可先跳过、需要时再展开。

3.1 为什么大厂面试都喜欢问“费米问题”?

在介绍解决这些问题的思维模式之前,不妨先用费米问题来给大脑做个热身运动。费米问题来自于著名的物理学家恩里科·费米,他曾经参与设计原子弹的曼哈顿计划,为现代核物理的发展做出了卓越贡献。在严谨的科学研究之外,他也非常擅长将复杂的物理问题通过简单的逻辑推算以得到大致的答案。据说在第一次实验原子弹爆炸的过程中,他曾经在现场抓起一把沙来预测爆炸所产生的能量水平,几秒之内他推算的答案和最终的结果非常接近。费米曾经在他教课过程中给学生留下了“芝加哥有多少钢琴调音师”的问题,也成为后续费米问题的鼻祖,而很多美国初中、高中甚至小学都将费米问题作为开拓学生思维的重要方法

这里我们用一个类似的问题,“上海有多少加油站?”来演示费米问题的推算过程。要回答这个问题,我们需要做一些基本的假定。这些部分来自于日常生活的观察和经验,也有部分我和读者一样也都只是推测。

1. 2500万人生活在上海,每个家庭有3个人,大约每3个家庭中有2辆车。

2. 每辆车15天需要加一次油。

3. 加油站有6个加油桩,每次加油需要5分钟。

4. 加油站每天平均工作10小时,考虑到加油高峰和低峰,粗略估算整体加油桩利用率为60%。

基于上述假设,先根据1计算出所需要加油的车 (2500/3)*(2/3)*(1/15) 约为37万,根据2-3计算出一个加油站每天可以加油的车数量 10*0.6*6/(5/60)=432个。最终我们的答案是37万/432 约为857个。读者可能已经注意到上述逻辑的一些缺陷,比如忽略了非家庭用车(对加油站需求+),以及各类用车中新能源车占比(对加油站需求-),融入这些因素及必要的市场调查之后,我们就会更接近真实值。实际上2017年上海加油站数量是547个,考虑到5年间市场的增长,我们的预估已经有了个不错的出发点。

费米推演 · 上海加油站数量(量级估算)

  1. 车辆总数N车 = 2500万 ÷ 3 × 23 ≈ 556万
  2. 每日加油需求556万 ÷ 15 ≈ 37万 辆/日
  3. 单站日产能10时 × 0.6 × 6桩 × 60分5分 = 432 辆/日
  4. 加油站数量37万 ÷ 432 ≈ 857 座

关键不在 857 这个绝对数,而是它落在「几百」量级——足以判断"在加油站卖咖啡"的市场盘子有多大。

费米问题留给商业数据分析工作最大的启示就是,当面对需要用数据解决问题时,应该优先得到“量级”正确的答案。比如我们要分析的商业计划是在加油站卖咖啡可行性,那么加油站数量是几百还是几千,对于估算市场规模“量级”上的区别,而我们预估的857就是将这个量级锁定。之所以这类问题常见于咨询和互联网头部公司的战略或者商分岗位的面试,关键并不在于要求候选人给出绝对准确的答案,而是通过这个过程考察对问题的逻辑拆解能力。越是能在有限时间和有限数据信息条件下,做出最合理的估算,越能反映出候选者的数据思维能力。

我们再来看这样一个应用案例,一家奶粉公司为了能实现更好的运营效果,打算建立“准妈妈俱乐部”,入会的准妈妈需要告知有关的生育信息,比如怀孕在什么阶段,对奶粉价格和品牌偏好等等。为了让准妈妈们愿意分享这些信息,公司准备了消费券以及实物礼品等。在筹划这个过程中,公司需要估算花在这些准妈妈顾客上的人均礼物成本是多少。

用最简化的思路,在每个人所花费的礼物成本X等于她同意加入该会员俱乐部的可能性P,乘以入会之后她所能产生的价值V。这里P相对好估算,可以参考公司以往或者行业里类似活动的水平。对于价值V,我们可以根据消费者历史记录来计算单个顾客平均花费的金额,但这并不能简单等同于会员的价值。之所以建立这个会员俱乐部,我们的商业逻辑就是这些会员会比一般顾客创造更多的价值,因此需要的不是某个绝对值V,而是增量的△V。

△V = 会员价值-普通顾客价值

准备的礼品最终是为了这个增量△V买单,我们在准顾客同意加入会员的基础之上,还要考虑下这个顾客能成为高价值会员的可能性Q。这个Q是为了排除掉那些纯粹为了礼物而来的顾客,Q的大致数值也同样可以根据业务经验给到某个百分比。因此我们最终所愿意为单个顾客所支付的成本就是

X= P * Q *△V

费米推演 · 单个准妈妈可承担的礼物成本

假设(基于业务经验与行业基准,可替换):

  • P = 35% — 收到礼物的目标准妈妈中,愿意入会的比例
  • 普通顾客终身价值 ¥2,000;会员终身价值 ¥3,500 → △V = ¥1,500
  • Q = 50% — 入会者中真正转化为高价值会员的比例(其余是"薅礼物党")
X = P × Q × △V = 0.35 × 0.50 × 1,500 = ¥262.5 ≈ ¥260

即每个目标准妈妈最多花约 ¥260 在礼物上就划算;实际礼品成本低于这个上限,活动在量级上就站得住。

和加油站的问题一样,这里需要的是采用解决费米问题的思维,回答客户价值的大致量级从而快速的为公司决策做出判断。在商业数据分析工作中,包括我自己在内,经常把”拍脑袋“作为”数据驱动“的对立面来看,但合乎逻辑且有业务经验为基础的“拍”,可以减少冗长的获取整合数据时间,及早为业务做出快速的判断。之所以将费米问题放在这里介绍,也是提醒各位读者在学习数据思维和方法之后,不要将方法的复杂性等同于它的优越性。

费米问题教你给模糊问题“估一个数”;但面对“为什么销量跌了”这种大问题,下一步是把问题拆对——这就是系统思维。

3.2 系统思维:结构化的思考和解决问题

接下来,我们从费米问题那种“快速估个量级”的打法,进入更扎实的商业数据分析。面对“如何保证分析问题时视角全面、不漏掉重要因素?”这个问题,答案就是系统思维——让分析里没有遗漏。

系统思维,就是帮我们把问题的底层结构理清楚:看清哪些因素在起作用,各自有多重要。商业问题大体能抽象成三种结构之一:(1)层次结构,从主要因素到各层级的分支因素,第二章搭建的指标体系从一级指标到次级指标,就是比较典型的层次结构。(2)组合结构,即常见的”总分“结构,总体由各个部分组合拼接而成,商业模式画布是由其中九个要素组合而来。(3)流程结构,从起点到终点的流程,商品从生产到分销中心到最后的消费者手上,形成一个完整的产销流程结构。在几种结构里,最常用、也最该先吃透的是层次结构——它就是我们后面要反复用到的“逻辑树”思维:从总到分、逐层往下拆。组合结构和流程结构也很重要,但本章主角是层次结构。

要把这些结构讲清楚,既方便自查有没有遗漏、也方便跟人沟通,通常会借助一个视觉工具——逻辑树。思路很简单:把待分析的问题当树干,找出跟它相关的问题当作树枝,树枝再长出更小的树枝(也就是更小的问题)。

下面就是逻辑树结构图的基本框架,从我们要分析的主要问题到若干个子问题,每个子问题下面也有分支问题。从树根到树叶逐层拆解,将宏观抽象问题逐级拆分成为可分析解决的小问题,能够使得要解决的问题更加具体和明确。

图3-1 逻辑树
图3-1 逻辑树

以日常生活中的问题为例,我们可以看到逻辑树是如何应用到问题分析解决。图3-2是对 “是否要参加数据分析培训“这个问题所形成的逻辑树。这个问题的第一层拆解就是收益和成本的对比,在收益这个子问题下面可以扩展为职业机会和个人发展两个主要方面,而在成本上则是时间和金钱的投入。再往下分拆,职业机会可以拆分为目前工作上的提升,和潜在的外部机会等,其他因素也可以分拆到相关的分支。

图3-2 是否参加数据分析培训的逻辑树拆解
图3-2 是否参加数据分析培训的逻辑树拆解

逻辑树要有效,第一个要求是尽可能下钻——把问题一直拆到 “无法再往下拆解“的步骤。对于很多商业问题,最简单的判断就是到了这个问题层次,是否已经能够给出明确的解决方案,或者是找到对应的负责人及部门。

逻辑树有效的第二个要求,是在每个拆解的层次上都要符合MECE原则——说白了就是从上往下拆的时候不能漏。MECE原则来自于芭芭拉所写的《金字塔原理》,是麦肯锡咨询公司的工作方法论之一,它的中文意思是”相互独立,完全穷尽(Mutually Exclusive, Collectively Exhaustive)“。符合MECE原则的分解,则很容易使人对分析对象有清晰完整的认识。比如若对服装公司的产品销量分析,拆分为女装,男装,童装和婴幼儿四个分类,则可能出现”遗漏”,比如某些配饰类产品不归属于上述任何一类,但如果在分类中加入了”当季新品“的分类,则会出现“重叠”,这两种情况都属于不符合MECE原则。

要确保分拆符合MECE,一种方法是利用已经有明确定义的维度,比如组织架构、产品维度和用户维度等。组织架构方面主要分为地域,业务线和销售团队等,产品维度则包含品类,品牌,价格区间以及SKU,用户维度则包含了用户注册的来源渠道,性别,职业,教育程度等。这类已有明确定义的维度,能够较好的把握住MECE原则。比如将销售区域分为东南西北四个大区,那么是否各大区的销售量,所属城市等相加等于全国的总体,若少则有遗漏若多则有重叠,是很容易通过数据检查做逻辑验证。

第二种是利用二分法或者宫格法,以自定义的结构去框定问题,以此来确保拆解过程中的MECE。以二分法为例,即按照某个指标高低或者问题的是/否,将分析对象拆分为两类。读者可能都听说过波士顿矩阵这个工具,它实际上就是描述产品对于企业价值所形成的MECE拆解,核心就是以两个维度做(市场份额和市场增长)各自做了二分法,形成2x2的矩阵。明星、现金牛、问题、瘦狗这四类业务互相之间不重叠,且组合起来可以描述所有的业务。

图3-3 波士顿矩阵

前面讲了逻辑树和 MECE 这两条原则,现在拿第二章的外卖指标体系当尺子,量一下它够不够“好逻辑树”——从横向来看,商户侧的分拆会到各个不同业务线的商户数及质量上,用户侧则会深入到app及小程序等各端的转化,物流则会落到自有配送的人数和效率,这些基本都能确定了所负责的业务团队。而从纵向来看,商户+用户&流量+物流+营销的拆解方式,确实是各自不重叠比较独立的,加总起来也基本能实现了商业的全面貌。如果说要再挑剔些,就是要加入竞争视角的考虑,比如第三方数据所能获得的用户份额或者市场份额。对于这些不确定的因素,在MECE的应用中我们也通常会留下“其他”这个分类,为那些在分析时还不明确的因素预留出位置。

总体上,逻辑树和 MECE 能帮我们更高效地把问题拆开、找到解法。逻辑树负责纵向(从大问题拆到小问题),MECE 负责横向(同一层彼此独立又穷尽),一纵一横,在纸面上铺开成一个“平面”。要真正升级系统思维,得从这个平面里跳出来,建立起立体的结构。

对于这个从面到体的升级,我们以第二章所介绍的天天神券的指标体系来做解释。如前面所介绍,围绕这个新型的营销活动,我们核心关注的是它所带来的订单量增长,以及这个活动在商户侧的渗透(以开通该活动的商户数为代表),以及在用户侧的渗透(以领取天天神券,和使用天天神券的用户数为代表)。但如果我们看到的是天天神券每周都以10+%的订单增速发展,是不是能一口咬定说这个产品市场前景光明呢?结果是不一定的,因为极可能出现活动初期订单绝对数高速增长、但在平台整体外卖订单体系中仍然占比很低的现象。

这个过程就是一种“向上看”的思维,它指的就是我们在分析一些局部问题的时候,要避免只见树木,不见森林。具体来说,就是看到单个产品/业务时,能想到更广阔的产品线、业务集群乃至公司整体。这里有个纸面逻辑和真实业务的重大区别:我们在纸上画逻辑树,往往只画“自己负责的那个模块”内部;但到了实际业务里,你不能只盯着这一块,还得抬头看它和整体经营的关系——它在大盘里占多少、带来的是增量还是存量转移。没有这份大局观,拆得再细也可能得出错误结论。所以对于天天神券,我们在指标体系里再加入如下要素,完善它的立体化结构。

首要的就是在只看天天神券的订单数量及其增长率之外,要去看这个订单数量在平台整体订单上的占比。如果整体的订单数量不增长,而只是天天神券的订单的数量及占比增长,那说明这个工具没有带来“增量”,而只是现有用户存量订单的结构化转移。

将使用了神券用户的其他非神券类订单价格融入到框架中,对比分析是这些用户本身就属于薅平台羊毛,还是他们被神券影响改变了自己的订单结构,这对于将神券做成符合平台预期的活动至关重要。

天天神券和其他活动一样,用户所享受的补贴是来自于商户和平台的共同补贴。选择开通了天天神券的商户,他们对于其他工具比如美团会员或者配送费减免的补贴投入力度大小,尤其是在不同品类下商户的差异,这些都能更好的帮助理解神券在什么细分领域有更大的增长空间。

结合了上述三个点,我们最终得到了图3-4的指标结构。这个过程中也能体现出针对业务的不同阶段选择对比方式。在业务初期(如本例中的天天神券),主要的商业目标是能增长到一定的体量,因此通常看的是核心指标的绝对值,这样也能够和其他业务或者市场上其他公司做横向比较。在业务发展的增长期,则重点会以核心指标的环比来看增长速度,是否能达到预期的快速增长,这段时期通常也会有从几个城市到全国市场,从特定群组用户到全体用户的业务扩张。如果增长的时间足够长(超过12个月),则可以开始引入同比作为更长线的看业务增长速度的指标。最后在业务进入稳定期之后,则更多关注与竞对之间的份额变化,同时关注自身业务的内部结构(比如各个业务线,或者各个产品的销售),做精细化的运营管控,维持长期竞争力。

图3-4 含大盘视角的天天神券指标体系

逻辑树和MECE 帮我们把问题拆清楚、锁定关键因子,但“拆清楚”不等于“判断对”。面对天天神券这类真实业务,还有不少仅凭结构分析回答不了的问题,比如:天天神券是主打“非超级会员”用户,但实际上这些会员用户也可以用天天神券,他们会如何选择使用?且我们通常将用户试做独立的个体,而现在很多用户是以社区存在,比如高校里的学生或者CBD里的白领用户,他们的外卖决策彼此影响,如何评估在某些圈层用户中天天神券的工具影响呢?

把问题拆清楚后,最诚实的做法不是争辩,而是做实验、用数据说话——进入实验思维。

3.3 实验思维:从疫苗效率到商业决策

系统思维帮助我们能看清楚全局,而对于开篇中的第二个问题“在解决问题、落地过程中,如何验证是由我们的分析和策略带来的商业结果?“回答这类问题最容易犯的错误便是将策略落地后和落地前做比较,比如在增加了100万的广告投入之后,看到了日均销售额从150万增加到了220万,于是认为这新增的70万归入到了广告带来的效果。要真正量化这类策略的效果,我们需要依仗实验和概率思维来回答。

实验本是自然科学的概念,而商业中的实验思维,是通过设定实验目标,分组对照结果的方式检验特定的业务动作效果的过程。在快消,金融以及互联网行业中,业务决策者或多或少的对用实验检验策略效果有所认知,但在具体实验设计中还是会有各种问题,影响了实验后对结果的判断。

先以互联网用户运营场景的用户转化实验做为例子,这个实验的目的是衡量不同优惠券对于用户转化的影响。在一次大促活动中,业务尝试做了优惠券投放,面额分别为100-10和300-30。在表3-1的数据中可以看到,100-10的人群交易转化率为6%,而收到300-30的优惠券的用户则转化率达到了8%,且客单价也是其100-10组的近3倍。基于上述的数据,业务方认为优惠券对交易转化率和客单价提升都有明显帮助,面额越大,效果越明显。做出这样的结论是否有什么问题?

表3-1 大促用户转化数据
优惠券类型领取人数使用人数交易转化率客单价
100-1038482316%110
300-3037463008%284

做出这种结论的核心问题在于,由于没有明确的在实验前做人群设定,收到不同优惠券的人群本质上可能不一样。收到满300减30优惠券的用户极有可能是购买更频繁且日常在平台消费更多的用户,因此不能把客单价和转化率的差异结果视为优惠券不同造成的。

正确的做法,是对同类用户随机发放不同面额的券,再比较两组的转化率——用“随机”抹平两组人群本身的差异,差异才能干净地归因于券本身,而不是人群本来就不同。

再看一个产品改版对于用户转化效果的评估实验,现在对于产品页面的改版有AB两种不同的设计方案,在收集了用户数据之后,表3-2的数据表明总体上B设计的转化率是要高于A的,但是如果拆分成三个不同的访问渠道,在每个渠道上都出现了页面设计A更好的趋势。我们如何解读这个实验的结果?

表3-2 分渠道产品转化数据
页面设计A页面设计B
访问转化访问转化A转化率B转化率
总计800045080005865.6%7.3%
手机访问6000300750305.0%4.0%
平板100060800406.0%5.0%
PC10009064505169.0%8.0%

和第一个实验所遇到的问题一样,这里实验数据偏差的原因,也是各组用户群体之间并不相同,在这个例子中具体表现在所使用的访问设备有较大的偏差。看到A页面设计的用户绝大部分使用手机访问,而看到B页面设计的用户则大部分使用电脑访问。这种干扰因素造成了数据的异常,使得某个特定的趋势出现在了各组数据中,而这些组数据合并后趋势消失或者反转。这种现象也被称为辛普森悖论(Simpson's paradox),是统计数据所产生误差的典型案例。

如何规避上述问题,设计有效的实验以验证结果,这个问题其实在科学研究中已经给了我们答案。尤其是在近两年在对抗新冠疫情的过程中,对于疫苗的各种新闻报道已经给大众普及了很多实验方法的基本概念。我们引用专业医疗杂志《柳叶刀》对国产科兴疫苗实验的报道来做些解读:

在 2020 年 9 月 14 日至 2021 年 1 月 5 日期间筛选的 11303 名志愿者中,随机分配了 10218 名。疫苗组报告了 9 例经 PCR 确诊的有症状的 COVID-19和安慰剂组报告了 32 例,在第二次接种后 14 天或更长时间,疫苗效力为 83·5%。

遵循这种科学逻辑,我们可以归纳出为了实现科学的产品或业务决策,在一定的实验时间周期中(在接种疫苗后14天或者更长时间)将受试对象分成实验组(疫苗组)和对照组(安慰剂组),在保证各组受试者特征相同的前提下(随机分配志愿者),收集指标数据(疫苗组有了9确诊,安慰剂组32例)并做出决策的实验过程(疫苗效力判断为83.5%)。这种实验方法被统称为随机控制实验(randomized controlled trial, RCT),而如果实验中对比的只是两种选择(是否接受疫苗,是否发放优惠券等),在互联网语境下常被称为 AB 实验——严格说,互联网 A/B 测试是随机对照实验(RCT)在业务快速迭代中的具体落地形态。在AB实验中,对受试者的随机分配是奠定有效性的基石,通过完全随机的分配才能保证所选出的实验组和对照组用户是“同质”的。

让AB实验最为“出圈”的案例,是2008年奥巴马通过AB实验大获成功。奥巴马作为首个非裔候选人,他的竞选风格颇具草根风格,通过各种渠道调动民众参与积极性,并吸纳民众的政治捐款,是他成功当选的重要武器。他也是第一个在竞选团队中任命了"数据分析总监”的候选人,担任此职位的前谷歌工程师Dan Siroker为奥巴马的竞选网站开发了专门AB测试系统(日后他以此成立了专门提供AB测试技术服务的公司Optimizely)。

图3-5 奥巴马竞选网站AB测试

如图3-5所示,在对奥巴马竞选网站的AB实验中,上图左侧是最初页面,而右侧是迭代之后成为终版的设计。从这个最初的竞选网站就可以看的到,这个图片充满了美式个人英雄的设计风格,网站中心的Get Involved是呼吁选民的参与感,特别是加上右边的sign up。而经过多个图片和口号之间的调整,最终获胜的图片则是右侧的图片。非常明显的差别是,这张图从“个人英雄”变成了“好老公,好爸爸”,变成了对美国传统的家庭观念的诉求,而网站的call to action也变成了了解更多,措辞上更为柔和。经过AB测试改善的版本得到了惊人的结果:在官网千万访问用户中,登记表示对参与竞选有兴趣的选民数量提升了40.6%,新增了280万的选民留下自己的电子邮件,同时还增加了28.8万愿意在活动中助力的志愿者。最重要的是,网站的迭代优化为奥巴马团队贡献了5700万美元的个人捐献资金,为奥巴马最终竞选成功奠定了经济资本。

如何做好一个AB实验? 要想通过AB实验达到这样对竞选(业务)结果产生重要影响的目标,除了通过随机分组保证受试者的同质性之外,我们还需要在其他几个问题上做好准备。基于行业中有关AB实验的最佳操作,在这里我将每个问题拆分为“要“和”不要”解释。

设计实验目标

要明确唯一的实验目标、以及关键的衡量指标

不要在一个AB实验中检验多种方案、以及 看过多的观测指标

通过结构化的问题拆解,我们通常能发现对同一个问题有若干个解题方法,比如想要提升用户从访问到购买的转化率,可以优化首页的产品推荐,也可以着重优化搜索结果的图文呈现等。但资源和时间是有限的,AB实验也要消耗人力和计算资源,因此在实验前应该将对各方案对结果预估的影响力列出并做排序,选择影响力最大的优先进行AB实验。这样也能保证分组之间只确定一个变量的不同,比如优惠券面额的不同,或者文案设计的不同,在数据解读过程中不会出现各因素重叠的混乱。

确定关键的衡量指标、辅助指标,但不要看过多的观测指标:在确定好要检验的方案以后,我们需要确定关键的衡量指标,除了所关心的核心指标如转化率和购买人数之外,也可以搭配一定的次级指标做辅助判断,比如用户的app活跃时长等。但是这里需要注意,也不宜辅以过多的观测指标,越多的观测指标,对样本量、指标的差异度也会有更高的要求。

受试者数量和分配

要确保参与实验的受试者数量足够多;实验组和对照组通常接近均分(如各50%,检验效能最高),业务上也可按90/10等比例控制劣版曝光——关键是随机且两组同质

不要未经抽样将所有满足条件使用者都放入实验

判断有效的AB实验所需受试者数量,大部分的实验都是通过对用户或者顾客的“抽样“和对比来做决策的,所以分组的随机性并不代表就能产生对决策有意义的效果,比如饮料公司希望开发对年轻人群的新口味产品,若只是选择100个受试者进行测试,即便随机AB组的方法再科学,也无法做出有意义的判断。对于如何选择有效实验最小的实验样本量,我们在下一节结合概率思维做介绍。此外,挑选的实验组和对照组的最终受试者数量应该是对等的,这样可以最大化的保证AB实验的效率。

实验时长设计

要实验组和对照组的测试步骤一致,且都满足达到1-2个完整决策周期的时间

不要对实验组和对照组测试周期错位

在实验时间设计上,总的实验周期要至少覆盖1-2个完整的受试者决策时间,比如电商场景中通常用户购买时间在7天左右(但对于家居和大家电灯产品,决策周期也会更长),因此单个实验周期应该在7-14天,而对于某些即时服务如外卖或者打车,对于实验的时间范围则会短的多。此外要特别注意的是AB实验一定是“同时”进行,不能在实际操作中出现A类实验在周一到周三,而B类实验在周四到周六,这本身就违背了实验分组的“同质”要求,工作日和周末用户行为在很多app场景中都是会有所不同的。一个有名的例子是微软对office在线销售网站所做的AB实验,其数据如表3-3所示,在周五和周六所做的测试中都出现了B设计要好于A设计,但是在整体的转化中出现了A设计要好于B设计的场景。

表3-3 微软office网站AB实验
页面设计A页面设计A页面设计B页面设计B设计A转化率设计B转化率
访问转化访问转化设计A转化率设计B转化率
总计1,490,00025,000510,0006,2301.68%1.22%
周五990,00020,00010,0002302.02%2.30%
周六500,0005,000500,0006,0001.00%1.20%

除了应用于用户增长的场景,AB实验还可以解决对用户文案及UI的选择(9.9包邮价v历史最低价),UI选择(搜索结果列表呈现v信息流大图呈现),以及用户交互逻辑(地图app搜索栏在顶部还是尾部)。从产品开发迭代的视角,AB实验可以帮助评估不同的用户路径方案,结合第四章所要介绍的漏斗分析,留存分析等方法,计算产品对用户体验的提升。从运营活动的视角,AB实验可以优化文案,素材,页面中的模块搭配等,从而实现点击转化的提升。

当然AB实验只是实验思维最具有代表性的落地方法之一,在现实商业活动中会需要多种要素组合的对比测试,也就是多元实验的方法。比如2019年谷歌在旗下的视频网站进行的一项实验中,就对文案图像等形成的1024种实验组合进行了测试,最终优胜的组合带来了用户注册率15%的提升。能在如此复杂的组合下得到实验效果,依赖于足够量级的用户数据以及强大的计算资源。近年来国内多个互联网头部公司也都相继对外输出了线上AB实验工具,比如腾讯云AB实验平台(图3-6所示),字节的火山引擎,百度的峙一,这些都代表了实验思维在互联网+消费时代日益被各类企业所接受,成为辅助企业决策优化重要工具的佐证。

图3-6 腾讯云AB实验平台

实验给了我们数据,但“这次提升是不是纯属巧合”,得靠概率来判断。下面进入量化层。

3.4 概率思维:如何对抗实验中的不确定性进阶 · 点击展开

概率思维的直接应用是在实验完成之后,为所得到的结果做解读的过程。举例来说,某个消费品公司设计了两种主题广告(代言人主题和当季新品主题),在执行严格科学的随机用户分组和投放实验之后,回收数据得到如表3-4所示的广告曝光和转化率。数据显示代言人主题广告的转化率为0.66%,好于当季新品主题广告的0.54%,那么是否能判断代言人主题广告表现更好,我们应该选择作为未来广告的主题?

表3-4 两种主题广告的曝光与转化
人群名称曝光量转化转化率
代言人主题广告56,4803730.66%
当季新品主题广告60,2503250.54%

这个问题的实质,是如何确保0.12%的转化率差异不是市场,时间或者其他额外的因素所造成的?这里就需要概率思维予以判断。概率思维的背后是统计和概率理论,通过对已发生事件的数据统计,识别特定事件发生的概率,从而判断业务动作和结果之间是“偶然”还是“必然”出现的关系。

要回答这个问题,先要了解统计中的概率及概率分布的定义。概率为特定事件发生的可能性,它等于特定事件A发生的次数除以所有事件发生的次数。概率有两个基本的属性:(1)概率是个0和1之间的数,通常以百分比来衡量,如果A不可能发生则为0,如果A全部情况下都发生则为1。(2)若 A、B 两个事件互斥(不可能同时发生),则"A 或 B 发生"的概率为 P(A)+P(B);若 A、B 相互独立,则它们同时发生的概率为 P(A)×P(B)。以最简单的抛硬币为例,抛一次硬币,出现正面的概率是50%,那么连续10次都是正面、或连续10次都是反面的大概是多少?大约都是千分之一(约 1/1024)。

抛硬币只有正反两种结果,但商业和社会场景中所收集的数据范围更广,比如人群的身高,收入,以及用户的外卖订单的金额等数值。为了能更精要的描述出这些数据,统计学上有两类统计指标,一类是描述数据的集中度,如均值,中位数和众数等。日常的商业场景中,均值使用的频率最高,但也极具误导性。比如表3-5是从1月开始连续12个月的新增产品SKU数,若计算平均值得到的是35,但实际上除了11和12月之外,1-8月的新增产品SKU数明显低于35,而9-10月则达到了均值的近3倍。

表3-5 1–12月新增产品SKU数
1月2月3月4月5月6月7月8月9月10月11月12月
151816141515121790953634

因此在描述数据时必须要考虑第二类指标,就是数据内部的离散度指标,主要包括方差,标准差以及四分位数等。其中方差和标准差最为常用,他们都主要描述的是数据中每个数据点和平均值偏离的距离。方差的计算公式为

σ² = Σi=1n (xi − x)²n − 1

其中 x̄ 是数据的均值(此处为35),而n则是样本量12,可以看到这个公式就是用每个数字减去均值,然后求这些结果的平方和,方差的核心概念就在这个相减再求平方和的过程中。

若大范围的对人群的身高,收入,以及用户的外卖订单的金额收集并做归纳,我们会发现它们都呈现出一定的规律,即数据围绕平均值呈现均匀的对称分布,大部分数据会在均值附近,越是远离均值的数据(极大或者极小)则出现的频次较少。这种分布形态被称为是正态分布,是生活中最常见的概率分布形态。基于统计理论的推算,一旦我们确定了正态分布的均值和方差,我们就能得到对任何一个数字可能出现在这组数据中的概率。这个结论在图3-7中形象的展示出来,其中 μ 代表了数据的均值,而 σ 是数据的标准差,均值±1个标准差会覆盖68.3%的数据,均值±2个标准差会覆盖95.5%的数据,均值±3个标准差会覆盖99.7%的数据。在正态分布中,也同样会有类似“连续20次都是正面”的小概率事件,这些事件就会记录在如图3-7的双尾。

μ-3σ-2σ-1σ+1σ+2σ+3σ68.3%95.5%双尾 · α=0.05 显著性区域双尾 · α=0.05 显著性区域钟形(正态)分布:数据越靠近均值越密集,越靠尾巴越罕见
图3-7 正态分布与 68–95–99.7 法则(绿色双尾为 α=0.05 显著性区域)

为什么能用一条钟形曲线来判断"差异是不是偶然"?直觉是这样的:单个用户转化与否(转化或不转化)是随机的,可一旦样本大到几万、几十万,这些随机选择的平均结果会自然聚拢成一条中间高、两边低的钟形(正态)曲线——这背后就是"中心极限定理"。正因如此,我们才有了一套衡量"差异有多大可能只是偶然"的统计检验量,最常用的是 Z 检验和 t 检验。一个实用的选法:比率类指标(点击率、转化率)用 Z 检验,均值类(客单价、下单用户数)用 t 检验。这些检验干的事其实都一样——把观测到的差异,套进上面那样的钟形图里,看它落在大概率的"肚子"上,还是小概率的"尾巴"上。

如何判断两组各130万的用户之后,出现了转化率之间相差0.12%的差异在概率中的位置?概率思维对于这类问题的解法称为“假设检验“,它实际上是统计语言来解释实验方法设定目标,验证结果的过程。对实验者来说,实验的第一步是设定实验目标,而概率思维的第一步是设置默认假设(也称零假设)。实验目标是商业语言,而概率的默认假设就是将这个商业语言翻译成为统计语言,在检验代言人主题和当季新品主题对于用户的转化,在概率中则会对应的设置为“两组广告在转化率上并没有显著效果“。

之所以不直接将默认假设设置为“代言人组广告比当季新品广告转化率更好”,是因为在AB实验中,我们要尽量避免预先设定的正负向效果。对于指明了方向的假设,即便得到的答案是否定,也可能是介于“两个广告无差别”和“当季新品广告转化率比代言人组广告好“这两者之一。因此在AB测试时,通常只设置“无显著差异”作为默认假设。

回到开头那两个广告:我们已经设好零假设(两组无显著差异),现在进入第二步——计算检验统计量。由于转化率是两个比例,对应的检验统计量是 Z 统计量,它的公式为

Z = P1 − P2√P1(1−P1)N1 + P2(1−P2)N2

套回广告案例:分子是两组转化率的差异 0.66% − 0.54% = 0.12%,也就是我们真正关心的"信号";分母是把两组样本各自的波动(标准差)合在一起算出的"噪声"。Z = 信号 ÷ 噪声,衡量的是"这点差异相对随机波动到底有多大"。代入数据得到 Z = 2.65。

第三步是用Z评分和临界值去做比较,得到验证结论。这里需要引入“显著性水平”这个概念。如果我们把最终的临界值当做为考试设定的及格分数,显著水平则类似于我们要控制多少学生能够及格。显著性水平越低,对应着我们的考试难度越大,两个数据之间的差要足够大,才能推翻原假设。相反的,显著性水平越高,对应着我们考试难度低,就表示原假设越容易被否定,假设检验越激进。

在实际操作中,没有对显著性水平的明确规定,但通常是以0.05作为较为合适的标准,如果某些要求更严格的实验数据解读,也可以选择0.01的显著水平。这里我们选择0.05作为显著水平,通过查找临界值水平表,我们可以得到对应的值为±1.96。之所以出现正负两个值,是因为我们做的是“无显著差异“的假设,因此显著的好或者差都能作为问题的答案,这个检验逻辑也称为双尾检验。结合图3-7的绿色双尾可以形象的理解这个双尾的概念。

如果计算出来的Z评分在对应的临界值之间,则认为原假设不能被推翻,反之若Z评分大于1.96或者小于-1.96,则我们认为原假设不成立,这就是假设检验的统计显著性检验结果。我们计算出的Z评分2.65远高于1.96,因此可以判断为统计显著,也就是我们所观测的两组均值之间的差异并非是随机产生的误差。这句话再翻译成为商业语言,就是可以认为代言人主题的广告比当季新品的广告能带来更高的转化率。

有了对于上述对结果统计显著性的解读,则可以反推出在设计实验人群时,我们所需要的用户数量。比如对于当前转化率为5%,若期望能在数据中至少检测到10%的提升(即能够将转化率提升至5.5%),在默认的实验显著性要求下(显著性水平为0.05),那我们需要的是至少实验组和对照组各有30,244个用户。

在汇报 AB 实验结果时,除了把两组转化率直接比较、算出 p 值,也可以用置信区间来描述。先说 p 值:它回答的是——如果两组广告其实没差别,我们却看到至少这么大差异的概率。p 越小,说明"纯属偶然"越站不住脚;通常 p < 0.05 就认为偶然解释不通,即"统计显著"。但 p 值只告诉我们"有没有差异",不告诉我们方向(变好还是变差)。因此,我们可以把 Z 检验量稍作调整,改成"区间估计"的公式:

(P1 − P2) ± Zα/2 · √P1(1−P1)N1 + P2(1−P2)N2

公式中的是检验时所使用的临界值,在0.05的显著度下取值为1.96。这个区间公式被称为置信区间,它的计算目标是确定两组之间差异,在95%的概率下会覆盖什么范围,我们需要检查的是这个范围是否包括0,如果包括则意味着两组之间可能没有差异,如果不包含0则表明有显著差异。将案例中的数值应用到公式中,我们可以得到的是代言人主题的广告相对于当季新品的主题广告,转化率差异的置信区间为 [0.03%, 0.21%]。这个置信区间并不包含0,所以我们不仅能判断出两组之间在转化率上有显著差异,还能知道代言人广告在95%的概率下会比当季新品的转化率高0.03%到0.21%。置信区间能告诉我们相对于对照组,实验组在指标上表现的更好或者更差,以及所对应的范围,这无疑是带来了更多的业务信息。

Z检验用于横向比较不同组之间的差异,在一些需要将所抽取的样本指标均值和已知的总体均值之间比较时,则可以使用t检验。比如已知用户在使用APP之后三个月的平均消费是800元,在一批从新渠道注册加入的用户观测三个月后,他们的累计消费额如表3-6所示。

表3-6 新渠道注册用户三个月累计消费(单位:元)
85230912041424
374779588940
1207862954755
109233813141287
10811350649988

t检验的计算公式为

t = x − μS / √n

其中 x 为样本的均值(本例计算得到917.35),μ 为已知的总体均值800,S为样本的标准差(本例计算为340.46),n则为样本数量20。按照上述公式计算得到t检验统计量为1.54,经查小于在样本量20、显著度0.05下的临界值2.09,则我们得到的结论是接受零假设,即新注册用户的三月消费和已知的800元之间没有显著的统计差异。t检验也是在回归分析中用于评估各个X变量是否有统计显著性的方法,我们在第四章检验回归分析结果时会再做介绍。

需要注意的是,不显著的实验结果并不代表实验对业务没有意义。概率思维中,统计显著性衡量的是业务结果的变化,是不是由随机波动的市场和商业环境所带来的。但是否统计显著,受到了我们对结果显著度要求的影响,同样的数据差异在0.05水平是显著的,但在0.01的水平则可能是不显著的。所以在日常的数据分析中,我们除了统计显著性,也会更关注业务的显著性判断。在两个显著性之间权衡以作决策,比如下面两种场景:

1. 设计A 测试组比对照组提升20%,p值0.1

2. 设计 B 测试组比对照组提升0.3%, p值0.0001

在实际场景中,尽管概率结果会指向设计B,但是通常我们会选择设计A做更深入的分析:这个业务提升的效果在后续的实验是否还能再现?是什么因素造成了巨大的业务提升?在这种数据结果下,合理的方法是对设计A中做用户和设计上的进一步分拆,得到若干个更细分的AB实验,从而找到有业务增长潜力的细分组合。

对数据背后的分布和概率有了概念,能够有效的避免在工作中出现只知道讲平均值这样的基础错误,能更全面地看清数据的变化趋势。本节的概念重点可以归纳为一个定理即中心极限定理,两个统计量(z检验和t检验),以及均值,方差和标准差这三个基本统计概念。通过随机分拆方式设计合理的AB实验,并且对实验结果进行统计和业务上的解读,是我们目前解决对策略动作和业务结果之间探索的主要方法。

概率能告诉你差异是否“显著”,但“显著”不等于“因果”。要回答“到底是不是它导致的”,需要因果思维。

3.5 因果关系:走向更有信心的决策制定进阶 · 点击展开

通过实验和概率思维,我们对于"在解决问题、落地过程中,如何验证是由我们的策略动作带来的商业结果?"这一问题的回答在逐步深入,但在实操中我们可能会遇到某些特殊场景,无法采取随机可控实验的方法,因此也无法用统计显著性去推算因果关系。试想下面这个场景:

在盒马这样的生鲜零售中,蔬菜、肉类和烘焙产品的保质期极短,如何设计最佳的价格折扣策略,尽可能在保质期内销售完所有商品且实现收益最大化。这种场景下销售受商品类型、门店以及折扣力度的影响波动极大,且单个商品在历史数据中所呈现的折扣数据稀疏,更无法实现门店层面的人流随机分配。"如果给这个面包打2折或1折,销售量会是多少?",这个无法观察的可能性被称为"反事实"。在日常生活中,类似的思考也经常会出现,比如"如果当时在这个项目中我再努力一下,这次就有可能升职了",但努力之后是否升职的事实已经无法被观测。现在我们需要挑战的,就是这种在无法进行随机可控实验的时候,依靠已经发生的事件和逻辑关系所做的逆向推算。

双重差分(difference-in-differences)是应对这种挑战的解决方法之一,本质上是一种准实验的因果推断方法:它不依赖随机分组,而是通过构造"如果没有这个策略,实验组会怎么变化"的反事实对照,来估算策略本身带来的因果效应。它的计算逻辑是在准实验假设下,比较实验组和对照组在业务动作前后各自变化(difference)之间的差,所以称之为双重差分。

实验组差D1=实验组试验后的数据指标-实验组实验前数据指标
对照组差D2=对照组试验后的数据指标-对照组实验前数据指标
实验所产生的效果(DID)=实验组差D1-对照组差D2

假定我们现在期望在上海地区投放电视广告推广某教育类 APP,由于无法进行人群随机分组,因此也无法做 A/B 测试。为了能够说明这个广告对于上海市场的影响,我们选择了与上海经济水平、生活习惯相近的浙江作为没有广告播放的对照组。经过对比看到广告带来了 882 个增量的下载次数。从数据决策角度,若 DID 的差异足够大,则可以认为业务动作有较为积极的效果。

表3-7 上海与浙江广告投放前后的下载量(示例)
分组广告前下载数广告后下载数变化值(后−前)
实验组(上海)210042302130
对照组(浙江)230035481248
实验效果(DID)2130 − 1248 = 882

使用双重差分需要依赖两个重要前提。第一,实验前两组的目标指标没有显著差异;在我们的案例中,上海和浙江广告前日下载 APP 数量相差约 200 个(约 9%),可认为是接近的。第二,实验组和对照组满足"平行趋势"——即在业务动作之前,两组指标的变化趋势一致。图3-8用图形展示了 DID 的分组:在比较理想的状态下,业务动作前两组指标都在上升且差距稳定;业务动作后实验组趋势明显上扬,而对照组仍按原趋势走。图上从 A1 出发的虚线 C 点,就是我们无法观测到的反事实路径(假设上海没有投放广告时会到达的位置),A2 与 C 之间的垂直距离就是我们期望用 DID 测量出来的业务动作效果。

图3-8 因果关系中的双重差分方法
图3-8 因果关系中的双重差分方法

我们也可以从这两个要求看出,双重差分为代表的因果关系推断方法,可以认为是"准实验"的方法,即在没有随机拆分时,用人工构造实验组和对照组,配合上实验前后的数据来验证业务动作的效果。如果无法满足"平行趋势"条件,也可以使用倾向得分匹配(PSM)等方法,也就是用人工方法构建更为同质的实验组和对照组。

若期望更进一步量化策略效果,我们可通过回归分析的方法做统计验证因果关系。把"是否实验组""是否干预后"作为两个虚拟变量放进同一个模型,对应的标准 DID 回归公式为:

Y = β0 + β1·Treat + β2·Post + β3·(Treat×Post) + ε

其中 Treat=1 表示实验组(上海)、Post=1 表示广告投放后的时段,交乘项 Treat×Post 的系数 β3 就是我们要的 DID 效应——它衡量"实验组在干预后的变化,比对照组多出来多少"。回归拟合后(具体方法第四章介绍),关键不是只报 β3 这个点估计,而是看它是否统计显著:这正是 3.4 学到的 t 检验与置信区间在因果场景的复用。但 2×2 汇总表只有 4 个数字、没有自由度,算不出标准误,因此我们需要更细的面板数据。

用面板数据验证 DID 是否显著

把"上海 / 浙江"两地每天的下载量当作一行,形成 2 城市 × 30 天 = 60 行的面板(示意数据,日度均值与表3-7 的汇总一致)。套用上面的回归,得到如下系数表:

表3-8 双重差分回归结果(示意,异方差稳健标准误)
变量系数 β稳健 SEt 值p 值95% 置信区间
截距 β0143.675.3526.83<0.001[133.17, 154.16]
Treat β1(组别差)−2.209.60−0.230.819[−21.02, 16.62]
Post β2(时间趋势)90.208.4110.73<0.001[73.72, 106.68]
Treat×Post β3(DID 效应)57.6013.194.37<0.001[31.76, 83.44]

怎么读这张表(复用 3.4 的语言):β3 = 57.6 是日均增量下载;它的 95% 置信区间 [31.76, 83.44] 不含 0,对应 p<0.001——意味着"上海比浙江多出来的这 57.6 次/天,纯属偶然波动"的概率不到千分之一。把 15 个投放日累加 ≈ 864,与表3-7 汇总出的 882 基本吻合。由此可以下结论:这次电视广告带来的下载增量统计显著,不太可能是巧合。

顺带看 β1 与 β2:β1 不显著(p=0.82),说明广告投放前两城本就接近(呼应"前提一");β2 显著为正,说明即便不投广告,下载量也随时间自然增长(对照组自身的趋势)。正是扣掉这层"自然增长"后,才显出广告的净效应。

100150 200250300 日均下载量(示意) 投放广告 实验组(上海) 对照组(浙江) DID 效应 实验组额外上移 ≈ +57.6/天 干预前(广告未投放) 干预后 干预前:两组斜率平行 对照组沿原趋势
图3-9 平行趋势示意:干预前两组斜率平行(满足 DID 前提),干预后实验组明显上跳、对照组沿原趋势,两线间距的扩大即 DID 效应

总结与思考

在《为什么》这本著作中,作者把我们对两个事件之间关系的探索分为三个阶段。第一个阶段是关联类的分析,我们通过对历史数据的分析,看到了X发生的时候Y也发生了,做出归纳和判断。大数据机器学习等方法和背后丰富的数据资源,也仍然是偏向以相关关系来对未来做预测。第二个阶段是我们过去两节所探讨的,用实验方法来看“干预“的效果,也就是如果我对X做了改变,Y会怎么样。至少这种方法会让我们避免做出冰淇淋销售量高导致溺水人数上升,或者是一个国家巧克力销量高会导致该国诺贝尔奖获奖人数多的结论。通过双重差分方法可以补充我们在实验方法无法使用的场景中,对业务动作和商业结果之间关系的认知,进一步提升决策的效率。

从实战角度出发,本章的要点是通过结构化思维(逻辑树+MECE)来拆解问题,同时能“向上看”拔高思维视角,能够设计科学有效的商业实验并给与合理的数据解读,以此作为数据分析的核心思维模式。接下来第四章介绍的分析方法中,业务分析方法是对结构化拆解的集中体现,而用户类分析方法及进阶模型分析方法则融合了实验和概率思维,“道”和“术”之间一一对应。

本章介绍的系统、实验、概率以及因果都有独立的学科体系,很多问题值得探讨:实验中如果出现了社交网络的影响如何判断,比如在微信上做的朋友圈广告测试,但朋友之间可以相互分享;概率论中还有与本章所介绍的频次概率不同的贝叶斯学派,后者会让我们对如何判断事件发生的「概率」有新的认知;因果关系更是让无数学者着迷的问题,它辐射社会科学和自然科学的多个领域。本章也留给有兴趣的读者几本相关著作作为延伸阅读:

《金字塔原理》,芭芭拉·明托, 汪洱 (译者), 高愉 (译者),南海出版公司

《为什么》,朱迪亚·珀尔, 达纳·麦肯齐 ,中信出版社

《AB实验 科学归因与增长的利器》,刘玉凤,机械工业出版社

↑