关于实时数据统计

real-time-data  随着互联网的不断发展,信息更注重实时性,微博的风靡,搜索引擎相继推出实时搜索的功能,但是对于网站分析而言实时的数据是否更有意义呢?

  其实看数据看报表的人往往希望数据越实时越好,他们希望掌握网站每个小时甚至每十分钟的变化情况,能够对网站的当前状况了如指掌,能够发现问题并快速响应。但其实如果你问下他们在知道了网站数据的实时变化情况后,或者在某个时间段网站访问量突然剧增或者剧增,我们又能做些什么?我估计大多数人答不上来。刚好前段时间在做网站的实时数据统计相关的工作,所以有些想法在这里分享一下。

实时统计的优缺点

  先不说实时统计到底有用还是没用,先看看如果需要获得实时的统计数据需要做些什么,以及实时的数据能够给我们带来什么,也就是实时统计的Pros and Cons。

  首先从技术的角度来看一下,很明显实时的数据统计需要更多的资源占用,因为网站分析的数据大部分是需要从点击流数据中计算得到的,并没有现成的结果数据可以直线获取显示。从点击流中获得的数据需要进行计算和汇总,无疑这些操作需要更多的成本,特别对于大型网站的大数据量处理而言,同时实时数据增加了实现的复杂度,并可能会在某种程度上增加数据的不准确性。

  但是实时的数据统计可以展现在技术层面上处理数据的能力,同时可以提供更丰富的报表展示,甚至在报表上使用动态的趋势图表进行实时刷新,在显示效果上自然不用说,所以有时候很多技术人员也很乐意做这些工作。

  再从数据应用和分析的角度来看一下,目前很多实时数据统计的结果用于展示网站实时流量的变化情况,哪个时间段的访问量最高,或者网站的整体活跃度最高,同时可以分析每天各小时的流量或用户数分布,但这些分析的对于网站到底有多大的意义?即使知道网站在晚上8、9点的时候有最多的在线用户,我们又能做些什么?网站的压力测试显然不需要通过这种方式来完成。

  所以个人认为实时统计更多的是对网站实时状态的监控,对于分析而言,没有多大的实际意义,至于能对网站的优化和决策支持起到多少作用,至少我还没有想到。

  记到Avinash Kaushik在书中提到过一句话:“Real-Time Data: It’s Not Really Relevant, and It’s Expensive to Boot.” 其实我对这句话非常赞同。很多人都会觉得获取实时数据将更有利于做出实时的响应,细粒度的数据也为数据的分析提供了更加细节的基础数据,我们可以基于此做更多的分析工作,但我们需要认清实时数据给我们带来的成本及其真正的价值到底能够体现多少。Avinash Kaushik同时还列举了5中典型的获取实时数据所造成的消极影响,大致可以概括为以下几点:

  1. 不要一味追求数据的量,更应该注重数据的质,并通过有效的分析来体现数据的价值;
  2. 不符合10/90的原则,实时数据在获取上的成本显然无法和分析价值达成1:9的比例;
  3. 过多地关注实时数据会在分析工具的选择上造成拘束,无法使用真正优秀的网站分析工具;
  4. 技术上的系统资源占用、任务调度以及复杂的流程;
  5. 在某种程度上可能增加数据的不准确性。

  当然实时数据也不是一点价值都没有,只是出于其成本的考虑,没有必要对每个分析指标进行实时统计,或者花费大量的精力去关注实时数据。

实时数据的价值

  其实无论是Google Analytics还是百度统计,都提供了部分指标的每小时的统计数据。百度统计将实时数据统计放在网站概况里面显示,也就是用户只要一登录就能看到当天的PV、UV等整点数据的变化趋势:

baidu-data-by-hour

  而在Google Analytics中,可能我们会发现GA一般都是以天为单位显示各度量,但其实GA也有以整点统计的数据,只是潜藏的比较“深”,在Visitors—Visitor Trending里面,在Visits、Pageviews、Bounce Rate等报表中会发现右上方时间区间选择下面的时间汇总粒度多了一个选项——Hour,选择后就会看到每天个小时的数据变化趋势:

GA-data-by-hour

  实时数据也并非一无是处,Avinash Kaushik认为当一个公司具有快速的分析能力、快速的决策能力和快速的执行能力时,那么实时的数据就能创造其价值。我这里举几个我想到的应用,如果我们能够获取到每小时的统计数据,那么我们就能知道网站在哪个时间段具有最高的用户访问数,可以在这个时间段做些推广活动,并通过实时的数据统计分析活动的效果,做出快速合理的反应。比如“秒杀”活动就需要在极短的时间内完成统计并展示结果,当然前提是需要在后台的统计系统可以承受的条件下。

  最后还是借用Avinash Kaushik的一句话作为总结:如果只是为了看实时数据而进行实时统计,而不是根据实时数据做出相应的action,那么实时数据就是相当昂贵的。

  轮到你了,大家有什么在实时数据分析上的想法吗?也许可以让我之前实现的实时数据产生除了实时监控外更有价值的结果,欢迎留言评论。

关于实时数据统计》上有 19 条评论

  1. Pingback 引用通告: 关于实时数据统计 « 乱舞春秋

  2. Pingback 引用通告: 关于实时数据统计 @ 优酪网

  3. Pingback 引用通告: 关于实时数据统计 · 忽悠无罪

  4. Pingback 引用通告: 关于实时数据统计 - Hello Tea-阿茶的茶馆

  5. wayne

    个人关于实时数据统计并没有什么特别的观点,现在考虑的无非是一个投入与产出的问题,换句话说,如果在相同的投入下能做到实时统计最好,不能做到其实也没多大关系,毕竟数据统计与分析对数据的及时性要求不高。另外关于实时性对网站的优化问题,可参照王坚的糗事百科关于友情链接的做法,至于其他好的商业化的优化暂时没想到。不管怎么样,谢谢作者的分享,同时也希望看到作者关于实时性的实例分享.

    回复
  6. joegh 文章作者

    @wayne: 感谢评论,单纯从统计和指标的意义来说,投入产出并不是很好衡量,毕竟可能存在隐性成本、潜在价值和远期收益,其实只是想表达下不需要过于迷恋实时统计。

    回复
  7. 凝结水晶

    有同感!很多人都想要实时数据,但是实时真的有用吗?别人不好说,只是说这至少代表我们的进步!严重错误的观点啊!

    回复
  8. Pingback 引用通告: 关于实时数据统计 » 互联网杂谈

  9. 淘宝必达

    是否统计或处理实时数据,要根据具体的应用场景而定,在某些特定场合是需要实时数据才能达到更精确的效果,例如网站相关推荐,有两种做法,可以根据历史行为去对客户行为进行预测,还有一种做法提取实时客户行为对他进行动作和推荐。但在某些场合过多的关注实时数据就没有太大必要,因为实时数据的处理成本是昂贵的,要根据具体的应用场景而定。

    回复
  10. joegh 文章作者

    @淘宝必达: 感谢你的评论,其实相关推荐也是根据一些历史数据预先建好预测模型并且与计算出一些匹配的模式,再根据登录的用户或者用户的操作去寻找可以匹配的相关信息并返回显示给用户,所以匹配的过程可能是实时的,但是后台的数据也是预先统计好的。

    回复
  11. joegh 文章作者

    @benny: 是呀,我十分期待其他朋友可以发表自己的经验、看法和应用案例,不然只有我自言其说也十分无趣,也许我说的东西对于有些网站不一定是对的,也许实时数据对于某些网站而言是十分有实用价值的。希望各位朋友都各抒己见,大家共同讨论。

    回复
  12. wendy

    对实时数据的统计分析,对系统的运维有好处,一旦异常,可能是系统出了什么问题。实时获取数据,能够最及时发现故障

    回复
  13. joegh 文章作者

    @wendy: 是的,实时数据确实可以监控系统或者产品的状况,但是目前的统计数据完全的实时很难做到,所以一般系统的运维会有另外一套体系来监控,出问题了马上会有邮件或者短信的提醒,因为系统如果出问题需要及时获悉并处理,不然会对产品或者应用造成很大的损失。

    回复
  14. joegh 文章作者

    @jiuling: 嗯,淘宝上面的量子统计和小艾统计都提供了实时访问监控,但这个不是真正意义上的统计或者分析,只是简单的用户状态的追踪显示,并没有对数据进行处理、计算、汇总等操作。
    但不得不说这个功能对于店铺的实时响应是有用的。

    回复
  15. bdf

    目前我唯一遇到的一个使用实时数据的是来自于:JYC统计,当我访问其网站的时候主动弹出对话框询问购买事宜等。
    相关评论:实时统计的意义最重要在于“根据实时数据做出相应的action”,最关心的比如:1.及时与客户沟通,促成销售。2.网站的实时访问负载情况,对运行状态实时监控 3.网站的健康状态情况,一旦出现问题及时发现并解决。4.用于广告个性化推荐。等等。。。

    更多参看:
    http://www.biaodianfu.com/real-time-analytics.html

    回复
  16. tony

    实时数据价值极大,而且真正的实时数据对实时的要求极高,基本要求在50~100毫秒内处理完所有的流程;

    整个实时过程非常复杂,并不是我们想的那么简单,具体的大家可以看看RTB方面的一些资料,包括DSP、DMP等等

    回复
  17. Pingback 引用通告: read.guoruEi » Blog Archive » 实时统计到底有多重要?

tony 进行回复 取消回复

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>