题目:基于Spark Structured Streaming用户行为实时分析
一、网站:间一个简单的网站,不需要实现功能(要做登录和注册界面,但是不需要真的实现登录和注册),不需要连接数据库,只需要能够支持埋点收集用户行为数据就可以了。网站尽量做简单一点。使用前后端分离技术,后端:java实现,前端:html + javascript实现。
二、埋点:使用客户端埋点,具体哪种埋点技术,哪个简单,对收集、分析比较有利就用哪个。
三、分析:用spark structured streaming 做实时数据分析,使用python语言。(可以多做一些分析,不要局限于开题报告提到的那两个。)
四、分析结果可视化:用python,最好可以使用pyechars模块。
网站:购物网站
用户模块:注册,登录、修改个人信息、添加收货地址、浏览商品、加入购物车、提交订单、付款、(评价商品)
未登录用户:注册,登录、浏览商品(若有未登录用户浏览网站、则自动生成一个临时ID)如果时间来不及或者比较麻烦,未登录用户这块可以不做。
普通用户:注册,登录、修改个人信息、添加收货地址、浏览商品、加入购物车、提交订单、付款、(评价商品)
管理员:管理员除了拥有普通用户所拥有的功能外,还有查看分析和可视化结果的权利
商品模块:查看商品详细信息、加入购物车、立即购买
分析:用spark structured streaming 做实时数据分析,使用python语言。
1.事件分析:事件,是追踪或记录的用户行为或业务过程。举例来说,一个电商产品可能包含如下事件:用户注册、浏览商品、添加购物车、支付订单等。
2.漏斗分析:
在购物平台中,用户从登录平台到支付订单成功,一般的路径有登录平台、浏览商品、查看商品详细信息、加入购物车、选择收获地址、提交订单、支付成功等阶段,漏斗能够展现出各个阶段的转化率,通过漏斗各环节数据的比较,能够直观地发现问题所在,从而找到优化方向。
3.留存分析:
留存分析是一种用来分析用户参与情况或活跃程度的模型,考察进行初始行为的用户中,有多少人会进行后续行为。这是用来衡量产品对用户价值高低的重要方法。留存率反应的实际上是一种转化率,即由初期的不稳定的用户转化为活跃用户、稳定用户、忠诚用户的过程。通过留存分析,可以查看新功能上线后对不同群体的留存是否带来不同效果、是否提高了留存率。并结合相关因素制定相应的策略。
4.session分析:多长时间内用户做了什么事。
Session分割时间:5分钟。
在一个session时间内,用户做了什么事情。
Session分析平均使用时常:
平均访问时长是指在一定统计时间内,浏览网站的一个页面或整个网站时用户所逗留的总时间与该页面或整个网站的访问次数的比。
实时:每当有用户对网站进行操作(注册、登陆、添加商品到购物车、支付等)时,该用户的行为数据立即被发送到Spark Structured Streaming作分析和可视化,并更新分析和可视化结果。(答辩时要演示)