月度归档:2010 年二月

网站数据分析的基本流程

  网站数据分析没有规范的分析流程容易使最后的结果逻辑混乱或者偏离原来的主题,所以一套规范的流程能够使网站分析更加清晰和有效。

  网站分析其实就是一个发现问题、分析问题的解决问题的过程。问题的发现可以来源于多方面:网站运营中遇到的问题、用户的反馈和抱怨、日常统计数据的表现异常等;分析问题的过程就是根据遇到的问题运用合理的方法对其进行解释,这也是本站重点探讨的方向;而最后的解决问题则是最为关键的一点,也是目前最被忽视的一点,目前的网站分析工作往往在找到问题后无法落实到寻求最优的解决方案并执行和解决问题这一点上,即使采取了相应的措施也无法进行持续的反馈,并从根本真正地解决问题,很多只是针对一时的举措,而解决问题的过程恰好是最能体现公司执行力的时候,如果没有最终解决问题或者实现优化,那么网站分析就没有丝毫的价值。

  随着互联网的不断发展成熟,网站的发展趋势将更加规范化、精细化,更加注重用户体验,今后的网站建设很重要的一点就是网站的质量管理,所以这里就借用质量管理里面的六西格玛中的DMAIC循环来梳理一下网站数据分析的流程,DMAIC是PDCA质量环的改进,这里将其核心设置为“用户体验”,因为不同网站会有不同的目标,而提高“用户体验”可以说是所有网站的共同目标。

DMAIC

  正如上图所示,基于DMAIC循环,网站数据分析的流程也可以用这5步来实现:

定义(Define)

  原意是识别和确定用户需求,定义任务的目标和意义。对于网站数据分析来说,可以表述为确定这次分析所针对的问题是什么,分析最终需要达到何种目的,对网站有何实际的意义,同时需要确定分析的范围,及规划本次分析工作的进度和质量控制。

测量(Measure)

  原意是收集数据,量化分析。对于网站数据分析来说,同样也是一个收集和获取数据的过程,尽量获得完整、真实、准确的数据,做好数据的预处理工作,便于分析工作的开展。

分析(Analyze)

  原意是使用数据统计和分析的方法找到问题的本质。分析不只是对数据的简单统计描述,其结果不应该是一张报表和趋势图这么简单,分析的本质应该是从表面的数据中找到问题的本质,最后需要第一步针对的问题进行归纳和总结。同时需要注意的是分析要紧跟“定义”,不能偏离问题的范围和本质。

改进(Improve)

  原意是找到最优的解决方案,是问题得到解决或者使问题的负面影响降到最低。个人认为这一步是最为关键的一步,也是目前很多网站分析工作中较为忽视的一步,很多网站分析只是呈现结果,缺少解决问题的方案,这就相当于找到了管道的漏水点却任由其漏水而不作处理,任何不付诸实践的分析结果都是废纸,毫无意义。同时这一步也是最考验网站执行力的一个步骤。

控制(Control)

  原意是监控改进的结果,使相同问题不再重现。这一步无疑是目前最被忽略的一步,很多改进方案实施之后根本不会再去关注反馈情况,而有些改进方案治标不治本,就像网站的访问量无法通过一两次的推广活动通过本质上的提升,关键还在于网站本身的质量,推广活动可能让数据在短期内获得提升,但想要保持长期地增长还是需要不断地优化和改进。所以“控制”要的是持续的反馈和监控,并不断寻找能从最根本上解决问题的最优方案。

  所以,网站建设是一个循序渐进的过程,很多网站数据分析也是长期的,不断监视、跟踪并改进,而DMAIC循环也正体现了这个概念,通过不断地网站分析来提高网站质量,提高用户体验。

数据仓库的价值

value-of-data-warehouse  相信大家都了解数据仓库的4个基本特征:面向主题的、集成的、相对稳定的、记录历史的,而数据仓库的价值正是基于这4个特征体现的:

1、高效的数据组织形式

  面向主题的特性决定了数据仓库拥有业务数据库所无法拥有的高效的数据组织形式,更加完整的数据体系,清晰的数据分类和分层机制。因为所有数据在进入数据仓库之前都经过清洗和过滤,使原始数据不再杂乱无章,基于优化查询的组织形式,有效提高数据获取、统计和分析的效率。

2、时间价值

  数据仓库的构建将大大缩短获取信息的时间,数据仓库作为数据的集合,所有的信息都可以从数据仓库直接获取,数据仓库的最大优势在于一旦底层从各类数据源到数据仓库的ETL流程构建成型,那么每天就会有来自各方面的信息通过自动任务调度的形式流入数据仓库,从而使一切基于这些底层信息的数据获取的效率达到迅速提升。

  从应用来看,使用数据仓库可以大大提高数据的查询效率,尤其对于海量数据的关联查询和复杂查询,所以数据仓库有利于实现复杂的统计需求,提高数据统计的效率。

3、集成价值

  数据仓库是所有数据的集合,包括日志信息、数据库数据、文本数据、外部数据等都集成在数据仓库中,对于应用来说,实现各种不同数据的关联并使多维分析更加方便,为从多角度多层次地数据分析和决策制定提供的可能。

4、历史数据

  记历史是数据仓库的特性之一,数据仓库能够还原历史时间点上的产品状态、用户状态、用户行为等,以便于能更好的回溯历史,分析历史,跟踪用户的历史行为,更好地比较历史和总结历史,同时根据历史预测未来。

数据的标准化

  数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

  其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:

min-max标准化(Min-max normalization)

  也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:

  其中max为样本数据的最大值,min为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

log函数转换

  通过以10为底的log函数转换的方法同样可以实现归一下,具体方法如下:

  看了下网上很多介绍都是x*=log10(x),其实是有问题的,这个结果并非一定落到[0,1]区间上,应该还要除以log10(max),max为样本数据最大值,并且所有的数据都要大于等于1。

atan函数转换

  用反正切函数也可以实现数据的归一化:

  使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上。

  而并非所有数据标准化的结果都映射到[0,1]区间上,其中最常见的标准化方法就是Z标准化,也是SPSS中最为常用的标准化方法:

z-score 标准化(zero-mean normalization)

  也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

  其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

电子商务网站RFM分析

  根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有三个神奇的要素,这三个要素构成了数据分析最好的指标: 

  • 最近一次消费(Recency)
  • 消费频率(Frequency)
  • 消费金额(Monetary)

  RFM分析原多用于传统营销、零售业等领域,适用于拥有多种消费品或快速消费品的行业,只要任何有数据记录的消费都可以被用于分析。那么对于电子商务网站来说,网站数据库中记录的详细的交易信息,同样可以运用RFM分析模型进行数据分析,尤其对于那些已经建立起客户关系管理(CRM)系统的网站来说,其分析的结果将更具意义。

基本概念解释

  RFM模型是衡量客户价值和客户创利能力的重要工具和手段。RFM分析模型主要由三个指标组成,下面对这三个指标的定义和作用做下简单解释:

最近一次消费(Recency)

  最近一次消费意指用户上一次购买的时间,理论上,上一次消费时间越近的顾客应该是比较好的顾客,对提供即时的商品或是服务也最有可能会有反应。因为最近一次消费指标定义的是一个时间段,并且与当前时间相关,因此是一直在变动的。最近一次消费对营销来说是一个重要指标,涉及吸引客户,保持客户,并赢得客户的忠诚度。

消费频率(Frequency)

  消费频率是顾客在一定时间段内的消费次数。最常购买的消费者,忠诚度也就最高,增加顾客购买的次数意味着从竞争对手处偷取市场占有率,由别人的手中赚取营业额。

  根据这个指标,我们又把客户分成五等分,这个五等分分析相当于是一个“忠诚度的阶梯”(loyalty ladder),其诀窍在于让消费者一直顺着阶梯往上爬,把销售想像成是要将两次购买的顾客往上推成三次购买的顾客,把一次购买者变成两次的。

消费金额(Monetary)

  消费金额是对电子商务网站产能的最直接的衡量指标,也可以验证“帕雷托法则”(Pareto’s Law)——公司80%的收入来自20%的顾客。

数据获取与分析

  在从数据库中提取相关数据之前,首先需要确定数据的时间跨度,根据网站销售的物品的差异,确定合适的时间跨度。如果经营的是快速消费品,如日用品,可以确定时间跨度为一个季度或者一个月;如果销售的产品更替的时间相对久些,如电子产品,可以确定时间跨度为一年、半年或者一个季度。在确定时间跨度之后就可以提取相应时间区间内的数据,其中:

  最近一次消费(Recency),取出来的数据是一个时间点,需要由 当前时间点-最近一次消费时间点 来作为该度量的值,注意单位的选择和统一,无论以小时、天为单位;

  消费频率(Frequency),这个指标可以直接在数据库中COUNT用户的消费次数得到;

  消费金额(Monetary),可以将每位客户的所有消费的金额相加(SUM)求得。

  获取三个指标的数据以后,需要计算每个指标数据的均值,分别以AVG(R)、AVG(F)、AVG(M)来表示,最后通过将每位客户的三个指标与均值进行比较,可以将客户细分为8类:

Recency  Frequency Monetary 客户类型
重要价值客户
重要发展客户
重要保持客户
重要挽留客户
一般价值客户
一般发展客户
一般保持客户
一般挽留客户

——“↑”表示大于均值,“↓”表示小于均值,多谢nancy的提醒,表中Recency的箭头应该是倒过来的,下面的图中也是

结果的展示

  RFM模型包括三个指标,无法用平面坐标图来展示,所以这里使用三维坐标系进行展示,一种X轴表示Recency,Y轴表示Frequency,Z轴表示Monetary,坐标系的8个象限分别表示8类用户,根据上表中的分类,可以用如下图形进行描述:

RFM-model

  RFM分析也存在着一定的缺陷,它只能分析有交易行为的用户,而对访问过网站但未消费的用户由于指标的限制无法进行分析,这样就无法发现潜在的客户。所以在分析电子商务网站的用户时,由于网站数据的丰富性——不仅拥有交易数据,而且可以收集到用户的浏览访问数据,可以扩展到更广阔的角度去观察用户,这方面的定量分析会在之后的网站用户分析中进行详细叙述。

以上部分的概念来源于MBA智库百科

关于网络机器人

google-spider   网络机器人也叫网络蜘蛛(Web Spider),是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络机器人通过网页的链接地址来寻找网页,通常由网站首页开始,根据链接依次抓取网页。

  并非所有的网络机器人都是搜索引擎,同样会有翻译服务、订阅服务、阅读器等,甚至还有许多恶意机器人也会市场来访问你的网站。所以对网站中网络机器人相关的数据统计和分析也是部分必要的。

统计机器人信息的作用

  • 分析页面是否被搜索引擎编入
  • 统计搜索引擎搜索频率
  • 找出哪些页面被搜索引擎忽略了
  • 识别恶意机器人

恶意机器人行为特征

  恶意机器人对网站的负面影响有时是十分显著的,所以我们需要通过数据分析来找出它们,并且屏蔽他们的访问或抓取行为。

  通常恶意机器人通过抓取网站信息来获得用户的隐私信息,或者获取网站中受保护的或私有的信息,通过将出售这些用户信息获利;或者恶意机器人通过不断地爬取给网站造成不必要的负担,降低网站的访问性能,从而影响其他正常用户的访问。恶意机器人的行为特征主要有如下几种:

  1. 忽略robot.txt的说明;
  2. 访问robot.txt中被禁止抓取的页面;
  3. 快速地索引整个网站从而降低真正用户的性能;
  4. 通过动态页面紧跟你不想索引的链接。

识别恶意机器人的方法

  既然恶意机器人的行为对网站有害,那么我们如何有效地去识别哪些是恶意机器人呢?下面有三种常用的方法:

1) 通过Agent字段,建立网络机器人白名单;

  因为一般像google、baidu等搜索引擎的机器人都会在Agent信息中标明自己的身份,我们可以将这些机器人建立白名单,允许其对网站的访问和抓取。

2) 检查发出请求的IP和域名;

  与Agent识别类似,通过IP或者域名进行识别也是比较有效的一个方法,因为一些常见的机器人的IP地址区间及其域名都是相对固定的,网上也有相关的列表提供参考。

3) 统计所有查看过robot.txt的会话及用户。

  一般只有机器人或者某些想窥视信息的人才会访问robots.txt,通过统计网站的robots.txt被那些用户访问了,可以进一步确定是否有恶意机器人的存在。

WEB日志格式

 apache-log  WEB日志是网站分析和网站数据仓库的数据最基础来源,了解其格式和组成将有利于更好地进行数据的收集、处理和分析。

1、日志格式类型

  目前常见的WEB日志格式主要由两类,一类是Apache的NCSA日志格式,另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普通日志格式(CLF)和NCSA扩展日志格式(ECLF)两类,目前最常用的是NCSA扩展日志格式(ECLF)及基于自定义类型的Apache日志格式;而W3C扩展日志格式(ExLF)具备了更为丰富的输出信息,但目前的应用并不广泛,所以这里主要介绍的是NCSA扩展日志格式(ECLF)。

2、常见日志格式的组成

  这是一个最常见的基于NCSA扩展日志格式(ECLF)的Apache日志样例:

58.61.164.141 – - [22/Feb/2010:09:51:46 +0800] “GET /reference-and-source/weblog-format/ HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

  可以看到这个日志主要由以下几个部分组成:

访问主机(remotehost)

  显示主机的IP地址或者已解析的域名。

标识符(Ident)

  由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示,因为涉及用户邮箱等隐私信息,目前几乎所有的浏览器就取消了这项功能。

授权用户(authuser)

  用于记录浏览者进行身份验证时提供的名字,如果需要身份验证或者访问密码保护的信息则这项不为空,但目前大多数网站的日志这项也都是为空的。

日期时间(date)

  一般的格式形如[22/Feb/2010:09:51:46 +0800],即[日期/月份/年份:小时:分钟:秒钟 时区],占用的的字符位数也基本固定。

请求(request)

  即在网站上通过何种方式获取了哪些信息,也是日志中较为重要的一项,主要包括以下三个部分:

  请求类型(METHOD)

  常见的请求类型主要包括GET/POST/HEAD这三种;

  请求资源(RESOURCE)

  显示的是相应资源的URL,可以是某个网页的地址,也可以是网页上调用的图片、动画、CSS等资源;

  协议版本号(PROTOCOL)

  显示协议及版本信息,通常是HTTP/1.1或HTTP/1.0。

状态码(status)

  用于表示服务器的响应状态,通常1xx的状态码表示继续消息;2xx表示请求成功;3xx表示请求的重定向;4xx表示客户端错误;5xx表示服务器错误。

传输字节数(bytes)

  即该次请求中一共传输的字节数。

来源页面(referrer)

  用于表示浏览者在访问该页面之前所浏览的页面,只有从上一页面链接过来的请求才会有该项输出,如果是新开的页面则该项为空。上例中来源页面是google,即用户从google搜索的结果中点击进入。

用户代理(agent)

  用于显示用户的详细信息,包括IP、OS、Bowser等。

3、日志格式扩展

  apache日志格式可以自定义来配置其输出格式,常见的基于NCSA扩展日志格式(ECLF)自定义添加的包括域名(domain)cookie。其中域名在一个网站拥有二级域名或者子域名时,可以更好地区分日志;而cookie可以作为用户的身份标识。其他具体的自定义信息详见:Custom Log Formats

开篇

set-sail   欢迎来到网站分析的世界,这是一个充满趣味的世界,在这里,你可以找到与网站数据仓库和数据分析相关的知识,有意思的分析方法和分析结果,希望这里的一切能让你的网站变得更加优秀。
  这是博客的第一篇文章,这里有几个有意思的问题,大家可以尝试着去找到答案(试图通过搜索引擎去寻找答案可能会让你失望,下面的问题都是作者的原创或改编):

1、寻找数字规律

  这里有20个数字,其中第9个数字缺失了,试着寻找到它们的排列规律,并预测出第9个数字最有可能是什么?

1,1,2,4,6,9,14,21,____,43,55,67,77,85,91,94,96,98,99,99

2、一道逻辑题

  有ABCDE五个人去参加一个聚会,他们来自不同的城市,拥有不同的职业、穿着不同色调的服饰,按照一定的顺序先后到达并各自点了5种不同的饮料,其中:

  1. D 的职业是教授;
  2. 第3位到达的人点了杯牛奶;
  3. B 和律师相邻到达;
  4. 北京人穿着红色的衣服;
  5. 工程师和 A 相邻到达;
  6. 工程师和点了一杯水的人相邻到达。
  7. 作家点了杯啤酒;
  8. 最早到的是广州人;
  9. C 来自杭州;
  10. 青岛人点了茶;
  11. 穿着黑色衣服的人正好在穿白色衣服的人之前到达;
  12. 上海人的职业是医生;
  13. 广州人与穿蓝衣服的人相邻到达;
  14. 律师穿着黄色的衣服;
  15. 穿黑衣服的人点了杯咖啡;

  你能推理出ABCDE五个人的到达次序,以及他们各自来自哪个城市、从事什么职业、穿着什么颜色的衣服及到达之后点了何种饮料吗?

3、一道图形题

Figure-Completion

  上面是形状各异的8种图形,它们从左到右分别编号1-8号,请问:

1)如果2、4、8号图形归为同一类别,那么请再选择一个图形放入该类型,能使该类别中的所有图形具有最多的共同特征;

2)试着将上述8个图形分成3到4个类别,并使每个类别中的所有图形具有最多的共同特征,同时各类别间特征的差异最大。(也许分法有多种)

4、尝试做个预言家

  3个月前,facebook的用户量以无法阻挡的势头超越yahoo,预示着以WEB2.0为基础的信息集成开放平台已经替代传统的信息内容发布商,成为了互联网信息交互新的主导力量。

yahoo-facebook

  而在此同时,另外一股新兴的力量也在强势崛起,twitter的follow的概念让信息传播的速度以指数的形式迅速扩张,其同样简洁、实时的功能正在对传统的IM工具构成挑战:

msn-twitter

  twitter拥有了更广阔的平台和更透明的信息传递方式,是否也会在某一天,twitter的用户量会超越MSN成为即时信息传递的新宠,大家有兴趣的可以预测一下,在不久的将来会不会有这么一天,大概会在何时?

  也许你已经找到了自己的答案了,作者对以上问题的解释请参见你找到答案了吗?