用户行为路径分析是互联网数据分析中很普遍的一种分析方法,通过分析用户在网站、APP内的行为路径能够帮助产品经理与用户运营了解用户的核心路径,发现影响用户转化的关键节点,挖掘用户的访问与点击模式,优化APP的流程设计等。
从大范围的用户路径分析去看的话,用户路径分析包括了以下几类:
漏斗分析:漏斗分析是指对一些特定的关键事件节点转化的监控,帮助数据使用者去了解已知的一条线的转化情况。
群体全路径分析:群体全路径分析是指针对某一个群体的用户(可根据标签筛选)或者全部用户分析其全流程的路径流转。这类的分析更趋向于探索式分析,能够帮助数据使用者去发现一些未知的用户特点,对产品的设计与流程优化有非常好的指导作用。
单用户路径细查:单用户路径细查的主要目的是为了对单个用户的行为路径进行分析,对于用研来看比较有用,通过分析特定用户的行为路径了解能够更好地对典型用户进行分析。
用户的路径其实就是一种用户行为分析,属于用户行为分析的一个子集,除了刚才我们提到的几种能力之外,在金融领域中,基于每个用户的路径流,我们能够识别出一些异常用户行为路径,从而能够判断用户是否可能属于欺诈用户或者相似的用户行为路径是否可能是来进行团伙骗贷的一群用户。我们将一个用户的每一个事件看成一个节点,每个用户路径是由多个节点通过不同的方式连接而成,我们可以去看不同的路径节点连接方式来抽象为可量化的用户特征,通过这些特征来判断异常的用户路径以及对有着相似路径群体进行聚类分析。
那么,又应该怎么来计算不同的用户路径呢,主要分为以下几个步骤:
一、对用户行为数据进行基础清洗
一般我们采集的用户行为事件都是由用户不同的行为类别组成的,比如常见的有页面浏览事件(pageview)、点击事件(click)等,根据不同的业务场景也会衍生出其他类型的事件。这部分数据可以通过统计SDK上报产生,也可以通过清洗API的日志或者Nginx日志得到,但是从比较规范、容易处理、能够覆盖全部用户行为的条件来看,统计SDK的数据会更加符合使用场景。对路径进行计算前,需要对行为日志进行基础清洗处理,一般可以基于HIVE进行。
deviceid(设备指纹),uid(用户ID),sessionid(会话ID),event(行为事件),tm(时间戳)
二、漏斗计算
漏斗是根据已经定义好的几个关键事件节点进行计算的,如A-B-C-D这四个几点的转化情况,一般不超过10个节点。在漏斗计算中,逻辑其实很简单,就是看一条会话中是否包含A-B-C-D的这条路径或者子路径,如A-B-C。我们有以下几类会话以及其处理逻辑:
该会话中包含了A-B-C的节点转化
2.B-D-C-E-A
该会话中包含了B-C的转化,但是由于A不在B的前面,因此该条会话没有符合A-B-C-D的转化路径,但该路径中包含了A,因此A需要+1
3.A-C-B-D-T-H-A
该会话中包含了A-B的转化
4.A-C-B-B-D-C-D-E
该会话中包含了A-B-C-D的转化
如果只有这4条会话的话,我们能够得出的漏斗转化结果是A-B(75%=S(A-B)/S(A))-C(66.7%=S(A-B-C)/S(A-B))-D(50%=S(A-B-C-D)/S(A-B-C)),如:
可以看到,我们这里的逻辑是按照session来进行切分的,去看每一个session是否有符合该路径的转化流程,即S(A-B-C)代表的有多少条session包含该路径,有则+1,同时一条session中如果包含了多条A-B-C的转化路径,其S(A-B-C)仅算一次。除了按照session进行切分,也可以按照用户进行切分,比如一个用户的完整路径提取出来,看是否包含了A-B-C转化,对于电商这样的高频应用这样看转化会比较反应不出来问题,因为只要有一次成功的路径转化,这条路径的转化就一直会是100%,但是在贷款类APP这种很多低频且很多都是单次行为的,使用用户去切分也无妨,但是依然还是建议使用session进行切分后计算。
这种计算逻辑对于有些应用场景可能不是很完美,因为这样的漏斗其实是计算x(0)-A-x(1)-B-x(2)-C-x(3)-D-x(4),其中x(n)为大于等于0的整数,有些时候应用场景需要定义x(n)的大小,这个时候的计算逻辑就需要再加上间隔的限制了。
漏斗计算一般采用离线隔天的计算,用户配置好一条路径,第二天就可以开始看到这个路径的转化情况了,当然也可以对历史数据进行回溯。
三、全路径计算
如文章顶部提到,路径计算与漏斗计算其实差不多,但是一般路径计算不需要用户配置想要看到的转化步骤,直接进行全量数据的汇总计算,属于一种探索式分析。
路径计算的也是依赖于sesssion,对每一条session的路径进行汇总,假如我们同样有上述的4条会话:
2.B-D-C-E-A
3.A-C-B-D-T-H-A
4.A-C-B-B-D-C-D-E
第一步有A、B两种事件,第二步有B、D、C三种事件,第三步有A/C/B三种事件,第四步有C/E/D/B四种事件,如果我们仅仅计算前四条步骤的话,那么我们按照A-B-A-C,B-D-C-E,A-C-B-D,A-C-B-B直接进行绘制即可,如:
通过这种计算我们能够看到每一步用户触发的事件以及用户的流转情况。
当然,路径计算除了这种按照步骤进行计算的方式外,还有其他的计算方法,比如我们限定起始行为,然后看起始事件的后续10步行为,或者限定尾部行为,看之前的10步行为,这种一般采用实时计算的方式,通过spark对路径进行实时计算,然后通过可视化的方式进行输出。
同样的比如上述4条session记录,我们希望看到事件A后续5步的路径。
第一步:根据条件筛选包含A的session记录
第二步:路径聚合&切片,计算不同path的UV、PV(如图)
第三步:可视化输出(如)
四、单用户路径细查
对于单用户路径细查,是从用户的视角去看用的路径,比较适合UED或者产品的同学进行抽样分析,对典型的case进行分析。
单用户路径细查这部分的计算逻辑就比较简单了,一般输入的参数就是用户ID,时间范围,然后将这个时间区间的用户全部行为拎出来就行了,不需要任何的聚合计算,一般将数据存储在KV数据库中最为方便。
总结一下
通过不同的用户路径分析方法,能够以不同的视角去展现用户的行为特点,帮助使用者去了解用户的行为路径,优化产品流程。除了这种没有维度去过滤之外,我们还可以基于不同的用户群体去分析用户的行为路径,比如我们看北京的用户行为路径可能就跟成都的用户行为路径有所不同,因此,我们可以通过底层的用户标签来对用户进行切分,在进行路径计算之前,先通过维度过滤的方式筛选出不同群体的用户路径,进行对比分析。
用户行为路径是一个非常好的分析方法,希望能够有更多的公司将这一块的分析建设起来,实现更好的产品流程与用户运营。
https://zhuanlan.zhihu.com/p/27398601