月度归档:2010 年七月

网站新老用户分析

New-Returning-Visitors  网站中新老用户的分析已经成为了网站分析中常见的一类用户细分的方法,也是网站分析中用户分析的一个重要组成。Google Analytics中对新老用户的命名分别为New Visitors和Returning Visitors,同时也为许多的分析指标提供了基于新老用户的细分。

  简单地说,新用户就是首次访问网站或者首次使用网站服务的用户;而老用户则是之前访问过网站或者使用过网站服务的用户。无论是新老用户都能为网站带来价值,这也是分析的意义所在。

分析新老用户的意义

  网站的老用户一般都是网站的忠诚用户,有相对较高的粘度,也是为网站带来价值的主要用户群体;而新用户则意味着网站业务的发展,是网站价值不断提升的前提。可以说,老用户是网站生存的基础,新用户是网站发展的动力,所以网站的发展战略往往是在基于保留老用户的基础上不断地提升新用户数。

  所以分析新老用户的意义就在于:通过分析老用户,来确定网站的基础是否稳固,是否存在被淘汰的危机;通过分析新用户,来衡量网站的发展是否顺利,是否有更大的扩展空间。一个着眼现在,一个放眼未来。

新老用户的辨别

  对于网站用户的识别,之前写过一篇相关的文章——网站用户的识别,里面主要是在基于点击流日志的基础上提供的4类识别用户的方法,可以作为参考。但对于新老用户的辨别可能根据网站自身的特定而有不同的定义方法。

  最常见的一种辨别新老用户的方式就是看该用户之前是否访问过网站,也就是以用户是否首次访问来区分,GA就是使用Cookie来定义新老用户的,即该Cookie之前出现过则该访客为老用户,否则为新用户。这个定义适用于所有网站,但有它不准确的地方,Cookie的删除、用户更换PC等都会造成数据上的偏差。

  另一种辨别方式相对准确,但一般只适用于注册登录型网站,即定义首次注册登录的用户为新用户,再次登录的用户为老用户,而不是使用首次访问来辨别。这种区分方式一般以用户ID或用户名来辨别,相对准确,但应用的范围有限。

新老用户分析

  网站的目标在于保持老用户,拓展新用户,那么对于网站数据分析上的表现,则是在保持老用户数量的稳定增长的前提下,提升新用户的所占比例

  对于大部分发展正常的网站而言,网站的老用户数应该是保持相对稳定的,并且会有持续的小幅上涨,可以看一下GA上我的博客每周老用户数的趋势变化:

returning-visitors-trend

  可以通过GA的Dashboard上的Advanced Segments选择Returning Visitors,并选择合适的时间区间和汇总粒度(日、周、月)显示趋势变化曲线。这条平滑的上升曲线说明网站的发展是趋于正常的。

  但并不是所有网站的老用户趋势都会如此的平滑,比如旅游网站,旅游业会明显地受到季节的影响呈现比较大的波动,所以这里要引入同比环比的概念进行分析。

同比指的是为了消除季节变动的影响,将本期的数据与去年同期的数据进行比较,比如今年2月的数据与去年2月数据的比较;

环比指的是将本期的数据与前期的数据进行比较,可以是日环比、月环比、周环比等,例如今年2月与今年1月的数据比较。

  同比和环比被大量地应用于基于时间序列的趋势分析中,对于网站而言,访问量、销售额、利润等网站关键指标同样可以引用同比和环比进行分析,对于分析这些指标的变化趋势,消除季节的影响等都是有积极的效果。下面是一张基于同比和环比的旅游类网站老用户数据模拟趋势分析图:

returning-visitors-tb-hb

  从图上可以看出由于季节的影响,老用户数的波动比较大,所以相应的环比增长的波动也很大,但同比增长的趋势却相对平滑,一直保持在10%左右的增长率上面,这就可以看出网站对保持老用户是有效的,网站的运营状况较为稳定。

  可能有人会问,为什么要用绝对数量,而不是用相对数量,比如老用户占总访问用户的比例来进行趋势分析?这里主要考虑到网站会不定期的进行主动地推广营销,或者由于某些事件或媒体传播的影响而产生的被动推广的效果,这个时候可能会吸引大量的新用户进入网站而导致老用户比例的急剧下滑,而老用户的绝对数据对于网站而言相对稳定,更具参考价值。

  新用户的绝对数量并没有老用户这么稳定,也不一定会保持增长的态势,而对于新用户的分析主要是为了衡量网站推广的效果,评估上述主动营销或被动事件带来的影响,所以不建议使用绝对数值,既然老用户相对稳定,那么就可以基于新用户比例的变化趋势来分析网站某段时间的推广效果。GA的Benchmarking中提供的也是New Visits所占比例与其他网站基准线的趋势比较:

new-visits-trend

  往往曲线中某个时间点的大幅上升或下降都意味着某个营销事件的影响,而当曲线持续下降时就意味着网站推广效果的不利,需要增大推广的力度。

  如果你有关于网站新老用户分析更好的见解,欢迎评论。

数据仓库的源数据类型

dw-source-data  数据仓库中集成了企业几乎所有的可以获取到的数据以用于数据分析和决策支持,当然也包括了我在网站分析的数据来源一文中所提到的所有数据。这些进入到数据仓库中的数据无外乎三种类型:结构化数据半结构化数据非结构化数据,它们经过转化后以某种形式统一地储存在数据仓库中,即通常说的ETL(Extract, Transform, Load,抽取、转换、装载)的过程。下面主要说一下这三种数据类型的区别,它们分别包括哪些源数据以及这些数据在网站数据分析中的作用。

结构化数据

  这类数据的格式非常规范,典型的代表就是关系数据库中的数据,这些数据可以用二维表来存储,有固定的字段数,每个字段有固定的数据类型(数字、字符、日期等),并且每个字段的字节长度也相对固定。这类数据也是最易管理维护的,同时对于查询、展示和分析而言也是最为方便的一类数据格式。

  结构化的数据在网站中一般指的是网站内部的数据库数据以及一些外部开放的数据库接口中获取的数据。这些数据可以直接通过ETL导入到数据仓库中进行集成化管理,而在网站分析和数据分析中直接可以根据需要通过SQL语句查询导出。

  结构化的数据在网站数据分析中占据着举足轻重的地位,这些存储在数据库中的数据一般都是网站的运营数据及用户操作的结果数据(Outcome),比如网站的注册用户数、博客的文章数、评论数……而对于电子商务类网站而言,那些订单和销售数据也直接的存储与数据库中,而基于这些数据计算得到的总利润、每个订单平均利润、每个用户创造利润等KPI数据可以直接分析网站的目标是否实现。

半结构化数据

  半结构化数据的格式较为规范,一般都是纯文本数据,可以通过某种方式解析得到每项的数据。最常见的就是日志数据、XML、JSON等格式的数据,它们每条记录可能会有预定义的规范,但是可能每条记录包含的信息不尽相同,也可能会有不同的字段数,包含不同的字段名或字段类型,或者包含着嵌套的格式。这类数据一般都是以纯文本的形式输出,管理维护也较为方便,但在需要使用这些数据时,如获取、查询或分析数据时,可能需要先对这些数据格式进行相应的解析。

  半结构化的数据通常是指网站的日志数据,或者因为某些需求以XML或JSON格式输出的数据。最常见的就是网站的Apache日志,它根据预定义的字段顺序打出相应的值:

72.14.192.1 – - [09/May/2010:03:35:02 +0800] “GET / HTTP/1.1″ 200 13726 “-” “Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US),gzip(gfe) (via translate.google.com)”

而JSON格式则会以键值对(Key/Value)的形式输出数据:

{time: 1234567890, action: “comment”, respond: true, user: {userid: 1, username: “abc”}}

  对于像Apache日志那样的数据,我们可以根据需要切分出那些有用的数据将它们导入到数据仓库,而xml和JSON格式的数据我们可以调用各类字符串解析的方法通过它们的标签或者名称来获取相应的值,对于嵌套结构可以使用逐层遍历的方法依次获取,同样选取那些对于分析有用的数据存在数据仓库。在这个过程中,ETL中的转换部分会显得较为复杂,因为这里需要进行格式解析,而这一步的优劣直接影响ETL的稳定性和健壮性。还有一个令人头疼的问题就是数据的格式和存放问题,也许有必要创建一些自定义字段类型;或者选择NOSQL数据库,关于NOSQL数据库的讨论一度热火朝天,从Google的Big table、Amazon的Dynamo到Facebook的Cassandra,NOSQL数据库提供了可扩展性的海量数据存储,对于WEB数据管理提供了新的解决方案。

  半结构化数据对于网站数据分析同样非常重要,网站的点击流日志及一些用户行为数据一般都是以半结构化数据的形式输出的,当我们需要统计网站分析中的各类指标或者进行用户行为分析时,这类数据就必不可少。

非结构化数据

  非结构化数据指的是那些非纯文本类数据,没有标准格式,无法直接地解析出相应的值。常见的非结构化数据有富文本文档、网页、多媒体(图像、声音、视频等)。这类数据不易收集管理,也无法直接查询和分析,所以对这类数据需要使用一些不同的处理方式。

  富文本、图片、声音、视频等这些信息,除非需要进行高级的文本挖掘或者多媒体数据挖掘,否者对于一些日常涉及的数据统计和分析而言,非结构化数据本身是没有分析的价值的。所以一般不会将非结构化数据直接以二进制的形式存入数据仓库,数据仓库之父——Inmon的建议是在数据仓库中只需要储存非结构化数据的元数据(Meta Data),或者称为解释型数据。所以我们一般将非结构化的数据存放在文件系统(File System)中,而在数据仓库里面记录这些数据的信息,以便快速地索引和寻找需要的数据。如Word文档的标题、摘要、作者、创建时间、最近一次修改时间等,而图片则可能还包括像素、分辨率等。就像你右击文件属性的详细信息标签下看到的那些数据项,这些非结构化数据的元数据能够通过标准的形式记录,并且能帮助快速地搜索查询到对应的非结构化数据,同样可以被用于统计和分析,其实就是给每个非结构化数据贴上了标签,并将标签信息记录到了数据仓库中。

  可能对于大多数网站而言,这类非结构化数据除非被用于高级的数据挖掘,在大部分时间中它们对数据的统计分析作用并不大,但对于某些网站,比如图片、视频类网站,这些数据就至关重要。对于图片、视频网站而言,每个图片和视频就是网站的产品,而记录图片视频的元数据就是这些产品的详细信息数据,产品分析、产品细分等都依赖于这些数据;同样,对于一些公司的内部归档的文档、资料而言,如果有数据仓库统一地记录这些文件的信息,就能够在必要时快速地搜索找到需要的文件,对于信息的统一集成化管理非常有效。

  随着互联网的不断发展,各类信息不断膨胀,还有各式各样的数据类型会不断涌现,而数据仓库扮演着数据集成者的角色,对于各类数据的处理和管理也将不断地改进优化。

提升用户满意度

——让用户更容易地找到需要的信息5

customer-satisfaction  在前一篇文章——用户任务完成度分析中我似乎遗漏了一个重要的问题:为什么要分析用户的任务完成度?其实每个网站分析的方案和模型都应该具备它的目的和意义,否者就失去了分析的价值。所以这篇文章就是为了回答这个问题,同时也作为“让用户更容易地找到需要的信息”专题的完结篇。

  所以这里先提出一个假设:让用户更容易地找到需要的信息进而帮助用户完成预期的任务,能够有效地提升用户满意度。

用户满意度的影响因素

  我们不妨先来看一下用户满意度是怎么定义的,根据美国顾客满意度指数模型(ACSI, American Customer Satisfaction Index)的描述,用户满意度是用户对产品或服务的预期与实际接受的产品或服务的感受间的差距,差距越小,满意度越高。对于以信息服务为主的网站而言,用户访问网站的预期就是找到自己需要的信息,完成既定的任务(寻找信息、购物、娱乐等),那么如何衡量用户实际接受到的网站服务的质量水平,进而推测它们之间存在的差距?对于用户对网站实际的感受,可以从以下3方面体现:

  1. 用户是否完成预期任务(网站是否及格)
  2. 完成任务过程中良好的体验(也许网站能打八九十分了)
  3. 感受创意或意外的收获(获得附加分的机会)

  所以,保证用户完成预期的任务是网站质量的及格线,也可以看作是网站的生命线。那么任务完成度对于用户满意度是否有这么重要的影响呢?我们需要对以上的假设进行验证。

任务完成度与用户满意度

  为了验证任务完成度是否对用户的满意度有显著的影响,我们在统计用户任务完成情况的同时,需要收集用户对网站的满意度,所以上篇文章问卷调查中对用户满意度的打分题中采集到的数据就有了用武之地。我们可以通过比较完成任务的用户与未完成任务的用户对满意度的打分是否存在显著性差异的方法来验证任务完成度对用户满意度的影响是否显著。

  这里可以使用两组独立样本T检验的方法,把问卷调查中采集到的样本数据分为两组,一组是未完成任务的用户的满意度打分,另一组是完成任务用户的满意度打分,我们可以认为这两组数据都是近似的符合正态分布,进而比较这两组样本的总体均值是否存在显著差异。(或许你认为这个结果是显而易见的,这个验证完全是多此一举,那就当我是画蛇添足,无聊打发时间吧。 ;)

  首先提出零假设:

H0 : μ1 = μ2

  再将收集到的样本数据通过SPSS或Excel的数据分析功能进行双样本均值T检验,过程就不详细论述了,不然估计很多用户立马会离开网站甚至直接关闭浏览器了。

cs-T-test

  从SPSS的分析结果中可以看出,完成任务与未完成任务用户的满意度打分均值(上面一张表Mean值)可以看出,完成用户的满意度均值明显大于未完成用户。从下面那张表的95%置信区间的检验结果可以看到,F检验的显著性概率为0.847>0.05,所以我们可以认为完成任务用户与未完成任务用户的满意度打分的样本方差没有明显差异;而T检验的显著性(双尾)概率近似于0,小于0.05,因此拒绝零假设,即两个样本的总体均值存在显著差异,进而我们可以得出完成任务的用户满意度显著地高于未完成任务的用户满意度。

  通过上面的分析,我们验证了文章一开始提出的假设,即用户的任务完成度对提升用户的整体满意度有显著的影响。那么如何通过提高用户的任务完成度来提升用户满意度呢?

如何提升用户满意度

  提升用户满意度,我们可能需要做很多事情,从全局到细节,需要处处为用户的体验和感受着想。既然我们已经验证用户的任务完成度对用户满意度会产生显著影响,那么我们可以先从提升用户的任务完成度开始。这里可以参考我之前写的关于如何让用户更容易地找到需要的信息的4篇文章——优化网站信息架构优化网站内部搜索优化网站导航设计优化相关内容推荐

  这些优化可以从普遍的层面上提高用户的任务完成度,但显然以上这些还是不够的,因为用户的知识构成存在着差异,用户遇到的问题也会各不相同,所以上篇文章的问卷中当用户未完成任务时填写的为什么没有完成任务的开放性问题就能发挥作用了,我们需要针对各类用户(甚至个别用户)遇到的不同问题分别提供有效的解决方案,这也是为什么很多网站都会设置FAQ甚至在线客服的原因。

  所以我们首先要满足用户访问网站的最基本的期望——完成他们预期的任务,从该层面上提升用户满意度,下面是我画的一个简单的示意图,就作为文章的结尾吧:

task-completion-customer-satisfaction

用户任务完成度分析

wow_tasks  欢迎来到艾泽拉斯大陆……如果你玩过魔兽世界,也许你在里面完成过无数个任务;当用户在访问网站时,其实他们也在试图完成某些特定的任务。

  也许大家都比较熟悉网站目标(Goal),因为很多网站分析工具都提供了基于目标的分析,网站目标更多地是从网站的角度去定义的,比如电子商务网站的目标就是促成有效的交易;而用户任务(Task)则是从用户的角度去定义的,用户会有自己的目标,比如用户上电子商务网站可能只是为了查询某些商品的信息,询价,或者只是单纯的逛逛。所以每个用户带着自己的任务访问网站,这些任务可能各不相同,这无疑给分析带来了一定的难度。

关于任务完成度的定义

  其实跟前面一篇文章——用Engagement衡量用户活跃度中的Engagement度量类似,用户任务也是一个非标准度量,而且根据网站的不同和用户访问目的的不同而显得千差万别。但用户任务完成度(Task Completion)与Engagement也存在着差异,Engagement定义的是用户的行为或动作,只要发生我们就认为用户参与了;而任务完成度定义的是结果,只有当用户的某个需求被实现时(如购买成功、获取到了相关信息、通过网站解决了某个问题……)才能认为用户完成了任务。

  用户的Engagement不会直接影响网站目标,那么用户的任务完成度是否会对网站目标有直接影响呢?如果说网站目标(Goals)是从网站的角度衡量网站的商业目的(Business Objectives)是否实现的话,那么任务完成度(Task Completion)则是从用户的角度衡量用户的期望(User Expectation)是否达到。所以只有当网站目标与用户的任务一致时,我们才能认为用户任务完成度会对网站目标产生直接影响,因为两者衡量的都是结果,所以这种直接的影响有些时候甚至是可以划等号的。

  既然用户访问网站的目的各不相同,每个人都带着各自的任务,那么我们如何获悉用户访问网站到底是来做什么的呢?

如何获取用户的任务信息

  用户任务是一个非标准度量,并且是由用户自己决定的,我们似乎无法从点击流日志的用户行为分析中辨认用户到底是以什么样目的访问网站,我们需要直接向用户寻求答案。

  前几天在Justin Cutroni的博客Analytics Talk看到了一个有意思的在线问卷调查,其实就是简单的2-3个问题,关于你为何来到这个网站,你完成了预期的任务吗,以及你对这次网站浏览的满意度如何,最后再加上一个可以自由填写的反馈,Justin Cutroni使用的是http://www.4qsurvey.com/这个网站提供的在线问卷服务,好像蓝鲸的博客也提供了在线问卷,他使用的是http://polldaddy.com/,还有一个提供反馈的功能http://www.kampyle.com/。其实这些都是收集用户信息的好办法,通过调查问卷(Survey)的方式让用户来告诉你答案。

  如果我们需要分析用户的任务完成度,可以设计一个简单的在线问卷,提供在线问卷调查的网站很多,国内的国外的、免费的收费的,其实操作都比较简单,但首先我们需要注意一下几个问题:

  1. 什么时候向用户提供调查问卷?如果是分析任务完成情况,那么很明显要在用户离开网站的时候;
  2. 以何种方式提供问卷?比较常见的是弹出窗口或跳转链接,但无论用什么方式建议都先礼貌地问下用户是否愿意填写问卷;
  3. 在用户完成问卷时不要忘记感谢用户的支持,或者让用户留下邮箱以告知他们调查分析的结果,这些都是他们应得的,当然也可以借机推广你的网站;
  4. 问卷的设计,这是个复杂的问题,完全可以写本书了,这里只是提供用户任务完成分析的问卷设计,我的建议是如果不是一次全面系统的网站分析问卷调查,那么尽量减少问卷中的问题数量,而且尽量要一开始就告诉用户问卷的长度及可能占用他们多少时间。其实如果只是分析用户任务完成度,3个问题就足够了:

task-completion-survey

分析用户的任务完成度

  基于从问卷调查中获得的数据,我们可以借用一些图表来分析用户的任务完成情况。

  首先,必须明确用户任务也是基于用户在网站上的一次访问(Visit)。一般用户一次访问只是为了完成一个任务,所以对于大部分网站而言,更偏向于衡量一次访问的任务是否完成而不是完成的百分比。所以这里的任务完成度(Task Completion) 的定义并不是每次访问用户完成任务的程度,而是所有的用户访问中完成任务的访问占所有访问的比重,即

任务完成度 = 完成任务的访问数 / 总访问数

  可以基于任务类型进行细分,以电子商务网站为例,假如问卷中的任务选项包括:

  • 购买商品
  • 查询商品信息
  • 售前售后咨询
  • 其它

  根据问卷采集的数据可以得到下图:

task-completion-segment

  基于任务类型的细分,可以分析每类任务的用户访问量所占比例(左侧饼图),以及每类任务的完成情况(右侧柱状图,总高度为每类任务的总访问量,,蓝色区块的高度为完成任务的访问数,可以看出每个任务类型中完成的访问数所占比重)。如果网站中进行的是长期的问卷调查,同样可以对每类任务的完成度进行趋势分析,如下图:

task-completion-trend

  趋势分析可以有效地掌握用户在网站中完成任务的变化情况,进而衡量网站在运营优化上面取得的成果。

  接下来该由你来做些什么了,你可以尝试用你的方法寻找更恰当的图表来展示和分析数据。