开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第四阶段):网站流量日志分析--统计分析--复合指标分析--平均访问频度】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/696/detail/12216
网站流量日志分析--统计分析--复合指标分析--平均访问频度
内容介绍:
一、平均访问频度
二、梳理
一、平均访问频度
平均每个独立访客天一天内访问网站的次数(产生的 session 个数),产生的会话多频度就高,产生的会话少频度就低,如果计算平均访问频度就需要把总的访问次数计算出来除以今天来的人就可以得到指标。
二、梳理
1、平均访问频度: 一天之内访问访问人均产生的会话次数( session 次数)
=总的会话次数/独立的访客人数
针对这两个指标就是之前计算的基础指标,总的会话数计算出来是 vv,独立访客数是今天之中不重复的用户数是 uv,两个指标相除最终得到平均访问频度。
=vv/uv
2、数据表:; dw_ webflow_ basic_ info
(基础指标信息表)
基础指标直接用来计算
回到数仓发现记录了 basic_info 基础信息表,正好与计算出来的 uv pv vv 各种指标直接相除即可。
第一种方式直接用基础指标信息表,因为当中它既有 uv pv 和 vv,所有的基础指标都可以使用,不需要再计算。
3、分组字段:分区表,时间( day ) day 比较特殊还是表的分区字段通过 where 分区过滤即可。
4、度量值:vv/uv 两个指标相除
Select
vv
/
uv
from dw_webflow_ basic_ info t where t . datestr="20181101" ;
起别名 t
5、执行,指标计算出来是0.055,指标不管怎么计算,在业务含义下不可能小于1,来一次才能计算一次会话,所以不准确。sql 没有问题,sql只是把基础信息表中的两个指标进行相除,应该是 vv/uv 出现错误。uv 是独立访客以宽表计算的从宽表中根据去重的 ip 数,vv 是点击率模型 visit 模型进行计算,回到代码预处理阶段,当生成 pageviews 模型,当读取数据输出时做出一个判断,if (v.isVa
ild
()) {,
用一个标记v表示数据是否合法,只有合法的数据为 true 的数据,才能进行处理,在预处理中,原数据没有过滤静态资源,点击流模型是过滤完静态资源再进行处理,在计算 uv 和 vv 时,uv 使用的是宽表,没有过滤静态资源,而 vv 是点击流模型,是过滤过静态资源。
---上述指标不符合客观规律,这种错误在企业中很难发现
---原因:在计算基础指标的时候 uv 使用的宽表的数据没有进行静态资源的过滤。
---vv 使用的点击流模型数据在数据预处理阶段进行了静态资源的过滤。
---一个采用过滤的一个不采用过滤的计算的指标出现了谬论。
如果统一采用未过滤静态资源,都是用未过滤的,要想过滤都用过滤的,不要一个过滤一个没有过滤。
---统一以静态资源过滤之后的模型进行计算,因为需要会话指标。
原来的宽表不考虑,因为没有 session 的概念,不好统计 uv,vv,这里有点击率模型 pageviews 和 visit,区别在于 visit 根据pageviews做了一个聚集,pageviews 里面有重复的,visit没有重复,所以使用 visit 进行计算 ods_ click_ stream_ visit。查看表数据,如果想要获得复合指标平均访问频度,需要 vv 今 天总的会话次数,里面有字段 session,针对 session 做 count 统计就是今天的 vv,里面没有重复的 session,根据 pageviews 聚集的。uv是独立访客的人,ip 表示人,IP 可能会产生重复的,比如张三产生了会话,下午又产生了会话,晚上也产生会话,张三今天提供多个会话,统计独立访客人时,要对 ip 进行去重。
6、使用点击流模型 visit 表进行计算,进行过滤,vv 就是 session 的次数。这个指标的得出来,就是今天总的会话数。两个相除得到的就是统一的过滤静态资源之后的指标。
select
count(t.session)/count(distinct t.remote_ addr)
from ods_ c1ick_ stream_ visit t where t.datestr="20181101";
7、sql 执行,得到的是1.075,今天来到网站的用户平均每个人都会产生1.075个会话,大于一个可能产生两个产生三个,指标从数据本身看是符合客观规律的,没有小于1。
8、理清业务的同时考虑哪个数据表能够计算出来,如果 sql 没有出错,最后计算的结果可能也会出错,而这个错误是逻辑上的错误,一定要认真梳理。