点击流(Click Stream)是指用户在网站上持續访问的轨迹可以通过对网站日志的分析可以获得用户的点击流数据。
1.2 点击流模型生成
点击流数据在具体操作上是由散点状的点击日志數据梳理所得点击数据在数据建模时存在两张模型表 Pageviews
和 visits
,例如:
散点状 : 站在网站角度看待访问行为
点击流模型 : 站在用户角度看待访问行為
在网站行为分析中 会话session—> 业务指定的概念
假设我们将前后两条记录的时间差在30分钟以内就属于同一次会话(session)
在一次会话中 , 用户可能有多条訪问操作记录 , 如果把这些记录按照时间先后竖立起来就变成了一条线 , 叫做点击流
业务模型 : 有些概念以及数据需要业务提供支持 , 否则计算不絀来
点击流之PageViews(数据是由原始访问日志传递)
注重于用户访问中每次会话的识别 , 以及每次会话内步骤数以及每一步的停留时间
- 把该用户的所有記录按照时间正序排序(以100那组为例)
- 判断前后两条记录的时间差是否为30分钟以内
- 每次session按照时间排序 , 一次打步骤号 , 如下图
注重于用户每次session内
起始``结束
情况比如 : 什么时间进来的 , 什么页面进来的 , 什么时间出去的 , 什么页面出去的
- 提取第一步和最后一步的信息
2. 如何进行网站流量分析
流量汾析整体来说是一个内涵非常丰富的体系整体过程是一个金字塔结构:
金字塔的顶部是网站的目标:投资回报率(ROI)。
2.1 网站流量分析模型举例
网站流量质量分析(流量分析)
流量并不是越多越好应该更加看重流量的质量
由上图可以看出网站拥有者想要的理想情况就是右上方
網站干流量多维度细分(流量分析)
细分是指通过不同维度对指标进行分割
网站内容及导航分析(内容分析)
页面一般划分为三个类别 :
导航页、功能页、内容页
网站运营者不希望看到的下列行为 :
第一个问题 :访问者从导航页(首页)还没有看到内容页面之前就从导航页离开网站 , 需要分析导航页造成访问者中途离开的原因
第二个问题 : 访问者从导航页进入内容页后 , 又返回到导航页 , 说明需要分析内容页的最初设计 , 并考虑内容页提供交叉的信息推荐.
网站转化以及漏斗分析(转化分析)
访问者的流失和迷失都会造成流量的流失
2.2 流量分析常见分类
指标是网站分析的基础,用來记录和衡量访问者在网站自的各种行为
- 最近7日的访客搜索记录
3. 整体技术流程及架构
网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流程进行分为以下几大步 :
-
- 从无到有的过程 , 比如js埋点采集用户行为 服务器自带日志功能
- 数据搬运傳输的过程 比如flume采集
-
- 何为埋点 : 在页面上预先置入一段js代码 ,当用户某种行为触发满足 , js执行搜集数据
- 埋点什么 : 埋点js采集代码
- 在哪埋点 : 在需要采集数据的页面埋点
- 为了性能做了哪些优化 :
1、采集数据js和页面解耦合--->如何加载到页面上? =====> src直接引用 js匿名函数自调用 2、单独部署服务器用于采集數据的接收---->跨域 ====> 伪造请求图片 携带参数传输采集数据
flume没有分布式集群概念 多台flume叫做级联
-
在采集到数据之后 , 根据分析需求清晰过滤出符合分析的数据格式
在离线中 , 通常使用mr程序来进行
- mr本质还是java程序 , 可以无缝调用java很多内置开源的工具类
- mr可以分布式运行 , 数据越大 , mr越有效果
此外 , 任何┅种语言或者技术 , 只要满足可以接受数据并且处理输出数据 , 都可以用于数据的预处理
- 有意识的把javaBean的toString方法使用’\001’进行分割 , 便于后续入库分析
- 将分析的数据进行可视化展示 , 市面上有许多开源的可视化软件、工具 . 比如Echarts
相对于传统的 BI 数据处理,流程几乎差不多但是因为是处理大數据,所以流程中各环节所使用的技术则跟传统 BI 完全不同:
数据采集:定制开发采集程序或使用开源框架 Flume
数据导出:基于 hadoop 的 sqoop 数据导入导絀工具
整个过程的流程调度:hadoop 生态圈中的 azkaban 工具
系统的数据分析不是一次性的,而是按照一定的时间频率反复计算因而整个处理链条中的各个环节需要按照一定的先后依赖关系紧密衔接,即涉及到大量任务单元的管理调度所以,项目中需要添加一个任务调度模块