热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用Engagement衡量用户活跃度(转载)

Engagement(参与度)是一个特殊的度量,Avinash认为Engagement不应该作为网

Engagement(参与度)是一个特殊的度量,Avinash认为Engagement不应该作为网站分析的一个度量,它更像是不愿意去寻求衡量网站是否成功的真正指标时使用的一个借口。他列举了Engagement存在的几个缺陷:

  • Engagement对于不同网站而言是不同的,它不是一个统一的度量,难以用一个统一的标准去定义它;
  • Engagement更多的是从定性的角度来定义的,很多用户参与行为不能很好地量化,因此难以准确地度量;
  • 没有一个评判标准,对于一个网站而言用户参与度到底多少算是好;
  • 因为没有标准的定义,存在不固定性,因此不能作为衡量网站整体表现的参考指标。

 

所以,我们可以认为Engagement是一个非标准化的度量,但绕开Avinash所提及的那些误区之后,也许Engagement也并非一无是处,至少它可以作为网站自身的分析指标,衡量用户的活跃度。

 

如何合理地定义Engagement

 

如果你要用Engagement来衡量网站用户的活跃度,并且把它作为一个长期的指标进行趋势分析,那么首先在定义时必须确定那些被归为Engagement的行为是相对固定的, 在短期内不会发生变化。如对于一个论坛而言,“发帖”和“跟帖”行为是持续不变的交互行为,这些可以作为识别用户是否参与的标准;而网站中的一个活动按钮 或推广链接则不能作为识别Engagement的标准,因为推广活动一般是有期限的,在下线后用户的Engagement就会相应的降低,这样就会导致 Engagement的不稳定性,也就失去了分析的意义(或者你只是为了单独分析该次推广活动的用户参与度,那另当别论)。

 

这里先举两个例子,显示电子商务网站定义Engagement的例子:

 

  • 用户的注册行为;
  • 用户放入购物车或购买行为;
  • 用户的售前和售后的反馈行为;
  • 用户对商品的评价。

 

再来看一下微博中可以定义为Engagement的一些行为:

 

  • 用户注册行为;
  • 发布新微博或转发微博;
  • 发表对微博评论;
  • 关注新的用户。

 

non-standard可以看到电子商务网站的Engagement的定义与微博大相径庭,这也是为什么说Engagement是一个非标准化的度量的原因,网站间无法比较各自Engagement的优劣。所以Engagement应该作为网站内部分析指标,只用于衡量网站本身用户的活跃度变化趋势。

 

即使是一个网站的Engagement也有不同的定义方法,比如我也可以在微博的Engagement定义 中加入“收藏微博”的动作,所以我的建议是对于Engagement的定义,一个网站应该在一开始就形成一个标准,如果网站的性质没有发生大的变化就不要 轻易修改定义,不然即使是作为网站自身的评价指标,它也不能很好的发挥作用。

 

需要注意的是,Engagement只是用户的一系列动作或行为(Actions),并非网站的产出结果(Outcomes)。只能用于衡量网站用户活动的频繁度,进而分析网站用户近期的活跃程度,而不能用于衡量网站的效益

 

基于Engagement Index的分析

 

这里首先推荐一篇Eric T. Peterson在Web Analytics Demystified上的文章——How do you calculate engagement? ,里面提供了关于Engagement的十分全面和精彩的分析。

 

分析最好结合实例,所以这里还是以我的博客为例,假如我定义我的博客的Engagement包括以下的行为:

 

  1. 用户发表评论;
  2. 收藏或分享我的文章;
  3. 订阅我的博客或关注我;
  4. 停留时间(Time on site)超过3分钟。

 

首先涉及到数据获取的问题,其实通过点击流+事件追踪,大部分用户的行为还是可以跟踪得到的,这里就不再详细展开了。

 

接下去就是如何衡量Engagement。衡量Engagement的指标叫做参与度指数(Engagement Index),既然我们已经定义好了Engagement,我们就可以通过一些方法计算Engagement Index。这里建议Visit(或者叫Session)为单位计算用户一次访问是否Engaged,而不是计算每个Visit中Engage的次数,因为我们无法对某些行为精确定量它的次数,也许发表评论数可以计算次数,但是停留时间的长短就无法用次数来衡量,所以这里统一只判断一个Visit是否发生了上述的任何一类行为,发生则认为这次访问为Engaged,我们可以用一段形象的代码来解释:

 

帮助
1
2
3
4
5
boolean isEngaged(Visit) {
         if ( comment || share || feed || follow || time_on_site>=3min )
                  return true;
         else
                 return false; }

 

通过调用上面的“函数”我们可以获取到哪些Visits是Engaged Visits,就可以计算出总的Engaged Visits的数量就是Engagement Index的值。但是单纯的一个Engagement Index似乎没有对比的价值,我们可以通过计算跟网站总Visits的比值获取用户的参与率(Engagement Rate)

 

Engagement Rate = Engaged Visits / All Visits

 

也可以用下图来对比Engaged Visits与总Visits的关系:

 

engaged-visits

 

也可以分析定义Engagement中各类行为发生的比率:

 

engaged-visits-piechart

 

这里需要注意的是这个饼图中Visits的总和并非上面计算得到的Engagement Index,因为一个Visit可能既发表了评论,也订阅的博客,那么这个Visit就会被重复记录到两种行为的比例中。根据Engagement进行细 分来源的的分析上面推荐的Eric T. Peterson的文章中已经介绍的非常详细,有兴趣的朋友可以自己去看下。

 

如果你觉得还意犹未竟,认为那些用户参与的行为并非同等重要的,或许那些订阅了博客的用户或者在博客发表了评论的用户应该显得更加活跃,那么可以给这些行为赋予不同的权重,Sidney的博客中有过相关的介绍——网站分析的最基本度量(8)——Engagement,如果你想让权重显得更加客观和精确,可以使用我之前介绍过的层次分析法(AHP)来计算每个行为的权重,那么Engagement Index就是相应的加权和(定义每个Engaged Visits的数量为Ei,每个Engagement行为的权重为Wi):

 

engagement-index-wtd

 

分析Engagement的意义

 

有时我们需要细分,而有时我们需要将指标进行聚合来评价总体表现。所以建议不要试图使用次数去计算每个Visit的Engagement Index是多少,次数会由于网站设计上的变化(页面布局、交互按钮的设计等方面的变化)及行为实现的多样性(如果你要发条微博,那实现的途径太多了)而 呈现不稳定状态,使用Visits来度量的Engagement更具可比性,最总我们只是进行汇总来衡量整个网站的Engagement情况。

 

那么Engagement对于网站来说到底有什么用呢?这里有个最简单的例子,当一个电子商务网站发现近几天的订单量并无发生显著的变化,但是 用户活跃度却大幅上升,原因是某款商品的质量存在问题,大量的用户向网站反馈和抱怨,这时如果网站通过分析Engagement监控着用户的活跃度,那么 就可以迅速地发现并作出反应。其实这个例子也说明了对于某些网站来说Engagement越高,网站的绩效不一定越好,两者没有直接的联系。

我们已经步入WEB2.0的时代,用户与网站间的交互更加频繁,网站需要更多活跃用户来增加自身的活力,用户的参与有效地提升了网站与用户之间 的信息互通,为网站带来活力的同时也为网站创造着更多的信息,而且很多都是网站本身忽略的或者无法提供的有价值信息,而这些“用户智慧”的注入无疑可以为 网站带来更多的关注。


推荐阅读
author-avatar
虚伪小仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有