优化网站内部搜索

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

optimize-site-search  关于如何让用户更容易地找到需要的信息,上一篇文章中介绍了使用优化网站信息架构的方式,这篇文章主要介绍的是通过优化站内搜索的方式来帮助用户找到需要的信息。

  站内搜索已经成为目前几乎所有网站必不可少的一块功能,尤其在内容丰富的网站中,当用户有目的地寻找目标内容但又无法直接从首页或导航页中直接找到时,这时用户就会求助于站内搜索。

分析站内搜索的意义

  分析站内搜索最常见的就是分析用户的搜索短语或者关键词,通过关键词了解用户的需求,但是某些基于搜索后的用户操作和行为分析分析往往更有价值;站内搜索的意义主要包括以下几点:

细化用户需求

  用户在站内搜索的关键词往往与站外搜索有较大区别,比如用户可能会通过Google搜索“ThinkPad笔记本”,但当用户进入某个销售笔记本电脑的电子商务网站时,他们通过站内搜索的往往就是诸如“ThinkPad X200”,所以从站内搜索分析得到的关键词往往更能体现用户更细节层面的需求。

发现用户最关注的内容

  这是一种最直观的分析结果意义的体现,即通过查看站内搜索关键词的排名或者热门程度来了解用户在你的网站上最关注于哪些信息,往往这些排名靠前的关键词所涉及的内容就是网站的核心价值,因为用户期望看到更多的关于这些方面的内容。

寻找用户的潜在需求

  很明显,站内搜索并非每次都会有结果,用户的需求是多样的,而网站的内容是有限的。如果用户通过站内搜索未找到结果或者没有后续操作,或者一直翻页直到离开,那么就说明用户没有找到他们需要的信息。而这些没有结果或没有操作的关键词就变成了用户可能的潜在需求,也许你该考虑下是不是该提供一些相关的内容来充实你的网站。

站内搜索的分析度量

  那么为了体现以上的几个意义,应该如何分析站内搜索?也许站内搜索不仅是搜索短语或者关键词的排名,我们应该同时关注用户搜索行为的后续操作,也就是用户是不是真正通过站内搜索找到了他们需要的信息,所以在分析站内搜索的时候我们需要关注一些相关的度量。先看看Google Analytics上站内搜索的分析度量:

GA-Site-Search-Metrics

搜索访问次数(Visits with Search)

  这个很好理解,就是使用了站内搜索的访问数(Visits)。

唯一搜索总次数(Total Unique Searches)

  这个应该理解为每个Session搜索唯一关键词的总次数之和,同一个session中多次搜索同一个搜索关键词只会被记为一次,可以被用于根据搜索短语的细分度量。

结果页面浏览数/搜索次数(Results Pageviews/Search)

  也就是平均每次搜索后浏览搜索结果列表页面数。

搜索退出率(Search Exits)

  搜索退出,即搜索后立即退出了网站,搜索操作是用户该次浏览的最后一个操作;那么搜索退出率就是搜索退出访问数/总搜索访问数。

搜索改进率(Search Refinements)

  当用户完成一次搜索后又进行了另一次的搜索,我们就可以定义后一步搜索是改进搜索;那么搜索改进率就是改进搜索的次数/总的搜索次数。

搜索后平均停留时间(Time after Search)

  每次搜索后用户在网站的停留时间(如果一个访问有多次搜索,则前几次搜索都是每相邻两次搜索的间隔时间,最后一次搜索是从搜索到用户离开网站的时间)的总和/搜索访问数。

搜索后平均浏览页面数(Search Depth)

  每次搜索后用户浏览的页面数(如果一个访问有多次搜索,则前几次搜索都是每相邻两次搜索间浏览的页面数,最后一次搜索是从搜索到用户离开网站前浏览的页面数)的总和/搜索访问数。

  站内搜索的分析度量可能还有很多,还需要关注搜索关键短语的排名情况(Top Key Phrases),或者搜索结果列表的页面覆盖图(search results page overlay),这个可以更好地帮你了解搜索关键词在结果页面的曝光和点击情况。

评估站内搜索的效率

  有了上述的度量,我们就可以分析和评价站内搜索的效率。

站内搜索利用率

  这个比较容易评价,只要将用到搜索的访问数/网站的总访问数,就是站内搜索的利用率。

站内搜索的有效性

  这是对站内搜索来说比较重要的一个分析,即站内搜索到底有没有很好地实现它的功能。主要通过搜索退出率、搜索改进率和平均浏览搜索结果页面数这3个度量来评价,退出率和改进率越低,同时平均浏览搜索结果页面数越少,那么说明站内搜索越有效,效率越高。

站内搜索的效果

  主要通过搜索后平均停留时间和平均浏览页面数来评价站内搜索的效果,但这些因素往往不是站内搜索功能呢个本身所能控制的,站内搜索只是帮助用户更好地匹配搜索关键词跟网站内容的关系,帮助用户找到相关的内容,至于之后用户对内容的兴趣如何还得看网站本身的内容质量。

站内搜索的价值

  当评估价值时,不得不提到的几个网站分析度量:转化率(Conversion Rate), 任务完成度(Task Completion), 目标达到率(Reach Object)。

  对于电子商务网站而言,这个评价较为简单,因为电子商务网站的目标比较单一——利润,所以只要分析用户每次搜索的订单转化率、交易完成率,及每次搜索所能获取的收益等就可以用于评估内部搜索对于网站的价值,当然你还能根据搜索的关键词进行细分,看看哪些关键词为你带来的最大的收益。

  如果网站没有明确而单一的目标,那么评价内部搜索的价值就会有些困难,但是如果你在Google Analytics上设置的网站目标,那么问题就会简单得多,Google Analytics会根据你设置的目标帮你计算出每次搜索到达目标的次数,目标的转化率及平均每次搜索的目标价值(如果你为每个目标设置了价值指数的话)。

GA-Site-Search-Goal

优化站内搜索

  通过分析站内搜索,我们可以根据以上各度量的结果对网站的搜索功能进行针对性的优化。

优化结果排序

  当网站的平均浏览搜索结果页面数偏高时,我们需要关注下是不是站内搜索的结果排序存在问题。我们可以看到很多网站的搜索结果提供了排序选择功能,这里看一下Wordpress网站的插件搜索页面:

Wordpress-plugins-search

  这里提供了5中搜索结果排序方式可供选择:相关性、最高评分、最新发布、最近更新和最热门插件,但发现即使提供了这么多种排序方式,我有时还是搜索不到自己想要的插件,也许我会想要对结果进行相关性和最高评分的组合排序。

  但优化结果排序最关键的还是对默认排序的优化,用户在点击搜索按钮之后都会愿意看到结果列表中显示的是最符合搜索预期的内容,也就是他最感兴趣的内容,那么对于他找到自己想要的信息当然是最有力的。所以,尽量减少用户的多余操作(自己选择合适的排序方式),一开始就帮用户做到最好。

优化信息设计

  信息设计是指对信息的分类、整理和罗列的过程,对于一个内容丰富、分类繁多的网站而言,提供系统清晰的信息设计,可以让信息的检索事半功倍。

  我们分析搜索改进度量的时候,如果发现用户的搜索改进一般都是在区分信息的分类或者改进关键词的细节表述,那么这时候可以考虑为用户提供搜索结果筛选的功能,如太平洋上面提供了极为丰富的信息筛选功能:

pconline-search

同义词与结果推荐

  用户在输入搜索关键词的时候有时会拼写错误,或者用户可能输入的是模糊定义的短语,这些可以直接分析站内搜索关键词搜索改进等来确认你的网站用户是不是普遍存在这类行为,所以我们需要为用户提供一些关键词的改进建议及结果的推荐,下面是我在淘宝中输入“诺记亚”进行搜索时它为我提供的搜索建议:

taobao-nokia-search

  所以,站内搜索可以说是一个比较复杂的功能,尤其是想把它优化的更好的时候,所以很多大的公司有专门的团队来研究和改进站内搜索功能。建议在优化站内搜索的时候考虑使用网站分析的方法让优化的工作具有更加明确的目标和方面,同时通过比较优化前后网站分析中相应的度量,可以为优化的效果提供有力的量化参考指标。

网站页面度量与细分

page-metrics-and-segment 我们在使用一些网站分析工具的时候会发现一般报表会被分成三大模块:用户访问内容浏览流量来源。每个分类都由各种分析度量组成了各类的展示报表,这里先介绍一下内容浏览模块(主要指的是网站的页面浏览)下的各种度量,以及基于这些度量我们可以实现哪些细分。

页面的基本度量

关于一些常见的网站分析度量的定义可以参考我之前的文章——网站分析的基本度量,下面罗列的是一些页面的度量:

页面浏览次数(Pageviews)

页面被打开或请求的次数。

唯一页面浏览次数(Unique Pageviews)

这个是Google Analytics上面使用的一个度量,主要是避免页面的重复加载和刷新导致Pageviews虚高的情况,所以在同一个Visit当中重复打开同一个页面,该页面的Unique Pageviews始终只被记为1次。

访问次数(Visits)

页面的被访问次数,如果按照独立页面来计算每个页面的Visits,其实结果与上面的Unique Pageviews是一致的,所以很多网站能分析工具里面没有Unique Pageviews,而直接用Visits来衡量页面的唯一浏览量。但需要注意的是Visits也常被用作整个网站或者某些内容分类汇总的度量,在这种情况下,网站的总Visits和总Unique Pageviews是不一致的,比如Visit A访问了a-b-a-c4个页面,而Visit B只访问了a-b,那么对于a页面而言,Pageviews是3,Unique Pageviews是2,Visits也是2,但对于这个网站而言,Unique Pageviews是5,而Visits只有2个。

唯一访问用户数(Unique Visitors)

这个应该容易理解,就是进入这个页面的不同IP或者Cookie的个数。

页面停留时间(Time on Page)

用户浏览一个页面时在该页面逗留的时间,在度量页面时,更多的是根据用户取平均值,即页面平均停留时间(Avg. Time on Page)=该页面被浏览的停留时间总和/该页面被浏览次数(GA里面排除了从该页面离开的Pageviews,即Exits)。

直接跳出访问数(Bounces)

也许你可以看到过很多关于这个定义的解释了,一般的网站分析工具,都会将从该页面进入网站并直接离开的访问称为Bounce。而这个度量更多的是以Bounce Rate的形式出现,即从该页面直接跳出的访问数/从该页面进入的访问数。

进入和离开次数(Entrances and Exits)

这个就顾名思义了,从该页面进入、离开的访问数,而一般会以Enter Rate和Exit Rate的形式出现,从该页面进入、离开的访问数/该页面的总访问数。

page-metrics

还有一些其它的页面度量,如新访问用户(New Visits)目标价值(Goal Value)等。

需要关注的页面度量

我们会注意到一般的网站分析工具的结果展现会有许多不同的报表,并且各类报表中又会有重复或不重复的各类度量,当然每张报表可能都会有其不同的展示角度并提供不同的数据分析的用途。但也许我们日常无法全面地关注所有度量,一般都会根据网站的特点着重的关注某些跟网站运营状态息息相关的度量。Google Analytics内容模块的几张报表上一般会展现:

Pageviews、Unique Pageviews、Avg. Time on Page、Bounce Rate、%Exit(离开百分比)及$Index(目标价值指数)

下面列出的是我个人认为对于评价网站页面比较重要的几个度量,或者说是个人比较喜欢和关注的几个度量:

1. 访问量(Visits)或者唯一页面浏览次数(Unique Pageviews)

上面已经对这两个度量进行了介绍,它们对于单个页面而言计算得到的数值是一样的,只会在计算汇总的时候存在差异。那么为什么选择访问量,而不是页面浏览数或者唯一用户数呢?我的理解是在同一个Visit中,如果用户多次浏览同一页面,那么很有可能使用户喜欢刷新或重载页面,或者用户习惯于倒退操作而重复穿梭于你的网站,所以这些重复浏览对于评价页面的优劣比较没有意义;而如果是不同的Visit,即使是同一用户浏览了同一页面,那么我们更多地可以理解为用户对于上次看到的内容意犹未尽,想再仔细研究个究竟,这种页面浏览对于评价一个页面是有效的,所以我更偏向于选择页面的访问量Visits。

2. 崩失率(Bounce Rate)

好吧,无论你怎么称呼它,都不得不承认它的魅力十足,网站有很多相关的文章,在我的博客之前也写过一篇——关于Bounce Rate定义的疑问

对于它的价值我是这样理解的,用户会直接跳出,无非3种情况:1.误闯;2.内容过于乏味;3.进入的页面也是网站的出口。所以在关注Bounce Rate的时候有必要进行特殊情况特殊分析,比如网站首页的Bounce相对比较高是可以理解的,因为作为网站最前端的大门,可能会有相当一部分用户误闯了进来;而网站的底层内容细节页面的Bounce Rate比较高有可能用户直接进入该页面,找到了需要的信息并离开了,也就是上面所说的第3种情况。而排除这两种特殊的访问,如果其他页面的Bounce Rate偏高,那么说明该页面有问题了。

3. 页面平均停留时间(Avg. Time on Page)

这个应该比较容易理解,用户需要获取你页面中的某些信息就会需要一定的浏览时间,当然根据页面提供的内容的长短和复杂度,平均停留时间也会存在一定的差异,但我们不需要关注这类情况,我们只需要揪出那些平均停留时间短到用户几乎无法对页面内容作出有效反应就已经离开了的那些页面,毫无疑问这些页面是有问题的。

页面细分

基于上面介绍的这些度量,我们可以选择任何的单个或者多个来对页面进行细分,我想到的有以下结果细分的方法:

基于Pageviews、Unique Pageviews、UniqueVisitors区分热门页面和冷门页面;

基于Avg. Time on Page区分有趣的内容和乏味的内容;

基于Bounce Rate及下一浏览页面的多样性来区分病态页面和枢纽页面;

基于Enter Rate和Exit Rate来识别网站的入口和出口页面;

……

当然,你还可以想到很多种其他细分的方法,只要细分的结果对你的网站而言是有价值的。这里举个简单的用多个度量组合进行细分的例子,选取的度量就是上面3个我认为值得关注的页面度量。既然涉及3个度量,大部分的平面坐标系的图表无法很好的展示,也许你也跟我一样想到了一类图表——气泡图,下面是一个简单展示:

page-segment-xlbubble

横坐标标识访问量,纵坐标标识Bounce Rate,气泡的半径r标识页面平均停留时间,我们可以将页面细分成4类,分别对应4个象限,其中:

第一象限:较高的访问量和Bounce Rate,所以页面比较热门但并不能吸引所有进入的用户,也许你的网站的首页或者Landing Page正是处于这一象限,你可能需要优化下SEO的关键词或者购买相关性更高的广告或者关键词,也可以优化下你的首页和Landing Page,让它们更具吸引力以留住用户;

第二象限:如果你的网站有很多页面处于这个象限,那么你的网站正处在一个糟糕的状况下,而往往这一象限内的气泡也会比较小;

第三象限:其实在这一象限的某些页面是可以通过提升曝光率来提升它们的访问量,因为从Bounce Rate来看它们并不缺少吸引力;当然,如果某些内容只针对特定人群,而其他人群对它们的兴趣不高,那么处于第三象限也是一个正常的状况;

第四象限:这些页面集中了你的网站的一些黄金内容,看看它们到底在哪些方面吸引了这么多的用户,让其他页面也学习一下它们。

也许你还能想到其它更加有趣的页面细分方法,欢迎与我分享交流。

优化网站信息架构

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

Expo-China-Pavilion-steel-model  最近突然想写个专题类的文章,关于如何让用户更方便快捷地在网站上寻找到他们需要的信息,当然不能脱离博客的主题——网站数据分析,所以这里主要介绍的是如何通过网站分析来优化网站,实现用户对信息的快速获取,首先介绍的是网站的信息架构。

  关于信息架构,网站设计的同学才是专家,我在这里只是班门弄斧,根据大学里面阅读的信息架构类文献资料的一些残存的记忆,再加上这几天临时抱佛脚的简单温习,在这里表述一下我的一点拙见。

信息架构的定义

  根据维基百科的定义,信息架构Information Architecture,简称IA)是在信息环境中,影响系统组织、导览、及分类标签的组合结构。它是基于信息架构方法论,并运用计算机技术管理和组织信息的一个专门学科。信息架构并非一开始就应用于网站设计,其起源于情报科学,最初应该是用于图书馆等地方的信息组织和信息检索的。

  《用户体验的要素——以用户为中心的WEB设计》这本书中对信息架构的定义基于网站设计:信息架构着重于设计组织分类和导航的结构,从而让用户可以提高效率、有效地浏览网站的内容。

  具体的就不再多说的,可能各有各的理解,这里直接来看一个实例——Wordpress的信息架构模式:
Wordpress-IA

  当然,上面这个图只能展示一个大体的网站信息架构,中间的类目层也许不止一层,会有大类、子类、子子类……底层可以是文章也可能是页面或者一些其他的具体内容。而网站的内部关系也往往因为全局或局部导航、网站内链和内容关联等功能的存在而复杂的多,图上的箭头也会密集很多,但我们无需罗列所有内容间的关系,关键是在理清基本的结构。

信息架构的类型

  还是参考《用户体验的要素——以用户为中心的WEB设计》中对信息架构的几个分类:

层次结构(Hierarchical Structure)

  也叫树形结构,是最常见的网站信息架构模式,上面举例的Wordpress的信息架构就是典型的层次结构。树形结构中箭头的方向不一定是自上而下的,也可能是自下而上或者是双向的,而内容层之间也会因为一些关联链接的存在而存在同层次间的指向箭头。

矩阵结构(Matrix Structure)

  矩阵结构比较注重“维”的概念,即从多维的角度来检索信息,如时间、地域、内容分类等,典型的应用就是内容管理系统(CMS)网站或者电子商务类网站,比如你浏览豆瓣的电影时可以筛选:2010年—美国—科幻,也许这个时候《钢铁侠2》就呈现在你面前了。

线性结构(Sequential Structure)

  看到线性结构也许你马上会想到面包屑,它将网站中最重要的一个信息架构路线展现了出来,即使它无法为你提供你在网站上的平面坐标,但至少它显示了你现在正处于关键线路的哪个点上;当然,网站的一些关键路径一般也是按照线性结构涉及的,比如用户注册流程或电子商务网站的购买流程等。

网站分析与信息架构

  根据网站业务模式的不同,可以选择适合自己网站的信息架构的模式,无论是上面的哪种信息架构模式,只要设计和运用合理,用户便能够在你的网站上以最方便的形式、最快的速度找到他们需要的信息。

  但当我浏览某些网站时,有时真的会让我感觉到“找不到北”,结果就是直接关闭该页面,如果不希望让已经进入了你的网站的用户轻易地离开,网站信息架构的好坏将直接影响网站的用户体验。所以我们需要通过一些方法来检验网站的信息架构是否满足用户的信息检索的需求。

1.尝试整理出类似上面例子中的网站信息架构图

  这个是最简单最直观的方法,如果你的网站信息架构足够清晰,那么画出这样的图对你来说也绝非难事;而当网站的应用比较复杂、内容比较宽泛,那么可能要整理出网站的整体信息架构就会相对困难,但我相信一个设计优秀的网站只要稍加整理,大体的信息架构图还是画得出来的;而当你绞尽脑汁就是理不清你的网站的信息架构的头绪的时候,那么说明你的网站需要优化了。

2.通过网站分析的方法验证信息架构的合理性

  本文的副标题是“让用户更容易地找到需要的信息”,所以我们需要分析用户是否能够在你的网站上方便快捷地找到他们需要的信息,这里推荐一种方法——寻找网站中的迷失用户(Lost Visits)

  在一个合理的信息架构下,大多数的用户是不会在你的网站上迷路的;反之,混乱的信息架构会导致大量的用户迷失方向,就像是进入了一个巨大的迷宫。那么如何寻找这些迷失用户?我们可以先分析下这类用户的行为,最明显特征的就是:连续点击好几个页面,每个页面都只是初步浏览(因为没有找到他们需要的信息)就转到另外的页面或直接离开了。所以我们可以借助网站分析中的两个度量:

  浏览页面数(Depth of Visit):一次访问中用户总的浏览页面数;

  页面平均停留时间(Avg. Time on Page):一次浏览中用户在每个页面的平均停留时间,即该次访问总停留时间(Time on Site)/该次访问页面数(Depth of Visit)。

  我们可以用户细分的方法把那些浏览页面数较多,但页面平均停留时间较短的用户浏览看作是迷失用户,具体的数值可以根据网站自身的特点进行定义,比如我定义我的博客中浏览页面数大于等于4,而页面平均停留时间小于等于15秒的Visits为迷失用户的浏览行为,我们可以借助Google Analytics中的高级群组(Advanced Segment)来区分出这类用户,关于如何使用Google Analytics的高级群组功能,可以参考蓝鲸的文章——Google Analytics功能篇—高级群组,如下图:

Advanced-Segment-Lost-Visits

  当然,你可能会说这种用户区分的方法不准确,这类用户不一定就是迷失用户,也有可能他们确实找到并浏览了具体内容,但因为内容不够吸引人或者其他原因而马上离开了该页面。所以这里用高级群组划分出来的这类Visits的数量不能看作是迷失用户的一个绝对数值,我们只能认为里面的大部分Visits都是迷失用户,而不排除存在某些另类。所以更合理的方法是通过计算这类Visits占网站总Visits的比例情况来分析网站的信息架构到底是否合理,我们可以在Google Analytics上面选取网站的All Visits和Lost Visits进行比例和趋势的比较,如下图:

Comparison-All-and-Lost-Visits

Trend-All-and-Lost-Visits

  网站中迷失用户浏览的所占比例只需通过Lost Visits/All Visits就可以计算得到,但这个时候你还是无法根据这个计算结果来评判网站的信息架构到底是好是坏,因为还缺少一个基准线(Benchmark)或者说是评判标准。在Google Analytics上面的Visitors标签下,提供了“Sites of similar size”的基准比较(Benchmarking),你可以选择与你的网站相似类型的网站作为基准线进行数据比较,这的确是个很好的参考,因为通过比较能够更加明确你的网站在同类型网站中的优势和劣势,为网站优化指明方向。GA借助其强大的数据平台可以为我们提供基准线,但也许对于上面这个例子会显得无能为力,这个时候需要我们理性地自己去选择一个合适的基准线,比如我的博客目前类目和内容都还比较少,那么我可能会定义我的网站的迷失用户比例应该控制在1%以下;但如果对于一个应用和内容比较复杂的网站,那么基准线显然会需要定得更高一点。一旦某段时间的数据越过了基准线,就需要关注一下网站的信息架构是不是在趋于混乱了,是不是该进行一下整理和优化了。

  总之,一个好的信息架构能够帮助用户更容易地找到他们需要的信息,从而有效地提升网站的用户体验,所以,尝试着去优化下你的网站的信息架构。如果你有更好的方法能够有效地检验网站的信息架构的优劣,或者能够明确地分析得到网站信息架构的哪些细节上存在缺陷,希望能与我交流,我期待网站分析方法在优化网站信息架构方面的更多的应用。

NoJS的网站数据统计

No JavaScript  目前主流的网站分析工具都是通过JavaScript来实现数据的获取的,如Google Analytics就是通过在网页中嵌入一段JS代码,当该网页被浏览时,JS代码被加载,就会向Google Analytics的数据收集服务器发送用户浏览该网页的相应数据,包括时间、IP、页面URL、Session、Cookie等信息,Google Analytics后台通过处理和计算这些收集到的数据,将每天的网站统计结果展示在WEB报表上。

  但是不是所有的页面都支持JS的,让我开始关注到这个问题的原因就是博客的Feed页面。我发现我的博客在AWstats上统计到的数据显示我的Feed页面是我的博客中PV最高的页面,如下图:

AWStats-Feed

  但是在Google Analytics的Content统计中却找不到Feed页面的任何数据,当然AWStats是通过网站日志实现统计的,包括搜索引擎爬虫和RSS订阅器的抓取记录,PV偏高也可以理解;但除了搜索引擎爬虫和RSS订阅器外,用户也会浏览Feed页面,GA即使无法统计到网络爬虫,但没有Feed页面的任何统计数据也是不正常的,最后终于找到了问题所在,也许大家都已经想到了,Feed页面其实是以XML的形式存在的,其中无法嵌入JS代码,于是GA上无法统计到相关的数据。也许我们在其他地方也会遇到此类无法加载JS代码的统计情况,于是我开始寻找不使用JavaScript实现使用Google Analytics实现统计的方法……

  Google Analytics without Javascript(简称 NoJSStats)是一款使用 Google Analytics 的第三方统计工具,部署在Google App Engine上授权免费使用,通过在页面嵌入一个1像素的图片来统计页面流量,主要用于在不支持 Javascript 的环境下使用 Google Analytics 统计服务。

NoJSStats的用途

  • 统计不支持JS的手机浏览器的访问;
  • 统计“禁用JS”功能的浏览器的访问;
  • 统计第三方平台上的访问流量,如非独立博客、淘宝店铺、论坛等;
  • 统计博客的 Feed 访问;
  • 统计 Email 的打开和浏览情况(这个对掌握直邮营销的效果很有用)。

NoJSStats的使用

  如果你喜欢翻墙,可以直接参考上面的NoJSStats页面链接。NoJSStats的使用十分简单,就是在你想要统计的页面或者模块中嵌入一个1像素的透明图片即可,不会影响正常的页面展现和浏览。图片的URL链接地址是:

http://nojsstats.appspot.com/你的GoogleAnalytics账号/网站主页URL

  比如我的博客的图片获取链接是:

http://nojsstats.appspot.com/UA-13232982-1/webdataanalysis.net

  你可以在想要获得统计数据的地方嵌入该图片,如:

网页HTML:<img src=”http://nojsstats.appspot.com/UA-123456/mywebsite.com” />

论坛:[img]http://nojsstats.appspot.com/UA-123456/mywebsite.com[/img]

CSS:body{ background: url(“http://nojsstats.appspot.com/UA-123456/mywebsite.com”); }

  如果你的网站使用SSL加密,那么请使用以下的图片链接:

httpS://nojsstats.appspot.com/UA-123456/yourwebsite.com

  使用NoJSStats可以统计博客Feed的文章被浏览的情况,只要修改Wordpress的主题目录下的functions.php的文件,加入如下代码:

<?php
add_filter('the_content', 'google_analytics_for_feed',99);
function google_analytics_for_feed($content){
    if (is_feed()) {   //只在feed输出中嵌入图片
        $content.= '<img src="http://nojsstats.appspot.com/UA-13232982-1/webdataanalysis.net" alt="" />';
    }
    return $content;
}
?>

  我们可以在Google Analytics的报表上面看到Feed页面的相关统计数据了:

NoJS-GA-FeedStat

  这里需要注意的是上面这段代码实现了在Feed中的每篇文章内容的最后添加了透明图片,所以当任何一篇文章被展示时,Google Analytics上面就会增加一个Pageview,所以这里的Pageview不能认为是页面被浏览次数,而是浏览的文章总数。当一个页面或某个RSS阅读器中显示5篇Feed模板上的文章时,那么该页面被浏览一次其实Pageviews就会加5。同时网络爬虫和RSS的抓取不会发送图片请求,所以不会被统计在内,所以通过NoJSStats统计得到的数据基本可以认为是用户的浏览行为,并且包括用户从RSS阅读器阅读文章或其他网站从Feed上转载文章的浏览情况,这些数据对于博客而言都是十分具有参考价值的。

NoJSStats的实现机制

  通过上面的介绍和使用,也许大家已经意识到了NoJSStats的实现机制就是网站分析中点击流数据获取的方式之一——Web Beacons,即在页面中嵌入一个1像素的透明图片,当该页面被浏览时,图片就会被请求加载,于是在后端的服务器日志中就会记录该图片的请求日志,如打开我的博客首页,右上角的Logo图片就会被请求,这样就可以获得如下的日志记录:

60.216.235.23 – - [09/May/2010:15:09:12 +0800] “GET /wp-content/themes/cordobo-green-park-2/img/logo.png HTTP/1.1″ 200 35715 “http://webdataanalysis.net/” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)”

  请求类型是GET,请求的资源就是该图片的URI,而后面的referrer中记录了我的博客的首页URL,即用户浏览的页面(关于网站日志格式的相关资料可以参考我之前的一篇文章——WEB日志格式),所以只要统计出现这类图片请求的日志记录就能获得嵌入图片的各页面被浏览的情况,Web Beacons就是通过这种方式来获取用户的浏览数据的。需要注意的是,Web Beacons方式是无法获取浏览的来源页面信息的,除非在图片的URI请求中带上referrer的参数,类似.gif?ref=www.google.com。

  而NoJSStats还有一点让我比较迷惑的就是既然没有JS的支持,同时referrer字段又被浏览的当前页面占据,那么就无法区分用户浏览的session,也就是无法实现Visits的统计,但直接打开http://nojsstats.appspot.com/UA-13232982-1/webdataanalysis.net这个链接(很奇怪,这个没有被屏蔽),发现Google使用了URL重写,实际的请求地址是:

src=http://www.google-analytics.com/__utm.gif?utmwv=1&amp;utmn=80790672&amp;utmsr=-&amp;utmsc=-&amp;utmul=-&amp;utmje=0&amp;utmfl=-&amp;utmdt=-&amp;utmhn=webdataanalysis.net&amp;utmr=&amp;utmp=&amp;utmac=UA-13232982-1&amp;utmcc=__utma%3D82610576.209757388.1273508397.1273508397.1273586810.2%3B%2B__utmb%3D82610576%3B%2B__utmc%3D82610576%3B%2B__utmz%3D82610576.1273586810.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D82610576.122.234.62.66%3B

  后面带了一大堆的参数,不知道这里面有没有将session和Cookie的信息写进去,希望对这方面有所研究的朋友能够解答我的疑问。

网站实景访问调研

Site-visits  可能以前关注过我的博客的朋友已经发现,最近我的博客的界面发生了一些改变。其实我原本也没有过多的考虑过网站的界面和交互的问题,毕竟我对网站的交互设计不太了解,但一个偶然的机会,让我认识到也许我的博客需要做一些调整和优化了。

  前几天有个朋友问我一些网站分析方面的问题,我引导他阅读我的博客,并且明确地告诉他我的博客的某篇文章中有他需要的内容,于是让我印象深刻的一幕发生了:

  1. 我的朋友打开了我的博客首页,首先他注意到了首页罗列了一些文章,于是他开始浏览首页文章的内容,但发现前几篇的文章概要显示这些都不是他要找寻的目标,于是他开始滚动鼠标开始下拉,可能有点失去耐心,越到下面鼠标拖动的速度越快,直到他只关注文章的标题(但某些内容不一定能直观地体现在标题上),于是结果可想而知,第一步以失败告终;
  2. freak-out

  3. 首页的文章中没有找到想要的内容,于是我的朋友开始将目光转向网站的顶部导航,但不幸的是当时顶部导航只有“首页”、“关于”和“网站地图”3项,他只是将鼠标移上去,却始终没有点击,至少他认为这三项中没有他需要寻找的线索。当时他就开始抱怨“到底在哪里呀?”为了不至于让“用户”流失,我提醒了一句“网站地图里面可能有。”但这时的他可能沉浸在自己的思路里面,也可能没注意,或者他不太理解“网站地图”的含义,还是一个劲自己去摸索……
  4. 于是,我的朋友开始注意到侧边栏,一般侧边栏也是用于全局导航和局部导航的。但看到侧边栏不是一排毫无主次之分的列表,就是一推看似混乱的标签云,失去耐心的他已经无法静下来去细看了,于是还是Failed。
  5. 最后的出路就是站内搜索,当然他最终通过站内搜索找到了他想到的内容,但却经历了一段坎坷的过程,试想如果我没有明确告诉他这里有他要的信息,对于普通用户来说他们真会有如此的耐心吗?

  看到这些,我就意识到我的博客确实是应该做些改变了。从上面的测试过程中(我的朋友当了回临时的小白鼠,不好意思呀!)可以看到用户在我的博客中寻找信息的途径可能依次是:首页最新文章列表–>顶部导航栏–>侧边导航栏–>站内搜索(不知道你的网站用户是不是也是这样的),那么必须要对前几个途径做些调整和优化,以防止用户由于找不到想要的信息而流失,我是这样做的:

  a. 既然用户只关注首页文章列表中的前几篇文章,也就是最新发表的几篇文章(这个可以从网站点击热图上也可以看出有这个趋势),用户不习惯于经常地去进行下拉操作。那为何不把以前值得推荐和分享的文章放到首页醒目的位置进行展示呢?

featured-posts

  b. 根据用户的浏览习惯,用户偏向于使用网站的顶部导航,那么我就在顶部导航条上加些通俗易懂的标题:

featured-topics

  c. 侧边栏的内容,也许我的博客主题默认的侧边栏视觉上千篇一律(其实个人感觉标签云的显示方式还是很漂亮的,但无论从网站的Overlay还是点击热图的点击统计情况看,标签云上的关键词无法吸引过多的点击,所以有时个人感觉良好的页面设计不一定能吸引用户,一定要从用户的角度去观察和分析),那么我就把分类目录的字体和颜色进行改变,让其更能引人注意:

Category-Optimization

  上面我的博客中出现的问题,经过网站交互设计师的审视,他们可能可以用专业的眼光来解释问题所在,并用比我上面更加完美的处理方案来解决类似的问题,无论是优化交互流程、信息架构还是导航设计。但我是那方面的门外汉,所以在这里,我想用网站分析的角度来阐述下上面的问题,即网站定性分析方法中的网站实景访问调研(Site visits, also called follow-me-homes studies),下面就简单介绍一下:

  网站实景访问调研,是指用户调研人员去网站用户的原始环境(用户的生活或办公环境,如家中或者办公室这类真实环境中),观察用户在网站中完成任务的情况。与网站可用性实验最大的不同在于,网站实景访问调研完全在真实的环境中进行,因此用户会受到外部环境的干扰,如访客、电话、临时状况等,但观察到的结果也能更加真实地反映用户与网站交互的流程。

  还是参考Avinash Kaushik的《Web Analytics》一书中的内容,网站实景访问调研的操作步骤可以分3步进行:

1. 准备工作

  与用户约个时间,告诉他们不需要对他们日常的环境作任何改变,只需要按平日一样浏览网站并回答几个问题即可;准备调研的资料和笔记,分配调研的任务,设定测试的任务、问题等。

2. 引导用户完成调研

  • 分配给用户需要完成的任务,任务必须是明确的,并告诉他们只需要按照日常的方式访问网站;
  • 仔细观察用户的一举一动,包括他们在遇到问题时的表情及情绪,尽量抓住用户的每个细节,这对后期的分析将会很有利,必要时可以采用视频的方式记录全过程;
  • 尽量不要向用户提供任何提示,即使用户可能会遭遇到一些不小的麻烦;
  • 可以在结束的时候向用户提几个问题,但过程以观察为主,遵循80/20原则,80%的时间用于观察,20%的时间来提问;
  • 最后,在调研结束时不要忘记对用户说声“谢谢”。

3. 分析结果与优化

  这时,你已经掌握了用户与网站交互的最真实的记录,当然要趁热打铁,马上讨论和分析这次调研的成果。用户在完成任务时遇到了哪些问题,他们又试图通过何种方式去解决这些问题。当然再找到问题之后最关键的还是优化和解决的方案。

  网站实景访问调研,遵循了“用户为中心”的理念,对于了解用户的使用习惯,发现用户可能遇到的问题,及如何更好地满足用户的需求都具有十分重要的意义。但网站实景访问调研也十分的费时费力,同时无法获取过多的用户样本,所以对于反映问题的普遍性方面存在一定的不足。

  如果你有足够的资源,你可以做些这方面的尝试,相信结果不会让你失望的。当然,上面我的朋友的案例只是一个举例的介绍,实际的操作过程需要严谨很多,我的博客在交互设计和用户体验上也许还存在着各种不够合理的地方,欢迎各位专业人士提出宝贵的改进建议。

网站点击热图(Heat Map)

  网站分析通过统计点击流数据及网站产生的其他各类数据,提供各种数据报表来监控网站的运营状态,为网站的优化和改进提供参考依据。但网站分析能提供的绝不仅有数据,其中点击热图(Heat Map)是对网站分析的一个很好的扩充,目前网上介绍点击热图的文章也比较多,很多网站交互设计师用点击热图来评估用户与网站之间的交互状况从而改善用户体验。这里简单介绍几个点击热图的实现工具以及用我的博客做的点击热图的实验。

几款点击热图工具

  Sidney的博客中很早以前就介绍过一款点击热图的分析工具——Crazy Egg令人惊讶的优秀网站分析工具,文章是由Tenly写的。另外网上介绍比较多的点击热图工具还有ClickTabletealeaf,这些工具都是通过JS来实现的,只要在相应的页面上嵌入JS代码,就能在这些工具的网站上查看该页面的点击效果图,实现机制跟Google Analytics较为类似。这些工具一般都需要收费,但会有1个月的免费试用期,有兴趣的可以去试试。

  另外有一款开源的工具——ClickHeat,可以下载它的源代码部署到自己的服务器上,并在网站页面中嵌入相应的JS代码来生成点击热图,然后通过调用相应的页面查看。要部署ClickHeat,服务器需要支持PHP,同时因为点击的日志和所有统计结果都保存到了部署的服务器上,所以对服务器的空间和资源占用都比较高。

点击热图应用实例

  前段时间用我的博客做了下网站点击热图的试用实验,我用的是Click Density,跟ClickTable和Crazy Egg类似,也是通过嵌入JS的方法来实现的,在结果的输出页面可以选择点击的时间段、浏览器类型等条件对结果进行筛选,下面的生成的几张点击效果图:

Heat Map

heat-map

  因为我的博客访问量不大,所以热图的分布不是很明显,但还是能看出主要的点击集中在博客最新的文章上面;另外右侧的搜索、订阅和分类目录模块也占据了一定的点击比例。一般网站的点击都会聚集在全局导航栏的下面那一块,并且呈“F”型分布,在需要下拉的页面部分点击一般就会剧减(对于需要下拉查看的内容,除非用户找到了他们需要的信息,否则一般不会过多地进行点击)。

Click Map

click-map

  这张是点击分布图,红叉代表无效的点击,绿叉代表有效点击。这个图似乎比上面单纯的显示点击分布或点击密度更有价值,因为它显示了页面的有效点击,从图上可以看出用户在浏览我的博客时除了点击文章标题和搜索框外,订阅按钮上面也分布了大量的有效点击数,这个对于博客来说至关重要,因为博客类网站的一个重要目标就是产生订阅,所以通过这个图可以查看有多少有效点击转化成了网站目标,占总的点击比例及占总的有效点击的比例。

  另外可以看到图上的某些有效点击并非一定落在可点击的对象上,正是因为博客内容更新时导致页面元素(标题位置、内容摘要行数等)的偏移,而生成的点击不会跟随页面元素移动,导致了生成图片显示上的误差。

Hover Map

hover-map

  这个图其实相当与网页覆盖图(Overlay)或点击密度图(Click density),Google Analytics上面也提供了类似的功能。网页上可点击的位置会由虚线框圈起来,鼠标放到某个框上面就会显示该模块被点击的次数及点击转化率(CTR);另外如果你为你的网站设定了目标,那么同时也会显示点击该模块的目标转化率,对于分析网站的重要页面是个不错的选择。

点击热图的价值及缺陷

点击热图的价值

  1. 通过点击热图发现用户经常点击的模块或聚焦的内容;
  2. 观察页面中的哪些模块具有较高的有效点击数,用户会尝试去点击哪些模块;
  3. 应用于A/B测试,比较不同页面的点击分布情况;
  4. 用于改进网站交互和用户体验。

点击热图的缺陷

  1. 网站点击热图虽然提供了一种很直观的网站分析途径,但其功能还需完善,因为实现机制一般都是根据页面的坐标来定位点击位置,所以不同的分辨率和网站布局方式(居中等)都会导致结果的不准确;
  2. 在使用点击热图时需要记录用户每次点击的行为,所以会对网页的性能产生影响,导致网页的加载速度变慢;
  3. 当页面各元素的位置发生大范围变动时,点击热图的结果就失效了。

  最后顺便提一下,我的博客之前的一篇文章——网站数据分析的基本流程中介绍了DMAIC模型,当时我是在查PDCA戴明环的相关资料的时候不经意间发现的,感觉很适用于网站分析的流程。前几天在翻Avinash Kaushik的《Web Analytics》,发现书中也介绍了DMAIC模型,所以感觉DMAIC确实是梳理网站分析流程的一个不错的选择。

网站用户的生命周期价值

customer-LTV  Avinash Kaushik的博客中最近更新的一篇文章——Calculate Customer Lifetime Value,里面非常详细地论述了什么是网站用户的生命周期价值(Lifetime Value,简称LTV),及为什么要使用LTV这个指标。其中主要阐述的是在SEM及网站推广的过程中不要仅关注于一次访问(Visit)中的转化率(Conversion Rates)和CPA(Cost Per Acquisition)这些指标,计算用户在网站的整个周期中创造的总价值将更具意义,用户生命周期价值对于衡量网站的推广策略非常具有参考价值。

什么是用户的生命周期价值

  生命周期是指一个主体从开始到结束的发展过程,所以网站用户的生命周期可以解释为用户从与网站建立关系开始到与网站彻底脱离关系的整个发展过程,而用户的生命周期价值就是在这个过程中用户为网站所带来的价值总和。

  用户的生命周期可以分为4各阶段,如下图:

customer-LTV-curve

  从用户的生命周期曲线可以看出用户在于网站建立关系期间一般会经历4个阶段,每个阶段都为网站带来不同的价值:

  考察期:用户会试探性的偶尔来访问下网站,这个时候用户创造的价值比较低;

  形成期:用户可能已经有点喜欢上你的网站了,他们会不定期的进入网站,并开始尝试做些交互,同时用户创造的价值飞速提升;

  稳定期:用户成为了网站的忠实Fans,他们经常会光顾网站,不仅自己使用网站提供的服务,同时可能还会帮助宣传网站,这个用户创造的价值到达最高峰并保持相对稳定;

  退化期:用户由于某些因素而开始与网站的关系产生裂痕,进而迅速破裂直到彻底离开,这个时期用户创造的价值迅速递减。

  需要注意的是,用户不一定在到达稳定期后与网站的关系才会衰退,在任何时期,只要有某些因素影响了用户的满意度,用户的生命周期就可能进入退化期,进而彻底脱离该网站。

如何测量用户的生命周期价值

  Avinash Kaushik在他的博客中例举的一些例子比较多的是从电子商务网站的角度,因为电子商务网站用户的生命周期价值更易于被衡量,可以直接计算用户从使用该网站开始在网站中的总消费金额、净利润等,基于这些指标通过细分用户的不同来源,可以计算不同推广策略的投资回报率(ROI),进而区分优劣。

  这种基于用户生命周期价值的网站来源评价同样也可以用于一般的网站,但是普通网站一般没有交易和销售数据,也可能不是以网站的收益作为网站的目标,那么就不能用用户的交易金额作为评价用户价值的指标。如何定义一般网站的用户生命周期价值可以参考之前的几篇有关用户分析的文章:我们还是可以采用网站用户忠诚度分析中取自Google Analytics中评价用户忠诚度的4个指标——用户访问频率、最近访问时间、平均停留时间、平均浏览页面数。这些指标是所有网站都可以测量得到的,同时提高用户的忠诚度是所有网站的共同目标,忠诚用户对网站的价值是不言而喻的,他们不仅可以为网站带来持续的价值,同时在网站线下的品牌和口碑推广上起着关键的作用。那么这4个指标如何汇总来计算得到用户的总价值指标呢?可以参考用户综合价值评分体系这篇文章,使用层次分析法(AHP)得到各指标的权重,并通过加权求和的方式计算得出用户的总价值,用该结果就可以作为衡量用户生命周期价值的评价指标。

基于用户生命周期价值的分析

  基于网站用户生命周期价值的计算结果,我们可以通过以下几个方面来对用户进行细分:

  用户的访问来源:可以对通过计算搜索引擎、外部链接、社会化网络、直接登录等方式首次访问你的网站的用户的平均生命周期价值来比较哪些来源为网站带来了最多的有价值用户:

LTV-source-analysis

  上图中柱状图表示从各来源进入我的博客的新用户数,折线图表示从各来源进来的用户的生命周期价值的平均(该来源带来的所有用户的生命周期价值总和/该来源带来的用户数,10分制)。从上图可以看出对于我的博客来说,搜索引擎带来了最多的用户(可能大部分网站都是类似的情况),而从带来的用户的生命周期价值平均值来看,外部链接是最有价值的,直接进入次之(可以用于评价网站线下推广所带来用户的价值),社会化网络再次之。所以我一般会把我看到的一些介绍网站数据分析相关的博客添加到我的外部链接表中,如果你也有网站分析相关的博客,或者认为我的博客还不错,也希望能把我的博客添加到你的外部链接表中。

  用户首次访问中浏览的内容:基于内容的细分,比如以我的博客的文章分类进行细分。可以选取用户的生命周期价值排在前100的访问用户首次访问我的博客中访问了哪些分类目录下的文章:

LTV-content-analysis

  上图柱状图表示首次访问我的博客浏览各分类文章的用户数,折线图表示生命周期价值排名前100的用户首次访问我的博客时浏览的各文章分类。这个结果就很明显了,“网站定量分析”这个内容分类为我带来了最多的新用户,同时也为我带来了最多的有价值用户,也是有价值用户转化率最高的分类目录,“个人观点分享”次之。

用户生命周期价值分析中需要注意的问题

  最后不得不说的就是这个分析中存在的一大技术难点——如何定义一个用户的首次访问。

  首先就是如何识别用户是首次访问,也就是该访问用户是新用户(New Visitor),大家估计已经注意到了在Google Analytics工具中的Visitors模块中有一项是根据New和Returning对用户进行细分,Google Analytics可以根据是否存在Cookie来进行细分,用户识别还有很多其他方法,可以参考我之前的文章——网站用户的识别,但不得不说无论何种方法对新用户的识别都存在一定的不准确性。

  另外就是如何获取用户首次访问的数据的问题。一般网站保存的统计数据有一定的期限,或者网站的数据统计起步较晚,未能统计到网站的历史数据,尤其对于已经发展了一定时间的网站或者数据量比较大的网站来说,这类统计就更显困难重重,也许这个时候网站的数据仓库就可以发挥它的价值了,数据仓库的数据集成性和保留历史数据并且不易变更的特性让其有能力可以完成诸如此类的复杂数据获取。

  今天是全国哀悼日,让我们为所有在地震中逝去的生命默哀,同时希望生还者能够尽快从伤痛中走出来,并坚强地活下去!green-ribbon

网站分析的数据来源

Data-Center   Avinash Kaushik在他的《Web Analytics》一书中将数据的来源分为4部分:点击流数据(Clickstream)、运营数据(Outcomes)、调研数据(Research/Qualitative)和竞争对手数据(Competitive Data)。点击流数据主要指的是用户浏览网站时产生的数据;Outcomes我更习惯叫做运营数据,主要指用户在网站中应用服务或者购买产品时记录下来的数据;调研数据主要是网站通过某些用户调研手段(线上问卷或者线下调研)获取的一些定性数据;Competitive Data直译为竞争对手数据可能不太合适,因为根据Avinash Kaushik的阐述,更像是跟网站有业务关系或竞争关系或存在某种利益影响的一切网站的可能的数据来源。

  在获取上述几类数据的同时,也许我们还可以从其他方面获取一些更为丰富的数据。下面是我对网站分析数据获取途径的整理:

网站内部数据

  网站内部数据是网站最容易获取到的数据,它们往往就存放在网站的文件系统或数据库中,也是与网站本身最为密切相关的数据,是网站分析最常见的数据来源,我们需要好好利用这部分数据。

服务器日志

  随着网站应用的不断扩张,网站日志不再局限于点击流的日志数据,如果你的网站提供上传下载、视频音乐、网页游戏等服务,那么很明显,你的网站服务器产生的绝不仅有用户浏览点击网页的日志,也不只有标准的apache日志格式日志,更多的W3C、JSON或自定义格式的输出日志也给网站分析提供了新的方向。

  网站分析不再局限于网页浏览的PV、UV,转化流失等,基于事件(Events)的分析将会越来越普遍,将会更多的关注用户在接受网站服务的整个流程的情况:上传下载是否完成,速度如何;用户是否观看的整部视频,视频的加载情况;及用户在玩网页游戏时的操作和体验分析等。Google Analytics已经支持了基于事件的分析——Event Tracking,通过JS的动作响应获取数据,但是还存在着一定的局限性。

网站分析工具

  当然,通过网站分析工具获得数据是一个最为简便快捷的方式,从原先的基于网站日志的AWStats、webalizer,到目前非常流行的基于JS Tags的Google Analytics、Omniture的SiteCatalyst,及JS和网站日志通吃的WebTrends。通过网站分析工具获得的数据一般都已经经过特殊计算,较为规范,如PV、UV、Exit Rate、Bounce Rate等,再配上一些趋势图或比例图,通过细分、排序等方法让结果更为直观。

  但通过网站分析工具得到数据也不远只这些,上面的这些数据也一样可以通过统计网站日志获得,但网站分析工具的优势在于其能通过一些嵌入页面的JS代码获得一些有趣的结果,如Google Analytics上的Overlay或者也叫Click Density——网站点击密度分布,及一些其它的网站分析工具提供的点击热图,甚至鼠标移动轨迹图。这些分析结果往往对网站优化和用户行为分析更为有效。

数据库数据

  对于一般的网站来说,存放于数据库中的数据可以大致分为3个部分:

  • 网站用户信息,一般提供注册服务的网站都会将用户的注册账号和填写的基本信息存放在数据库里面;
  • 网站应用或产品数据,就像电子商务的商品详细信息或者博客的文章信息,如商品信息会包含商品名称、库存数量、价格、特征描述等;
  • 用户在应用服务或购买产品时产生的数据,最简单的例子就是博客上用户的评论和电子商务网站的用户购买数据,购买时间、购买的用户、购买的商品、购买数量、支付的金额等。

  当然,这一部分数据的具体形式会根据网站的运营模式存在较大差异,一些业务范围很广,提供多样服务的网站其数据库中数据的组合会相当复杂。

其它

Customer-Service

  其它一切网站运营过程中产生的数据,有可能是用户创造,也有可能是网站内部创造,其中有一大部分我们可以称其为“线下数据(Offline Data)”。如用户的反馈和抱怨,可能通过网站的交流论坛,也有可能通过网站时公布的客服电话、即时通讯工具等,如果你相信“客户中心论”,那么显然对于这些数据的分析必不可少;另外一部分来源就是网站开展的线下活动,促销或推广,衡量它们开展的效果或投入产出,以便于之后更好地开展类似的线下推广。

外部数据

  网站分析除了可以从网站内部获取数据以外,通过互联网这个开放的环境,从网站外部捕获一些数据可以让分析的结果更加全面。

互联网环境数据

  即使你的网站只是一个很小的网站,但如果想让你的网站变得更好,或者不至于落后于互联网的前进脚步,那么建议你关注一下互联网的发展趋势。可以上Alexa查一下互联网中顶级网站的访问量趋势;看看comScore发布的数据或者艾瑞的数据分析报告;如果经营电子商务网站,那么刚刚上线的淘宝数据中心也许会让你感兴趣。

竞争对手数据

  时刻关注竞争对手的情况可以让你的网站不至于在竞争中落伍。除了在Alexa及一些其他的网站数据查询平台以外,直接从竞争对手网站上获取数据也是另外一条有效的途径,一般网站会出于某些原因(信息透明、数据展示等)将自己的部分统计信息展现在网站上,看看那些数据对于掌握你的竞争对手的情况是否有帮助。

合作伙伴数据

  如果你有合作的网站或者你经营的是一个电子商务网站,也许你会有相关的产品提供商、物流供应商等合作伙伴,看看他们能为你提供些什么数据。

用户数据

  尝试跟踪用户的脚步去看看他们是怎么评价你的网站的。如果你的网站已经小有名气,那么尝试在搜索引擎看看用户是怎么评价你的网站,或者通过Twitter、新浪微博等看看用户正在上面发表什么关于你的网站的言论。

  当然通过用户调研获取数据是另外一个不错的途径,通过网站上的调查问卷或者线下的用户回访,电话、IM调查,可用性实验测试等方式可以获取一些用户对网站的直观感受和真实评价,这些数据往往是十分有价值的,也是普通的网站分析工具所获取不到的。

  在分析网站的外部数据的时候,需要注意的是不要过于相信数据,外部数据相比内部数据不确定性会比较高。网站内部数据即使也不准确,但我们至少能知道数据的误差大概会有多大,是什么原因造成了数据存在误差。而外部数据一般都是有其他网站或机构公布的,每个公司,无论是数据平台、咨询公司还是合作伙伴都可能会为了某些利益而使其公布的数据更加可信或更具一定的偏向性,所以我们在分析外部数据是需要更加严格的验证和深入的分析。而对于用户调研中获取的数据,我们一般会通过统计学的方法检验数据是否可以被接受,或者是否满足一定的置信区间,这是进行数据分析前必须完成的一步。

用户综合价值评分体系

user-value-scoring  前面的两篇文章介绍了基于点击流数据的适合所有网站的用户忠诚度分析及应用于电子商务网站的用户分析,并且通过雷达图可以直观的展示用户在各指标上的表现情况,我们可以通过雷达图上图形围成的面积来简单评价一个用户的综合价值。可能大家都有这样的疑问,当各指标的影响权重不同时(比如电子商务网站可能会更看重用户完成的订单数或者在一段时间内的交易额),在这种情况下我们该如何来评价用户的综合价值?如果你看过我的上一篇文章——层次分析法(AHP),相信你已经找到了满意的答案,是的,层次分析法可以很好地解决这个问题。下面就用层次分析法分别介绍一下用户忠诚度评价及电子商务网站用户的综合价值评分:

评价用户忠诚度

  用户忠诚度由4个指标——用户访问频率、最近访问时间、平均停留时间和平均浏览页面数决定,这4个指标没有明显的类别划分,并且可以认为是在同一层次上的相互独立的指标,所以只需要构建2层的模型:

AHP-model-for-user-loyalty

  我们需要计算底层每个指标对用户忠诚度的影响权重,只需要知道底层各指标间的相对比重,这个主要通过专家组或者问卷调研的方法获得数据,这里假设4个指标间两两比较的比重如下表(使用9标度):

  用户访问频率 最近访问时间 平均停留时间 平均浏览页面数
用户访问频率 1 7 3 3
最近访问时间 1/7 1 1/3 1/5
平均停留时间 1/3 3 1 1/3
平均浏览页面数 1/3 5 3 1

——表格中的数据是一个正互反矩阵,即如果“用户访问频率”与“最近访问时间”的比重为7(1-9标度的定义参见层次分析法那篇文章),则对应的表格(第2行第3列)的数值为7,矩阵对角线对称的表格(第3行第2列)的值为1/7。所以两两比较只需要完成对角线一侧的数据,另一侧取对应数值的倒数就可以了。

  因为指标间进行的是两两比较,所以整个矩阵的数据会存在不一致性,比如上表中的数据“用户访问频率”和“平均停留时间”、“平均浏览页面数”的比重都是3,那么一次应该推断“平均停留时间”和“平均浏览页面数”的比重应该是1,也就是同等重要,但是下面该比重的实际数据是1/3。所以可以看到两两比较的过程只在乎两个指标的关系,不存在推导关系,这样就会导致整个矩阵存在不一致性,在计算权重前需要验证矩阵的不一致性系数,只有小于0.1时,该矩阵的数据才能被采纳。

  根据表中两两比较的结果可以通过层次分析法的矩阵运算计算各指标的权重,如果你对excel足够熟悉的话在excel里面也可以实现,这里推荐使用AHP的分析工具——Expert Choice,在这个工具里面只要构建类似上面的树状模型,然后将上表的指标两两比较的结果输入进去,软件就会自动计算出各指标相对于目标的权重及整个模型的CR(一致性概率)。导入上面的模型,输入表格中指标两两比较数据,通过软件计算得出的CR=0.05<0.1,所以数据通过检验,可以进一步获取各指标的权重,得到以下的加权加权计算公式:

  用户忠诚度=用户访问频率*0.525+最近访问时间*0.056+平均停留时间*0.139+平均浏览页面数*0.279

  基于该结果,我们可以将标准化后的用户每个指标的评分数据进行加权求和,还是以网站用户忠诚度分析一文中的两个用户为例,采用的是10分值的评分体系,则计算用户的忠诚度如下:

评分 用户访问频率 最近访问时间 平均停留时间 平均浏览页面数 用户忠诚度
用户1 1.0 5.0 3.0 3.8 2.28
用户2 4.0 9.3 2.4 6.3 4.71
用户n …… …… …… …… ……

  通过上述的层次分析法,将多个评价指标的评分结果加权汇总到一个目标指标,有利于更直接地评价用户,通过上述结果可以算出每个网站用户的忠诚度评分,可以直接排序选择忠诚度排名靠前的用户展开定向营销。

评价电子商务网站用户的综合价值 

  通过上面的分析实例,大家对层次分析的应用应该有了一定的熟悉,那么对于更加复杂的多层次分析模型,层次分析法又是如何实现的呢?下面就以电子商务网站用户分析这篇文章中的指标体系为例来简要介绍下。首先也是构建评价指标体系模型,从电子商务的交易数据中获取的指标更为丰富,我们根据文中对指标的阐述,将指标进一步分层,可以建立起3层结构的模型,如下图:

AHP-model-for-E-commerce-user

  基于这个模型,需要使用3次AHP来计算:

  1. 忠诚度和消费能力对用户价值的影响权重;
  2. 最近购买时间、购买频率和购买产品种类对忠诚度的影响权重;
  3. 平均每次消费额和单次最高消费额对消费能力的影响权重。

  分别在每一步中获取指标两两比较的权重,计算矩阵的一致性概率CR,若通过则计算获得每个指标对上层相应指标的影响权重系数,最终我们可以得到类似如下的结果:

  用户价值=忠诚度*0.67+消费能力*0.33

  忠诚度=最近购买时间*0.12+购买频率*0.64+购买产品种类*0.24

  消费能力=平均每次消费额*0.67+单词最高消费额*0.33

则可以推导的出用户价值的直接计算公式:

  用户价值=(最近购买时间*0.12+购买频率*0.64+购买产品种类*0.24)*0.67+(平均每次消费额*0.67+单词最高消费额*0.33)*0.33  →

  用户价值=最近购买时间*0.08+购买频率*0.43+购买产品种类*0.16+平均每次消费额*0.22+单词最高消费额*0.11

  还是用文中例举的两个用户为例来计算他们的综合价值评分,如下表:

评分 最近购买时间 购买频率 购买产品种类 平均每次消费额 单词最高消费额 忠诚度 消费能力 用户价值
用户1 2 3 3 8 9 2.88 8.33 4.68
用户2 7 7 8 6 5 7.24 5.67 6.72
用户n …… …… …… …… …… …… …… ……

  从上表可以看出,在运用层次分析法获得的分析结果中,不仅能够计算出最终的目标指标(用户价值)的评分,同时也能够计算得到模型的中间层指标(忠诚度和消费能力)的评分,这样我们不仅能够通过直接比较用户的综合价值评分获取网站的重要用户,同时忠诚度和消费能力的评分也为针对用户的细分提供了一个有力的量化数值参考依据,如下图:

E-commerce-user-value-plot

——100个随机样本数据的散点分布,图中的数据仅供参考,不代表任何网站的实际情况

  上面的散点图是对用户忠诚度和消费能力的一个简单展示,从图中点的聚集情况(或者点分布的密集度)可以将图简单分成4块,满足各分块内部的各点间距离最短(最密集)及各分块间的点分布距离最长(最离散),其实可以看做是一个最简单的聚类,从中可以看出电子商务网站用户特征的分布情况:

  • 从C区域可以看出用户较多地分布在忠诚度和消费能力评分为3附近的区域,也是网站最普遍的客户群;
  • B区域的用户是网站的最有价值客户(VIP),但是数量相当稀少,可能不到10%;
  • 在A区域有一个点密集区间(忠诚度1-2、消费能力8-9),可以认为是网站的高级消费用户群,他们消费不多,但消费额很高,如果你的网站提供高级消费品、批发、团购等服务的话,那么他们就可能是那方面的客户群;
  • D区域的用户虽然消费能力也不强,但他们是你的网站的忠实Fans,不要忽视这些用户,他们往往是网站线下营销和品牌口碑传播的有利拥护者。

  通过类似上面的分析过程,我们可以发现电子商务网站用户的某些特征,为网站的运营方向和营销策略提供一定的决策支持。

  这篇文章里面主要讨论的是运用层次分析法对网站用户的一个评价应用案例,其实层次分析法不仅适用于网站用户的评价,同样适用于网站页面、产品、来源、关键词及其它任何牵涉多指标可分层的评价,关键在于如何建立起一套系统的有效的指标评价体系。如果你有更好的扩展思路,欢迎与我评论交流。

层次分析法(AHP)

  层次分析法(Analytic Hierarchy Process)简称AHP,是美国运筹学家T. L. Saaty教授于70年代初期提出的, AHP是对定性问题进行定量分析的一种简便、灵活而又实用的多准则决策方法。它的特点是把复杂问题中的各种因素通过划分为相互联系的有序层次,使之条理化,根据对一定客观现实的主观判断结构(主要是两两比较)把专家意见和分析者的客观判断结果直接而有效地结合起来,将每个层次元素两两比较的重要性进行定量描述。而后,利用数学方法计算反映每一层次元素的相对重要性次序的权值,通过所有层次之间的总排序计算所有元素的相对权重并进行排序。

层次分析法的适用范围

  层次分析法适用于多目标决策,用于存在多个影响指标的情况下,评价各方案的优劣程度。当一个决策受到多个要素的影响,且各要素间存在层次关系,或者有明显的类别划分,同时各指标对最终评价的影响程度无法直接通过足够的数据进行量化计算的时候,就可以选择使用层次分析法。

AHP的模型结构

  首先,可以根据实际问题构建层次模型,这里以网站质量的衡量为例来简单说明下,我们可以认为网站质量主要由网站内容的质量及网站交互的友好度决定,而内容的质量又受到内容的完整性、准确性和及时性的影响;交互的友好度由交互流程的友好度及网站的整体信息架构的优良程度来决定,所以可以构建如下图的模型:

AHP-model

  为了计算各要素对上一层指标的影响权重(如内容的准确性对内容质量的影响程度有多高,需要计算出该权重,而完整性、准确性和及时性3个指标对内容质量的影响权重的和为1,其它各指标也同样满足该原则),需要构建对比矩阵,即从模型的第二层开始运用9标度对从属于上一层中每个要素的同层各要素间进行两两比较,如模型中的要素i相对于要素j对上层要素的重要程度,1表示i与j同等重要,3表示i比j略重要,5表示i比j重要,7表示i比j重要很多,9表示i比j极其重要,可以用Wi/Wj表示该重要程度,两两比较后可以得到以下矩阵:

AHP-matrix

  因为上面的矩阵是通过两两比较的结果列出来的,所有对于整个矩阵而言不一定是完全一致的,所以首先需要验证该对比矩阵的一致性。可以通过计算矩阵的最大特征值的方法来衡量矩阵的一致性,相关的指标有一致性指标CI,随机一致性指标RI,一致性比率CR=CI/RI(具体的计算方法不详细介绍了,可以参考相关资料)。一般当CR<0.1时,我们认为该对比矩阵的一致性是可以被接受的。

  如果矩阵的一致性满足要求,则可以根据矩阵的最大特征值进一步计算得到对应的特征向量,并通过对特征向量进行标准化(使特征向量中各分量的和为1)将其转化为权向量,也就是我们要求的结果,权向量中的各分量反映了各要素对其相应的上层要素的影响权重。如:

  网站质量=内容质量*0.6+交互友好*0.4

  内容质量=完整性*0.3+准确性*0.4+及时性*0.3

  交互友好=交互流程*0.7+信息架构*0.3

   在计算得到各要素相对于上层要素的权重之后,我们就可以通过加权平均的方法将最底层指标的测量结果汇总到目标指标的最总分值,用于评价各决策方案的优劣性,并选择最优方案。如:

  网站质量=(完整性*0.3+准确性*0.4+及时性*0.3)*0.6+(交互流程*0.7+信息架构*0.3)*0.4

层次分析法的应用前提

  在应用层次分析法时,必须满足以下几个前提:

  • 各层的要素必须是已知的,并且条理结构清晰,能够按层次区分排列;
  • 同一层中的各要素的关系是平等的,而各要素间相互独立,不存在显著的相关性;
  • 最底层的指标可以被量化,并能够通过一定的方法测量;
  • 需要明确各层次间要素的影响关系。