1、电商的用户行为

电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据,进而利用大数据技术进行深入挖掘和分析,得到感兴趣的商业指标并增强对风险的控制。

电商用户行为数据多样,整体可以分为用户行为习惯数据和业务行为数据两大类。用户的行为习惯数据包括

了用户的登录方式、上线的时间点及时长、点击和浏览页面、页面停留时间以及页面跳转等等,我们可以从中进行

流量统计和热门商品的统计,也可以深入挖掘用户的特征;这些数据往往可以从 web 服务器日志中直接读取到。

而业务行为数据就是用户在电商平台中针对每个业务(通常是某个具体商品)所作的操作,我们一般会在业务系统

中相应的位置埋点,然后收集日志进行分析。

业务行为数据又可以简单分为两类:一类是能够明显地表现出用户兴趣的行为,比如对商品的收藏、喜欢、

评分和评价,我们可以从中对数据进行深入分析,得到用户画像,进而对用户给出个性化的推荐商品列表,这个过

程往往会用到机器学习相关的算法;另一类则是常规的业务操作,但需要着重关注一些异常状况以做好风控,比如

登录和订单支付。

Flink实现 建立用户关系图反欺诈_Flink实现 建立用户关系图反欺诈

2、项目主要模块

基于对电商用户行为数据的基本分类,我们可以发现主要有以下三个分析方向:

1)热门统计

利用用户的点击浏览行为,进行流量统计、近期热门商品统计等。

2)偏好统计

利用用户的偏好行为,比如收藏、喜欢、评分等,进行用户画像分析,给出个性化的商品推荐列表。

3) 风险控制

利用用户的常规业务行为,比如登录、下单、支付等,分析数据,对异常情况进行报警提示。

说明:本项目限于数据,我们只实现热门统计和风险控制中的部分内容,将包括以下五大模块:

实时热门商品统计、实时流量统计、市场营销商业指标统计、恶意登录监控和订单支付失效监控,其中细分为以下

9 个具体指标:

Flink实现 建立用户关系图反欺诈_数据分析_02

由于对实时性要求较高,我们会用 flink 作为数据处理的框架。在项目中,我们将综合运用 flink 的各种 API,基于 EventTime 去处理基本的业务需求,并且灵活地使用底层的 processFunction,基于状态编程CEP 去处理更加复杂的情形。

3、数据源解析

我们准备了一份淘宝用户行为数据集,保存为 csv 文件。本数据集包含了淘宝上某一天随机一百万用户的所

有行为(包括点击、购买、收藏、喜欢)。数据集的每一行表示一条用户行为,由用户 ID、商品 ID、商品类目

ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

字段名

数据类型

说明

userId

Long

加密后的用户 ID

itemId

Long

加密后的商品 ID

categoryId

Integer

加密后的商品所属类别 ID

behavior

String

用户行为类型,包括(‘pv’, ‘’buy, ‘cart’, ‘fav’)

timestamp

Long

行为发生的时间戳,单位秒

另外,我们还可以拿到 web 服务器的日志数据,这里以 apache 服务器的一份 log为例,每一行日志记录了

访问者的 IP、userId、访问时间、访问方法以及访问的 url,

具体描述如下:

字段名

数据类型

说明

ip

String

访问的 IP

userId

Long

访问的 user ID

eventTime

Long

访问时间

method

String

访问方法 GET/POST/PUT/DELETE

url

String

访问的 url

由于行为数据有限,在实时热门商品统计模块中可以使用 UserBehavior 数据集,而对于恶意登录监控和订单支付

失效监控,我们只以示例数据来做演示。