标签归档:转化率

大数定律与抽样陷阱

law-of-large-numbers  前面一篇文章——难以解释的数据异常——发出来之后,朋友推荐我去读《黑天鹅》,刚刚翻完这本书,发现书中的很多观点和细节的表述都能给人启发,尤其是“叙述谬论”和“过度解释”这个两点能对难以解释的数据异常这篇文章中描述的内容给出另一个侧面的解释。从作者塔勒布的后记和书中表述的观点来看,读过这本书的人可能很容易走入两种认识的极端:

  1、既然一些未知的黑天鹅事件可能对我们造成极大的影响,那我们就应该去努力预测这些未知事件,以便做好充分的准备来应对这些事件。但作者在书中明确说了黑天鹅事件的不可预测性;
  2、既然我们无法预测未知,并且未知事件可能对我们的生活造成翻天覆地的影响,我们只能不去做任何的预测和准备,等待命运的审判。但书的副标题是“如何应对不可预知的未来”,所以作者塔勒布并不认为我们什么都做不了,至少能够认识到黑天鹅的存在,打破传统思维的局限性,谨慎地预防,黑天鹅是未知的未知,我们需要为已知的世界和已知的未知做好准备。

  《黑天鹅》中多次提到大数定律可能会愚弄我们,作为数理统计和概率论中两个经典的理论(中心极限定理和大数定律)之一,为什么遇到黑天鹅事件时就会失效?或者说大数定律在遇到任何的小概率事件时都有可能“失效”,需要谨慎地认识,以防掉入应用中的陷阱。

大数定律

  大数定律(Law of Large Numbers),指在随机试验中,每次出现的结果不同,但是大量重复试验出现的结果的平均值却几乎总是接近于某个确定的值。典型的例子就是抛硬币的伯努利试验,当抛硬币的次数足够多的时候,正反面出现的概率都接近于1/2。

  常用的大数定律有伯努利大数定律和辛钦大数定律。其中伯努利大数定律指在n次独立试验中,事件A发生的频率为p,当n足够大时,p无限接近事件A真实的发生概率,即频率的稳定性;辛钦大数定律指若n个独立同分布的随机变量存在数学期望,则当n越大时,其算法平均数越接近于这些随机变量的真实数学期望值,即均值的稳定性。

  大数定律为统计推断提供了充分的理论依据,我们可以通过抽样的方法用样本统计量的特征去估计总体的特征,而不需要去研究整个总体。当样本的数量越大时,其对总体的估计就越接近总体的真实特征。但在面对小概率事件时,大数定律对总体的估计会显得无能为力,很多时候结论是失效的。

小概率事件

  假设我们进行重复10000次的伯努利试验,事件A、B、C发生的次数均满足二项分布X~B(n, p),n代表试验次数,p代表事件发生的概率。其中事件A发生的概率为10%、事件B发生的概率为1%、事件C发生的概率为0.1%。我们知道,满足二项分布的随机变量的均值是np,方差为np(1-p),于是就可以用变异系数CV(具体内容参见衡量数据的离散程度这篇文章)来衡量这3个事件发生次数的变异性或者波动情况,可以得到如下的结果:

事件 试验次数 发生概率 均值 方差 变异系数
A 10000 10% 1000 900 3.00%
B 10000 1% 100 99 9.95%
C 10000 0.1% 10 9.99 31.60%

  从上表中可以看出,当试验的次数保持恒定时,事件发生的概率越低,则事件发生的次数会存在越大的波动性或者波动幅度,如果我们继续降低事件发生概率,比如事件D发生概率为0.01%,也就是10000次试验中发生的期望次数是1次,那么事件D的CV就高达99.99%,完全无法预判其是否发生。所以在相同的条件下,小概率事件一定比普遍发生的事件存在更大的变数,概率越小波动的幅度就越大。

抽样误差

data-sampling  随着网站数据量的不断增大,数据的处理和统计需要更高的成本,于是有些分析就会借助抽样的方法来处理数据,Google Analytics的免费版当数据量达到上限时就会采用抽样的方式显示结果报表。其实很多时候我们都在使用抽样的方法分析数据,我们可能会用最近7天的数据来评估近段时间的流量变化、转化情况等,但7天并不能完全代表近段时间,其实做的也是一种抽样。下面来看看现实的网站数据分析的例子:

  转化率(Conversion Rate)是网站分析中非常重要的一个指标,很多公司会把转化率当做运营产品部门的KPI,但对于很多网站而言,转化率并不大,一般不会超过10%(根据网站业务特征的差异和对目标转化的定义不同,转化率在不同网站间没有一个恒定的标准,也不具备可比性),如果网站的内容质量不高或者用户体验不好,转化率也很可能低于1%。这个时候如果用抽样的方法来预估网站整体的转化情况,就很容易掉入抽样误差的陷阱。

  网站的转化情况其实是一个二项分布,即转化或未转化,满足X~(n, p)。根据中心极限定理,二项分布的极限是正态分布,一般认为当np和n(1-p)同时大于10时,二项分布近似地满足X~N(np, np(1-p))的正态分布,即均值为np,方差为np(1-p)。将二项分布除以n之后可以得到均值,即概率p的分布,当n大于30时,近似服从N(p, p(1-p)/n)的正态分布,即均值为p,方差为p(1-p)/n,当n无限大时,样本概率p与总体概率就不存在误差,也就是满足大数定律。假如我们从网站每天几百万次的访问中抽样1万次访问来预估整体的转化率,当样本的转化率(即概率p)分别为10%、1%、0.1%时,预估的总体转化率的变异系数同上表,分别为3.00%、9.95%、31.60%(可以用均值为p,标准差为sqrt(p(1-p)/n)进行验证),所以样本转化率越低,使用样本转化率去预估总体转化率就会越不准确。

  既然过小的转化率在抽样中可能导致预估的结果存在巨大的误差,那么如何合理地选择样本数量来控制这个误差?上面已经提到,当二项分布的np和n(1-p)同时大于10时,可以认为近似满足正态分布,在正态分布下面,就可以计算在一定置信水平下的置信区间(详细计算方法见参数估计与置信区间中的区间估计),而要让抽样的误差控制在可接受的范围内,可以增加抽样的样本数来提升样本对总体估计的可信度。

  假设我们将置信水平设定在90%(一般认为95%的置信水平是满足统计学意义的,但互联网的数据影响因素较多,普遍波动较大,不需要科研实验那么高的精确度,所以90%的置信水平足够了),即Zα/2取到1.65,我们对转化率的控制一般要求较高,假设在90%的置信水平下,样本的置信区间必须控制在样本转化率的±10%,可以看下在这种条件下各种转化率水平所需的抽样样本数必须满足怎么样的条件:

转化率 10%的转化率 σ需要满足 n需要满足
10% 0.01 <0.00606 >2451
5% 0.005 <0.00303 >5174
1% 0.001 <0.000606 >26958
0.1% 0.0001 <0.0000606 >272032

  上表的样本数条件可以作为我们抽样时的参考,具体的应用可以根据概率的大小和对置信水平、置信区间的需要进行计算得到。

  最后再回到黑天鹅,通过上面对小概率事件和抽样误差的解释,其实已经很明显了。黑天鹅是极小概率事件,可能几十年几百年才遇到一次,而大数定律是一个理想化的状态,也就是n值趋近于无穷,我们很难在人生短短数十年经历很多小概率事件,或者我们的知识阅历的储备无法包含这么多的异常,很多事情在几十年的“抽样样本”中是不存在的;同时因为时代在快速地变化,当前可能发生的事件可能仅限于当前这个环境,我们无法通过历史去预见未来。于是我们完全没法知道黑天鹅事件发生的可能性,甚至不知道它的存在,即黑天鹅事件是未知的,也是无法预测的。

  春节前的最后一篇文章了,提前祝大家春节快乐,一起期待下一年的精彩! :D

Google Website Optimizer报告解读

google-website-optimizer  前段时间用博客的几个测试页面尝试了下使用Google Website Optimizer做A/B测试,经过这段时间收集了一些测试数据,感谢大家帮忙点击。其实之前一直想介绍Google的这个网站对比实验优化工具,完全免费而且操作简单,并且在不久的将来独立的Google Website Optimizer就会消失,这块功能会被整合到Google Analytics里面,相信很多GA的用户已经在Content模块中发现了新增的Experiments这个功能,这个就是从Google Website Optimizer衍生而来,功能和使用上面应该会有些调整和变化。

  对于Google Website Optimizer的使用其实并没有那么复杂,使用实验的创建向导结合网页的提示和帮助,普通的用户创建自己的实验完全没有问题,只是网站的千差万别可能有很多的细节方面需要注意,或者需要想一些办法让实验过程和监控结果更加有效。所以这里不介绍GWO工具使用本身,我比较感兴趣的其实是实验输出的结果报表,里面涉及对结果的区间预估,测试方案胜出的概率,提升幅度等,这些指标都用统计学的方法计算得到,相比直接比较两组观察值,比较结果更加科学,更具说服力。

  首先看下GWO输出的报告,这里用的是A/B测试,如果使用Multivariate Testing(MVT)报告会有细微的差异,但指标及统计逻辑应该是相同的:

GWO-Report

  我用GWO实现了一个最简单的A/B测试,一个原始版本和一个测试版本,输出的报告主要是比较实验过程中设定的转化率。上方的折线图显示的是原始版本和实验版本的转化率趋势,截至目前的转化情况显示在下方表格的最右侧(Conv./Visitors),从指标名称看,GWO衡量转化率用的是转化的用户数,应该使用Cookie来唯一识别用户(这里仅是在博客新建了几个简单测试页面,所以数据量较小,而转化率相比正常网站都明显偏高)。

  所以,这里重点研究了下图中表格红框内的3个指标,看它们是如何计算得到的。

估算转化率

  从图中红框1中可以看到Est. conv. rate,GWO报表对目前得到的转化率做了正负区间的预估,进而可以得到目前该版本转化率可能的置信区间(详见前一篇文章——参数估计与置信区间),这里用当前的转化率估计该版本的总体转化率p,进而可以计算得到总体标准差σ= sqrt(p(1-p)/n),比如这里原始版本的总体标准差约为0.0540,而测试版本的标准差约为0.0647,根据Zα/2×σ计算得到的上表中正负的7.6%和9.1%,所以我们就可以猜出GWO用的Zα/2大概为1.4,这个数值我在测试期间接连验证过几次,基本非常稳定,根据Z值表,这个置信区间大概的置信度在84%,也不知道为什么GWO要选择这么个置信度。

  红框1的上方我们可以看到GWO根据测试的效果将测试版本分成了三类,分别用绿色表示胜出的测试版本,黄色表示不确定的测试版本,红色表示落败的测试版本。Google仅给出了简单的说明,建议我们可以选择使用显示为绿色的版本,因为它们有很大的可能性(也只是可能)优于原始版本,而显示红色版本建议可以停止测试。具体到指标需要达到怎样的水平才会显示绿色或红色,我没有去验证,有使用经验的或者感兴趣的同学可以去观察下试试。

胜过原始版本的几率

  之前在T检验和卡方检验这篇文章介绍过可以使用卡方检验的方法来比较二项分布数据间的概率是否存在显著差异,但卡方检验只能检验差异的显著性,没法直接说明某组样本的概率有多少的几率超过另外一个样本,所以在GWO的报告里面没有使用卡方检验,而使用了单尾Z检验。当样本数量超过30的时候,我们一般会使用Z检验来替代T检验比较两组独立或配对样本间的均值差异,因为这里只是为了证明一组样本概率明显超过另外一组样本的可能性,所以使用了单尾检验。计算Z统计量的公式如下:

Z-Test

  根据表格的数据,原始方案和测试方案的转化率均值p分别为78.9%和78.0%,根据公式S2=p(1-p)分别计算两组样本的方差为0.1665和0.1716,而两组样本数n分别为57和41,进而计算得到Z=0.1068,查Z值表可得Z=0.10的概率为46.02%,Z=0.11的概率为45.62%,表中显示的Chance to Beat Orig.=45.9%,介于两者之间,使用的应该是类似的统计方法得到的值,偏差是因为中间精度处理引起的。

观察到的改进

  图中红框3的Observed improvement,这个指标需要结合红框1的转化率置信区间来看,结合条形图可以比较清晰地得出结果,看下我用Excel画的展现估算转化率的类似条形图:

GWO-est-conv-rate

  这里我用了两条辅助的虚线,如果第一个是原始版本,那么测试版本所有与原始版本转化率预估区间的差异都会用颜色展现,而观察到的改进就是着色区间的转化率差异。比如图中第二个条形的红色区间展现的相应值为-4.2%,而第三个应该是-1.6%+0.6%=-1.0%,即左侧的负值区间加上右侧的正值区间,第四个为2.9%。这样GWO报表中所有指标的计算都可以明确了 :)

  其实,大部分时候我们使用工具来完成分析或测试的过程,也不一定非要了解所有指标最底层的计算逻辑,我们只要知道这些指标的含义及作用,在分析具体问题时合理地使用这些指标就可以。而有些时候我们只能统计得到一些基础数据,所以如何使用这些基础数据得到一些有价值有说服力的分析结论就需要用到一些合适的统计学方法,这也是这篇文章去解读GWO输出报表的原因。

关键指标背后的秘密

secret-of-kpi  前面的一篇文章介绍了可以用来评估KPI的数据上下文——质量控制图,通常我们会用KPI来衡量一些内容的质量、流量的质量,以及访问的质量等,我们经常根据KPI指标直接排序,并认为排在前几名的就是优质的内容,但其实这种方式并不是对所有的KPI都有效。举个最简单的例子:转化率Conversion Rate是很多网站的KPI指标,一般我们会让为Conversion Rate越高则渠道质量越好,或者内容质量越高,但有一种情况,如果网站内容普遍的转化率为10%,但有一个内容的访问次数一共2次,其中有一次实现了成功的转化,那该内容的转化率就是50%,是不是很“高”?是不是真的有这么高?

  所以我们在分析关键指标的变化趋势,控制KPI的质量的时候,还需要注意一个问题,那就是如何运用KPI进行有效的评价

  其实Google Analytics已经给了我们答案,在前段时间推出了Weighted Sort(赋权排序)的功能,Avinash Kaushik先生在先前的博文——End of Dumb Tables in Web Analytics Tools! Hello: Weighted Sort对这个功能做过介绍,因为近段时间需要用到这个功能,但我的数据并不在GA上,所以我必须自己设计一套给关键指标赋权的体系,以发现到底这些KPI值可以达到多少预期,这里来分享下我的应用实例。

KPI期望值公式

  还是以转化率Conversion Rate为例,电子商务中每个商品的转化率应该是:购买该商品成功的数量/该商品被浏览的次数,所以从统计学的角度来看,当商品的浏览次数(不妨叫做基数,数学上的集合元素个数或者统计学上的样本总数)这个基数越大时,转化率CR的置信度也就越高,同样是10%的转化率,浏览次数为1000的商品显然要比浏览次数只有100的商品在转化率这个数值上的可信度要高,统计学上称为“大数定理”。

  根据上面的结论,我们需要根据每个商品转化率的真实值(Actual Value),权衡它的可信度,进而计算得到该商品转化率的期望值(Excepted Value),而这里的可信度就是真实值可以获得的权重,比如60%,那么还有个问题,既然是加权和,另外的40%的权重应该由什么来中和呢?参考GA中Weighted Sort的计算公式,用的是均值,也就是所有转化率的平均,非常不错的idea,于是我们可以得到以下公式了:

期望值(Excepted Value)=权重(Weight)×真实值(Actual Value)+(1-权重)×均值(Average Value)

  我们看看哪些数据我们现在就可以拿到,权重显然还不行,真实值应该已经统计得到了,均值?既然有了所有的真实值,那么均值就是一个取平均的简单计算了。好的,那下面就说说我是如何来确定这个权重的。

权重的确定

  先看看权重需要符合哪些原则,应该表现为怎样的一个特征。显然,权重的取值范围应该在[0,1],也就是0到100%之间;另外,权重跟基数应该是正相关的,也就是基数越大,权重应该越大。如果你看过我之前的文章——数据的标准化,是不是已经想到了什么?是的,里面有几个公式可以直接用,简单地说,就是将基数进行归一化处理。

  KPI的基数一般都是自然数,比如转化率的浏览次数、Bounce Rate的访问数,人均消费的用户数等,所以反正切函数atan不适用,min-max和log函数都适用,可以用散点图简单看一下分别用这两种方法归一化之后权重和基数的变化关系:

Min-max

min-max-plot

  Min-max是直线的正相关,也就是权重和基数同比例地变化,变化速度一直。

Log函数

log-plot

  Log函数是对数曲线的正相关,也就是权重的变化速度要比基数来得快。

  根据这两个方法的特征,我选择了log函数作为权重的计算函数,因为它更符合基数和可信度之间的关系。

应用实例

  既然KPI期望值的计算公式,及公式所有需要的数据都已经可以得到了,那么我们就来看看,KPI的基数是如何影响KPI的期望值的:

log-weight-fit

  即基数越大,期望值越接近真实值,反之,则越接近平均值。算法和公式确定之后,我们就可以将其应用到实际的案例当中去了,这里以网站的转化率CR为例,看看这个KPI期望值的算法是不是有效的。

渠道 进入访问数 转化访问数 真实转化率 权重 期望转化率
渠道1 1534 118 7.69% 79.81% 7.51%
渠道2 9817 641 6.53% 100.00% 6.53%
渠道3 682 43 6.30% 70.99% 6.45%
渠道4 136 11 8.09% 53.45% 7.49%
渠道5 795 69 8.68% 72.65% 8.17%
总计 12964 882 6.80%    

  表格中的例子是用转化率评价每个渠道流量的质量,比对加权前后的转化率情况,可以看到渠道4由于进入的访问数(基数)较小,所以预期的转化并没有真实值反映的那么好,甚至要差于渠道1;而渠道1因为基数较大,其真实转化率基本能够反映现实情况,渠道2因为基数最大,所以期望值就是实际值。

  你也不妨试着用上述的方法转化下你的KPI,发掘一下KPI背后到底隐藏着哪些真相,也许你会发现转化后的结果更加可信,更加能让数据需求方所接受了,那么这个转变就成功了。不要忘了在评论中发表下尝试后的感想,分享下你的使用经历。 

关键转化路径优化

  其实网站分析中很重要的一块就是网站的关键转化路径分析,可能很多的网站分析师在这一方面都倾注了大量的时间和精力,尽最大的努力寻找最优的转化路径,因为优化关键转化路径相当于提高转化率,进而提高网站收益。所以,尤其对于电子商务网站或者付费服务网站而言,关键转化路径分析尤为重要。之前的文章——网站转化率与漏斗模型对关键路径的定义和分析做过简单介绍,同时推荐了一个非常形象的数据展现方式——漏斗模型,能够让每一步的转化看起来一目了然。

  既然对关键路径和转化率的定义和计算已经做过介绍,这篇文章不再累赘,这里只是想分享一下近段时间在统计关键路径的数据时对数据表现出的特征的一些感受,不知道跟大家日常看到的想到的是否一样。

  其实对网站转化路径的优化无非就是一句话:简化、多样化关键转化路径

简化转化路径

  简化转化路径是近些年在关键转化路径分析优化方面讨论的较多的,同时大部分网站也都是朝这个方向在做,也带来了不错的效果。简单看一下电子商务网站转化路径的简化流程:

original_path

  首先是把放入购物车作为了可选步骤,而不是必需步骤,购物车可以为购买多种商品的顾客带来方便,因为可以统一下单,也就是只需要完成一次订单填写和确认的工作;而对于只购买了一样商品的用户而言,显然放入购物车步骤是一个累赘,直接拿着商品结账就完了。

  再者就是前段时间网上讨论很多的对注册和登录步骤的简化,用户选择购物和选择成为网站的会员完全是两码事,为什么买东西就一定要先注册成为网站用户?就像你去超市买东西为什么一定要办一张会员卡。当然注册成为网站会员可以为你下次的购买带来不少的方便,对于网站而言,只有用户注册才能构建器网站完整的CRM系统,实现用户的跟踪分析和用户的保留,所以一度注册登录是网上购物的必需步骤。但随着去年团购网站的纷纷涌现,用户对去每个网站消费都要注册一遍感到了厌烦,于是就有了简化注册的讨论,毕竟给网站带来直接利益的还是用户的购买行为,没有必要因为注册步骤的存在而引起潜在消费用户的流失。

多样化转化路径

  其实上面说的“放入购物车”从必需的步骤到可选的步骤就是一个转化路径多样化的实现,这种灵活的选择同时满足了购买单独商品和购买多种商品的用户需求;但这里要说的是另一种多样化的形式。

  先简单再看下上面的转化步骤,有哪几个是必需的步骤?商品、订单和支付,这3个分别代表了信息流、物流和资金流,是必需的(对于某些不需要物流的虚拟商品而言,订单步骤也是可以省略的,这里不考虑这类商品)。所以最简单的转化路径应该是:

simplest_path

  跟上面简化后的步骤比较下:

simplify_path

  少了一个浏览商品详情页面的步骤,我们先不去讨论这个步骤到底是否是必需的,先看下数据能告诉我们什么?

  刚好公司的产品同时提供了以上的两种转化路径,可以通过数据来分析一下这两种路径哪个更加有效。不妨将上面那条最简化路径叫做路径1,下面的叫路径2,先看下用户的选择,有多少用户选择路径1完成购买,数据的结果大概是50%,也就是选择路径1和路径2的用户几乎相等;再看看下从“确认订单”到“完成支付”的转化情况,这是两条路径都有的转化,数据显示路径1的转化率要比路径2高了30%,可以看到选择路径1的用户具有更加明确的目的性,就是为了完成购买;那是不是如果只提供路径2一种选择,那些有明确购买目的的用户即使走路径2也会产生跟路径1一样的转化质量呢?这个显然是不可能的,一旦转化步骤多了一步,肯定会多多少少伴随着部分用户的流失,数据显示如果只提供路径2,整体转化率要比提供两条路径低了20%左右,所以对于这个案例,提供两条转化路径对于整体转化率的提升上显然是有效的。

  当然每个数据分析的结果都是以运营环境及产品业务的特征为基础的,在不同的商业模式下完全相同的分析指标可能得到的是完全不同的结果。所以需要对以上数据的环境做个说明:移动互联网的网络环境使用户多请求一个页面的成本相对较高;产品的规格比较统一,差异性小,质量比较稳定;运营的商品价格较低,对于用户而言购买的风险相对较低。

  现在再来回答上面的问题——商品详情页面是不是必需的?用户总是在寻求最简单有效的实现途径来降低成本,但同时也会担心风险的存在,而不同的用户对待风险的态度又会有所不同,诸如上述的运营环境,当风险相对较小时,会有相当一部分用户选择最简化的转化途径来满足自身的需求,同时那些较为严谨的用户也有更多的选择来屏蔽风险。所以转化路径的多样化指的是根据自身产品和业务的特征,定制多种的转化路径来满足不同用户的需求。假设卓越首页也上加上这样的“立即购买”按钮,不知道会有多少用户会选择去点击这些按钮:

amazon_buy_alternate

  最后总结起来无非就是一句话:给用户更多的选择。还是以用户中心的理论,不要因为网站自身的需要而给用户造成额外的麻烦和负担,给用户更多的选择和自由,只要用户参与进来了,就是在为网站创造价值,而网站存在的本质无非就是体现其应有的价值。

网站KPI的质量控制

——数据的上下文2

KPI-Quality-Control  前面的一篇文章——时间序列的趋势分析主要介绍的是通过同比和环比的方法为指标设置数据上下文(Context),从而观察和分析各指标在时间序列上的变化趋势,我的建议是在网站的目标指标(Goal)中使用这类方法。所以这篇文章就紧接着上一篇的专题,还是针对内部基准线(Internal Benchmark)的设定,主要解决的是网站关键绩效指标(KPI)的数据上下文的设置,推荐使用的分析工具是——质量控制图

为什么将质量控制图用于KPI

  需要明确一个工具可以用于何处,首先必须了解这个工具,所以概念和用处必不可少,这个可以直接参考质量控制图文章中的介绍,这里简单整理出几条适合于使用质量控制图的指标的前提条件:

  • 指标能够体现产品或功能的质量情况;
  • 指标能够持续地被观察测量,并且可以被量化,即从统计角度有足够的样本容量;
  • 在正常情况下,指标的变化趋势保持恒定,不是持续上涨或下降,也不会经常出现大幅波动,即符合正态分布。

  根据上述的适用条件,应该能够大概明白为什么要用控制图来作为网站KPI的参照设置标准,KPI是衡量网站的质量和表现的指标,在正常情况下,KPI可以保持稳定的趋势,不会出现大幅的波动。这跟网站的目标指标存在差异,一个运营良好的网站,它的目标(如收益)应该是保持稳定增长状态,而不是保持恒定,而它的KPI(如转化率)则应该保持恒定的趋势,除非受到了特定因素的影响或者网站做出了更改和变动。所以KPI指标的特点都符合使用质量控制图的条件。

KPI质量控制图的应用

  这里选择最常见的两个网站的KPI指标举例下应用的过程,一个是基于网站转化率(Conversion Rate)的P控制图,另一个是基于平均订单价值(Average Order Value, AOV)的X-MR控制图,这里的数据都以天为单位,选择15天的数据进行举例,数据也都是虚拟的。

转化率的P控制图

  这里以电子商务的交易转化率为例,我们需要获取每天的总访问数和完成交易的访问数,进而相除得到转化率,再根据P控制图的公式计算得到CL、UCL和LCL,为了图表的美观,我选择使用了样本容量取均值,也就是保证UCL和LCL的一致,而不是每天取各自的值,具体的数据见图表,包括15天的数据:

日期 总访问数 成功交易访问数 转化率 CL UCL LCL
2010-12-01 10231 201 1.96% 1.81% 2.16% 1.45%
2010-12-02 12874 229 1.78% 1.81% 2.16% 1.45%
2010-12-03 11229 231 2.06% 1.81% 2.16% 1.45%
2010-12-04 9870 201 2.04% 1.81% 2.16% 1.45%
2010-12-05 11804 237 2.01% 1.81% 2.16% 1.45%
2010-12-06 11652 224 1.92% 1.81% 2.16% 1.45%
2010-12-07 13259 236 1.78% 1.81% 2.16% 1.45%
2010-12-08 11891 167 1.40% 1.81% 2.16% 1.45%
2010-12-09 12876 213 1.65% 1.81% 2.16% 1.45%
2010-12-10 14562 240 1.65% 1.81% 2.16% 1.45%
2010-12-11 12933 259 2.00% 1.81% 2.16% 1.45%
2010-12-12 13548 241 1.78% 1.81% 2.16% 1.45%
2010-12-13 15230 256 1.68% 1.81% 2.16% 1.45%
2010-12-14 13815 276 2.00% 1.81% 2.16% 1.45%
2010-12-15 15766 248 1.57% 1.81% 2.16% 1.45%

  根据表中的数据很容易就可以画出相应的P控制图,见下图(添加了μ±2σ的线):

p-chart-sample

  最后就是根据控制图寻找数据可能存在的异常并找到发生异常的原因,根据上图比对控制图的控制规则,可以发现这15天的数据存在2个地方的异常:

  1. 12月8日的数据低于LCL,表现异常;
  2. 12月3日到12月8日的数据连续6天呈下降趋势,存在异常。

  到这里,数据层面的工作已经结束了,但接下去这一步却至关重要,就是分析发生异常的原因,这里抓住两个点:从12月3日开始数据呈下降趋势,12月8日到达低谷,之后开始反弹。那么我们可以知道很可能在12月3号的时候网站内部的调整或外部事件导致了数据异常的发生,并且持续到了12月8日,同时通过分析12月8日低谷的细分数据进一步明确到底是哪一块出现了问题,并做出及时的响应和调整,避免类似事件的再次发生。

订单均价的X-MR控制图

  还是电子商务的KPI——平均订单价值,即所有成交订单的总价值除以订单数,当网站运营的产品没有做出大幅调整时,一般这个指标是保持恒定的,并且因为是均值所以每天之差的波动幅度不会很大,所以可以使用均值-移动极差X-MR控制图。

  首先要先计算得到每天的平均订单价值,再通过当天与前一天的值相减计算得到移动极差MR,再根据X-MR控制图的公式计算得到CL、UCL、LCL,见下表(也是15天的数据):

日期 订单均价 MR X_CL X_UCL X_LCL MR_CL MR_UCL MR_LCL
2010-12-01 103.76 12.65 103.48 133.84 73.12 11.41 37.29 0
2010-12-02 129.12 25.36 103.48 133.84 73.12 11.41 37.29 0
2010-12-03 107.30 21.82 103.48 133.84 73.12 11.41 37.29 0
2010-12-04 97.45 9.85 103.48 133.84 73.12 11.41 37.29 0
2010-12-05 105.10 7.65 103.48 133.84 73.12 11.41 37.29 0
2010-12-06 115.78 10.68 103.48 133.84 73.12 11.41 37.29 0
2010-12-07 105.21 10.57 103.48 133.84 73.12 11.41 37.29 0
2010-12-08 98.78 6.43 103.48 133.84 73.12 11.41 37.29 0
2010-12-09 101.74 2.96 103.48 133.84 73.12 11.41 37.29 0
2010-12-10 96.53 5.21 103.48 133.84 73.12 11.41 37.29 0
2010-12-11 97.99 1.46 103.48 133.84 73.12 11.41 37.29 0
2010-12-12 114.20 16.21 103.48 133.84 73.12 11.41 37.29 0
2010-12-13 116.18 1.98 103.48 133.84 73.12 11.41 37.29 0
2010-12-14 80.29 35.89 103.48 133.84 73.12 11.41 37.29 0
2010-12-15 82.76 2.47 103.48 133.84 73.12 11.41 37.29 0

  X-MR控制图产生两张图,一张是均值X的控制图,另一张是移动极差MR的控制图,先是均值的(也包含了μ±2σ的线):

X-MR-chart-sample1

  再来一张移动极差的控制图:

X-MR-chart-sample2

  同样,还有最重要的一步,就是发现数据的异常和寻找异常发生的原因。首先来看均值控制图,比对控制规则可以发现最近3天中两天的数据都在μ-2σ线以下,这给了我们一个很好的预警信号——数据有变坏的趋势,我们需要去寻找原因并做出快速的响应和调整了;再看移动极差控制图,也有一个异常的规律——连续8个点在中心线以下,为什么?这段时间数据的波动极其平滑,或者相对的说明时间段的两端波动较大,是什么导致了这种异常的波动趋势?这些都需要从业务角度或者外部因素中去寻找原因。所以数据分析师不仅仅是计算和展现数据,更重要的是基于数据的分析,寻找数据背后的影响因素和数据变化的原因。

  上面就是我的两个应用,对于质量控制图,你是不是还能想到更加有创意的应用方案,欢迎跟我交流评论。这篇文章就作为2010年的收尾,祝大家新年快乐,希望2011能给大家带来更多的新意和惊喜,我的博客也会在新的一年里不断地向大家奉上更加精彩的内容,希望能跟大家一起不断地学习进步。

网站转化率与漏斗模型

  前段时间刚完成了一个分析网站流程的每个步骤的流失率,并用漏斗模型进行展示的需求,这里跟大家来分享一下。分析过程可以从以下三步展开:确定需要分析的访问路径或操作流程,收集数据并分别统计出该路径中每一步的人数,最后用漏斗模型展示结果。

用户访问路径(Path Analysis)

  之前的从WEB日志到点击流这篇文章中对点击流的概念进行了介绍,其实一个点击流就是用户的一次访问路径。在大多数情况下用户的访问路径随意的,无序的,用户在访问一个网站时可能会经常使用后退、返回主页或者直接点击某个链接等,不同用户访问路径的重合度可能只有1%,分析这些无序的路径是毫无意义的。

  所以,我们要分析的是网站中的一些关键路径(Key Path),即用户是为了某个目标而进入了一个相对标准的有序的路径,用户的目标就是为了到达“出口”,而不是随意游荡。如电子商务网站的注册流程、购物流程,应用型网站的服务使用流程等。举一个电子商务网站购物流程的简单例子:

E-Commerce-Shopping-Process

  于是,我们就可以根据这些关键路径来计算每一步的转化率了。

转化率(Conversion Rate)

  转化率,顾名思义,就是从当一个页面进入下一页面的人数比率,比如访问我的博客首页的用户有30,而从首页点击进入本文的用户有12,那么从首页到这篇文章的转化率就是12/30=40%。当然,我们可以根据用户的访问路径计算每个页面到下个页面的转化率,同样这类工作大部分也是没有意义的,我们需要抓住重点——关键路径的转化率。

  以上面的购物流程为例,我们可以分别统计出这5步中每一步的人数,然后计算得到每一步的转化率:

  浏览 购物车 订单 支付 完成交易
人数 2071 622 284 235 223
上一步转化率 100% 30.0% 45.7% 82.7% 94.9%
总体转化率 100% 30.0% 13.7% 11.3% 10.8%

GA-E-Commerce-Funnel
  通过对这些数据的统计,我们已经可以初步判断该流程转化率的情况,及每一步的流失率情况。当然,为了让分析的结果更加具体形象,我们可以借助一些图表工具,漏斗模型用在这里正好恰当不过了。

漏斗模型(Funnel Model)

  漏斗模型不仅显示了用户在进入流程到实现目标的最终转化率,同时还可以展示整个关键路径中每一步的转化率。Google Analytics提供了漏斗模型很好的分析和展示方案,具体的方法可以参考蓝鲸的文章——Google Analytics功能篇—目标和渠道,Google Analytics中漏斗模型的展示可以见右边的截图。

  因为可以拿到原始数据,所以我选用了更加灵活,定制程度更高的excel表格来处理。为了能显示漏斗的效果,在网上找到了一个很实用的方法——设置占位数据,然后用条形堆栈图展示数据,并将占位数据的数据条颜色去除,显示效果上就是下面每个数据条都居中了,占位数据=(进入人数-当前人数)/2,结果如下图:

Funnel-Model

  这里的下面每个蓝条的左边都是占位数据条,只是它们被“隐形”了而已。

  需要注意的是,单一的漏斗模型对于分析来说没有任何意义,我们不能单从一个漏斗模型中评价网站某个关键流程中各步骤的转化率的好坏,所以必须通过趋势比较细分的方法对流程中各步骤的转化率进行分析:

  • 趋势(Trend:从时间轴的变化情况进行分析,适用于对某一流程或其中某个步骤进行改进或优化的效果监控; 
  • 比较(Compare:通过比较类似产品或服务间购买或使用流程的转化率,发现某些产品或应用中存在的问题;
  • 细分(Segment:细分来源或不同的客户类型在转化率上的表现,发现一些高质量的来源或客户,通常用于分析网站的广告或推广的效果及ROI。

  所以,漏斗模型适用于网站中某些关键路径的转化率的分析,以确定整个流程的设计是否合理,各步骤的优劣,是否存在优化的空间等。试着去了解用户来你的网站的真正目的,为他们提供合理的访问路径或操作流程,而不是一味地去提高转化率。