[bigdata-013]某app用户行为分析

来源:互联网 发布:php base64_encoder 编辑:程序博客网 时间:2024/06/10 08:58

数据集来自mongodb数据库,将bson格式转为json格式。每行是一个行为事件。

 

首先要从无序的数据集里,恢复出每个用户的行为事件的时间序列,然后才能进行有效的后续分析。

 

1. 一个行为事件的数据记录,数据结构如下:

{

'deviceInfo': {

    'operationSystem': 'iOS',

    'phoneModel': 'iPad4,8'},

'beginTime': '2016-09-16 04:17:54',

...

}

其中,beginTime是这个事件发生的开始时间,endTime是这个事件的结束时间。凑齐若干个事件上传到mongodb服务器。

 

2. 用户标识问题:

一个用户,在没有登录的情况下,其操作产生的事件,是没有userId的。

可以用硬件指纹识别,这个值是固定的,且非常有可能跟userId进行绑定。一个手机可能登录多个用户,因此userId和idfa不能一一对应关系。

 

3.一个用户的操作过程,表现一组事件。比如,如下是一个用户的完整操作过程,用硬件指纹进行标识。

 

4. 登录用户的转化率分析处理

    4.1 对数据进行处理,过滤掉没有userId信息的记录。

    4.2 根据userId对事件进行重排,也就是说,将一个userId产生的所有事件按照时间先后排序,视为一个Case,也就是一个用户的完整踪迹记录。

    4.3 一个用户可能在多天内多次登录,为了区分多次登录,需要将记录切分,也就是说,要区分每次登录,每次登录包含若干个事件。 

 

5. 根据一组组事件,再细化需求,分析用户行为。

 

6. 数据上报到Mongodb-->数据清洗到hive-->hive/impala数据汇聚成特定需求子集-->处理子集/关系库计算缓存-->对外提供json rest api查询功能。

0 0