会话分析
会话分析主要解决下面几个问题
- 用户平均会来几次
- 没次平均逛了几个页面
- 没次来平均待多久
- 某个具体页面用户平均停留时长
其实这个计算方法主要用在我们计算用户在我们的网站上或者应用上的停留时间,或者是计算用户在某一个页面上的停留时间,其实在前面学习Hive语法之窗口函数lead和lag 窗口函数的时候我们也介绍过如何计算用户在某一个页面上的停留时间,就是通过用户进入下一个页面的时间减去用户进入当前页面的时间即可,因为我们前面主要讲的是窗口函数的应用,所以就没有考虑这样计算到底合适吗这个问题,今天我们就来看一下这个问题
session 分割的背景
我们先看一下为什么要进行session 分割,假设我们现在要计算用户在我们的APP 上的停留时间,我们假设我们不做session 分割,那么我们的停留时间就是用户最后一次的访问时间减去第一次的访问时间,其实这是不合理,因为用户可能在中间时间离开了我们的应用,其实如果真的是这种情况也好说,只要我们能捕捉到用户离开的事件,然后计算每次离开的和上次进来之间的时间差,我们可以将其称之为会话,从而将多个会话的时长进行相加即可。
但是很多时候我们捕捉不到用户的离开事件,或者用户不是正常离开,例如用户直接清理了后台这种情况下我们就需要构建会话,从而进行计算,也就是将用户的一系列上报上来的数据进行session 分割,从而计算用户在平台上的停留时长。
构建session 的核心是我们可以将用户行为按照一定的时间进行划分,