前言
以商超项目为例,为了更好的给用户提供服务,我们需要了解到用户喜欢什么,我的产品中哪些是用户感兴趣的,哪些是不感兴趣的。我应该在推荐栏目中给用户推荐的内容是哪些。
基于这些业务场景,我们需要一套行为分析系统,了解用户在哪个产品中停留的时间最长,搜索哪款产品的次数最多,最感兴趣的产品是哪些。
行为分析系统的构成
我个人认为有三个板块构成 采集、分析、存储 而这三个类别均是围绕 行为分析目的(我们想从行为分析获得什么数据) 在运行。
采集
为了从行为分析系统获取想要的数据,我们需要从哪些维度收集用户数据。
举例
商城首页搜索栏:用户每次使用时,不仅要走日常的搜索流程,还要统计用户的搜索数据(某时某刻,用户搜索了什么操作)。
商品详情页:用户点击查看了某个商品的详情,统计用户查看商品的记录。
商品分类:用户点击查看了某个商品分类,统计用户查看的是哪个分类。
分析
基于采集的行为数据,根据一定 算法 确认用户对哪些数据感兴趣。
算法说明
如何评判一个用户对某类商品有兴趣?
依据算法是什么?
从哪些途径获取的行为数据?
存储
采集到的行为数据存储介质(大数据max compute;mysql;clickhouse;)
计算分析数据存储介质(mysql;redis;)
工作流程
1、数据的采集有两条途径
a、客户端 上报 行为数据
b、接口 上报 行为数据
最终均由采集器 收集行为数据 并存储。
2、流式引擎 意为 分析器
获取行为数据并对数据进行处理分析,将最终汇总的结果存储至第三方介质(mysql、clickhouse、redis等)。
3、在正常的业务接口中,如需使用行为数据,可调用行为系统提供的接口从数据库中获取已计算完毕的分析数据
总结
使用行为分析系统,要确定好
我需要从行为分析系统中获取什么数据;
评判数据分析的标准是什么;
将从哪些场景下获取行为数据;
分析器在后端守护进程将如何工作;
数据存储的介质是什么;