大数据电商日志平台项目以某电商网站真实的业务数据架构为基础,将数据从收集到使用通过前端应用程序,后端程序,数据分析,平台部署等多方位的闭环的业务实现。形成了一套符合教学体系的电商日志分析项目。
bf_dataapi项目的主要目标有两个:第一个就是我们需要提供一个提供json数据的Rest API;另外一个目标就是提供一个展示结果的demo页面。bf_dataapi使用spring+mybatis+mysql来搭建提供rest api的项目框架,使用highcharts来进行demo页面的搭建。在本次项目中,我们将所有的API高度聚合,最终我们只会提供两个API,然后在API中根据参数的不同进行不同操作。
项目需求分析
Js sdk执行工作流:
在我们的js sdk中按照收集数据的不同分为不同的事件,比如pageview事件等。Js sdk的执行流程如下:
PC端事件分析
针对我们最终的不同分析模块,我们需要不同的数据,接下来分别从各个模块分析,每个模块需要的数据。用户基本信息就是用户的浏览行为信息分析,也就是我们只需要pageview事件就可以了;浏览器信息分析以及地域信息分析其实就是在用户基本信息分析的基础上添加浏览器和地域这个维度信息,其中浏览器信息我们可以通过浏览器的window.navigator.userAgent来进行分析,地域信息可以通过nginx服务器来收集用户的ip地址来进行分析,也就是说pageview事件也可以满足这两个模块的分析。外链数据分析以及用户浏览深度分析我们可以在pageview事件中添加访问页面的当前url和前一个页面的url来进行处理分析,也就是说pageview事件也可以满足这两个模块的分析。订单信息分析要求pc端发送一个订单产生的事件,那么对应这个模块的分析,我们需要一个新的事件chargeRequest。对于事件分析我们也需要一个pc端发送一个新的事件数据,我们可以定义为event。除此之外,我们还需要设置一个launch事件来记录新用户的访问。
Pc端的各种不同事件发送的数据url格式如下,其中url中后面的参数就是我们收集到的数据:http://bjsxt.com/bjsxt.gif?requestdata
程序后台事件分析
本项目中在程序后台只会出发chargeSuccess事件,本事件的主要作用是发送订单成功的信息给nginx服务器。发送格式同pc端发送方式, 也是访问同一个url来进行数据的传输。格式为:
http://bjsxt.com/bjsxt.jpg?requestdata
chargeSuccess事件
当会员最终支付成功的时候触发该事件,该事件需要程序主动调用。
chargeRefund事件
当会员进行退款操作的时候触发该事件,该事件需要程序主动调用。
集成方式
直接将java的sdk引入到项目中即可,或者添加到classpath中。
在本次项目中我们分别从七个大的角度来进行分析,分别为:用户基本信息分析模块、浏览器信息分析模块、地域信息分析模块、用户浏览深度分析模块、外链数据分析模块、订单分析模块以及事件分析模块。下面就每个模块进行最终展示的分析。
注意几个概念:
用户/访客:表示同一个浏览器代表的用户。唯一标示用户
会员:表示网站的一个正常的会员用户。
[i会话:一段时间内的连续操作,就是一个会话中的所有操作。
Pv:访问页面的数量
在本次项目中,所有的计数都是去重过的。比如:活跃用户/访客,计算uuid的去重后的个数。
用户基本信息分析模块
用户基本信息分析模块主要是从用户/访客和会员两个主要角度分析浏览相关信息,包括但不限于新增用户,活跃用户,总用户,新增会员,活跃会员,总会员以及会话分析等。下面就各个不同的用户信息角度来进行分析:
用户分析
该分析主要分析新增用户、活跃用户以及总用户的相关信息。
新访客:老访客(活跃访客中) = 1:7~10
会员分析
该分析主要分析新增会员、活跃会员以及总会员的相关信息。
会话分析
该分析主要分析会话个数、会话长度和平均会话长度相关的信息。
Hourly分析
该分析主要分析每天每小时的用户、会话个数以及会话长度的相关信息。
浏览器信息分析模块
在用户基本信息分析的基础上添加一个浏览器这个维度信息。
浏览器用户分析
同用户分析。
浏览器会员分析
同会员分析。
浏览器会话分析
同会话分析。
地域信息分析模块
主要分析各个不同省份的用户和会员情况。
活跃访客地域分析
分析各个不同地域的活跃访客数量。
用户访问深度分析模块
该模块主要分析用户的访问记录的深度
外链数据分析模块
主要分析各个不同外链端带来的用户访问量数据。
外链偏好分析
分析各个外链带来的活跃访客数量。
订单数据分析模块
主要分析订单的相关情况
大家如果需要系统配套的源码 课件等资料可以私信我, 分享给大家~~
如果有小白想要入门Java,Python的,但是又不知道学什么 怎么学?可以私信我,分享我自己100G的Java和Python的网Pan资料~~~
互相分享 与君共勉~~~
大家有什么资源也可以互相分享 ,有什么问题也可以互相讨论~~~
啧~~~你一个 我一个 那我们不得学得风声水起~~~(狗头)