随着互联网的不断发展,信息更注重实时性,微博的风靡,搜索引擎相继推出实时搜索的功能,但是对于网站分析而言实时的数据是否更有意义呢?
其实看数据看报表的人往往希望数据越实时越好,他们希望掌握网站每个小时甚至每十分钟的变化情况,能够对网站的当前状况了如指掌,能够发现问题并快速响应。但其实如果你问下他们在知道了网站数据的实时变化情况后,或者在某个时间段网站访问量突然剧增或者剧增,我们又能做些什么?我估计大多数人答不上来。刚好前段时间在做网站的实时数据统计相关的工作,所以有些想法在这里分享一下。
实时统计的优缺点
先不说实时统计到底有用还是没用,先看看如果需要获得实时的统计数据需要做些什么,以及实时的数据能够给我们带来什么,也就是实时统计的Pros and Cons。
首先从技术的角度来看一下,很明显实时的数据统计需要更多的资源占用,因为网站分析的数据大部分是需要从点击流数据中计算得到的,并没有现成的结果数据可以直线获取显示。从点击流中获得的数据需要进行计算和汇总,无疑这些操作需要更多的成本,特别对于大型网站的大数据量处理而言,同时实时数据增加了实现的复杂度,并可能会在某种程度上增加数据的不准确性。
但是实时的数据统计可以展现在技术层面上处理数据的能力,同时可以提供更丰富的报表展示,甚至在报表上使用动态的趋势图表进行实时刷新,在显示效果上自然不用说,所以有时候很多技术人员也很乐意做这些工作。
再从数据应用和分析的角度来看一下,目前很多实时数据统计的结果用于展示网站实时流量的变化情况,哪个时间段的访问量最高,或者网站的整体活跃度最高,同时可以分析每天各小时的流量或用户数分布,但这些分析的对于网站到底有多大的意义?即使知道网站在晚上8、9点的时候有最多的在线用户,我们又能做些什么?网站的压力测试显然不需要通过这种方式来完成。
所以个人认为实时统计更多的是对网站实时状态的监控,对于分析而言,没有多大的实际意义,至于能对网站的优化和决策支持起到多少作用,至少我还没有想到。
记到Avinash Kaushik在书中提到过一句话:“Real-Time Data: It’s Not Really Relevant, and It’s Expensive to Boot.” 其实我对这句话非常赞同。很多人都会觉得获取实时数据将更有利于做出实时的响应,细粒度的数据也为数据的分析提供了更加细节的基础数据,我们可以基于此做更多的分析工作,但我们需要认清实时数据给我们带来的成本及其真正的价值到底能够体现多少。Avinash Kaushik同时还列举了5中典型的获取实时数据所造成的消极影响,大致可以概括为以下几点:
不要一味追求数据的量,更应该注重数据的质,并通过有效的分析来体现数据的价值; 不符合10/90的原则,实时数据在获取上的成本显然无法和分析价值达成1:9的比例; 过多地关注实时数据会在分析工具的选择上造成拘束,无法使用真正优秀的网站分析工具; 技术上的系统资源占用、任务调度以及复杂的流程; 在某种程度上可能增加数据的不准确性。
当然实时数据也不是一点价值都没有,只是出于其成本的考虑,没有必要对每个分析指标进行实时统计,或者花费大量的精力去关注实时数据。
实时数据的价值
其实无论是Google Analytics还是百度统计,都提供了部分指标的每小时的统计数据。百度统计将实时数据统计放在网站概况里面显示,也就是用户只要一登录就能看到当天的PV、UV等整点数据的变化趋势:
而在Google Analytics中,可能我们会发现GA一般都是以天为单位显示各度量,但其实GA也有以整点统计的数据,只是潜藏的比较“深”,在Visitors—Visitor Trending里面,在Visits、Pageviews、Bounce Rate等报表中会发现右上方时间区间选择下面的时间汇总粒度多了一个选项——Hour,选择后就会看到每天个小时的数据变化趋势:
实时数据也并非一无是处,Avinash Kaushik认为当一个公司具有快速的分析能力、快速的决策能力和快速的执行能力时,那么实时的数据就能创造其价值。我这里举几个我想到的应用,如果我们能够获取到每小时的统计数据,那么我们就能知道网站在哪个时间段具有最高的用户访问数,可以在这个时间段做些推广活动,并通过实时的数据统计分析活动的效果,做出快速合理的反应。比如“秒杀”活动就需要在极短的时间内完成统计并展示结果,当然前提是需要在后台的统计系统可以承受的条件下。
最后还是借用Avinash Kaushik的一句话作为总结:如果只是为了看实时数据而进行实时统计,而不是根据实时数据做出相应的action,那么实时数据就是相当昂贵的。
轮到你了,大家有什么在实时数据分析上的想法吗?也许可以让我之前实现的实时数据产生除了实时监控外更有价值的结果,欢迎留言评论。