对于统计网站,PV、IP、UV、VV是基础的统计指标,弄清楚它的含义是非常有必要的. 以下是个人的思考,用了自己的语言表述
概述- 最简单的是PV、IP,定义非常清晰
- 统计通常按照
天
为周期进行统计,一般在一天内不允许重复
page view,PV数指一天内浏览数,浏览某页面一次计1,重复刷新该页面累计计数
实现:每个请求PV数加1
IP (独立IP)IP数,是指一天内不重复的IP统计数,同一个IP在当天不重复计算,但跨天后可重新计算
实现:每次请求的IP,跟当天已经统计在内的IP集合
进行比较,不重复则加1,重复则忽略,跨天后IP集合
清空
unique view,是指一天内访问的用户数
怎么标记用户?
- cookie+uuid,判断客户端(即浏览器)是否存在cookie,不存在则分配uuid并写入cookie
- IP,用IP来标记用户,则统计出来的uv数会等于IP数,个人认为有点奇怪,但确实看过相关资料有此方案. 此方案不需要依赖cookie
注意到使用 cookie+uuid 方案还有一些细节:要写磁盘cookie
还是内存cookie
? cookie多久失效?答:个人认为要写磁盘且失效时间设置较长的时间
visit view,是指一天内的访问次数
(或称访问频次
、打开次数
、会话数
)
怎么样为一次
? 业界一般定义30分钟,符合:
实现:内存cookie
+失效时间30分钟,查看浏览器是否存在cookie,不存在则分配会话ID
(sid
),并写入到cookie,在整个会话期间都携带sid
,判断一天内不重复的sid数即可
新UV
指一天内的新增用户数
实现:参考上述UV
的实现方式,只要新分配uuid,则说明是新用户,传is_new_user
标记即可
需要实现上述的统计指标,需要有两种cookie
磁盘cookie
+无失效时间(暂且叫uic,user identification cookie)内存cookie
+30分钟失效时间(sc,session cookie)
-
磁盘cookie
:cookie写入到磁盘中,关闭浏览器再次打开依然存在. -
内存cookie
:仅仅存在于浏览器进程内存中,关闭浏览器后消失注意该名字是作者命名的,可能有些地方会叫
持久cookie
、临时cookie
- 跳出率:针对的是网站,指一定时间内,只访问了一页的就走的
会话
占会话总数
的比率 - 退出率:某个页面作为
会话
的结束页面,占会话总数
的比率
明显"跳"的动作比较大,"跳"是针对网站的,"退"的动作幅度比较小,是针对某个页面的