埋点数据采集和应用生命周期

作者介绍

@hrd-0.618(栩梵)

新网银行数据分析师。

专注于数据分析、埋点采集及用户行为分析、BI 数据可视化。

“数据人创作者联盟”成员。

背景介绍

产品的精细化运营、千人千面的个性化推荐等各类业务,均依赖于标准化、高质量的埋点数据。但是,埋点数据的上送、解析、存储、分析的整个流程较长,涉及多团队协作,为了让感兴趣的读者有个整体认识,本节将结合工作实践,重点介绍 H5 埋点数据采集和应用的生命周期。

埋点采集内容

埋点采集内容主要包括两方面:前端埋点数据采集、后端埋点数据采集。前者主要包括 3 种事件类型:用户事件、页面事件、点击事件。后者主要包括:接口调用事件。事件通过“串联码”关联到一起。数据模型设计也以此 4 种事件为基础。详见下图。

埋点数据流向

3.1数据上送至日志采集服务

前端+后端——>日志采集服务 

前、后端数据以类 json 的格式,实时异步送行为事件到日志采集服务进行解析。

3.1.1 用户事件:user

{

data:[{

userid:用户唯一标识ID

,equipment:{               //header中获取,包括浏览器、设备、网络等

equipment_os:操作系统

, equipment_os_version:操作系统版本

, equipment_brand:品牌

}

,location:{

gps:{

gps_lon:经度

,gps_lat:维度

,gps_country:gps国家

,gps_province:gps省

,gps_city:gps市

,gps_district:gps区

}

,ip:{

}

}

}]

,time:时间

,cookie:串联码

,event_type:user

,from:{

channel:渠道

,product:产品

}

}

3.1.2 页面事件:page

{

data:[{

page_id:页面ID

,page_name:页面名称

,page_url:页面url

,src_page_url:来源页url

}]

,time:时间

,cookie:串联码

,event_type:page

,from:{

channel:渠道

,product:产品

}

}

3.1.3 点击事件:click

{

data:[{

click_id:点击ID

,click_name:点击名称

,click_other_attr:{

remarks:备注

}

}]

,time:时间

,cookie:串联码

,event_type:click

,from:{

channel:渠道

,product:产品

}

}

3.1.4 接口事件:interface

{

data:[{

interface_id:接口ID

,interface_name:接口名称

,result:接口调用结果

,result_remarks:接口调用说明

,response_time:接口响应时长

}]

,start_time:接口调用开始时间

,end_time:接口调用结束时间

,cookie:串联码

,event_type:interface

,from:{

channel:渠道

,product:产品

}

}

3.2实时数仓建模

日志采集服务——>实时数仓(kafka)

3.2.1 基础字段处理

a. 将日志采集服务采集到的 4 种事件的 json 数据进行解析,得到 4 个事件的基础字段,并实时写入 kafka 消息队列的 4 个 topic 中。

b. 通过 Flink/StreamSQL,实时或者微批消费 4 个 topic 数据,存储至 4 张 Hbase 表中。

3.2.2 用户事件关联至行为事件

消费 user 事件 topic,根据串联码 cookie,将用户信息关联至行为信息,构建实时用户行为宽表。

3.3离线数仓建模

3.3.1 贴源层

通过 ETL 抽取 4 个事件 HBase 表。

3.3.2 模型层

根据贴源层 4 个事件的串联码 cookie,将用户信息关联至行为信息,构建离线用户行为宽表。


埋点数据应用

4.1.1 用户行为查询

根据实时用户宽表,数据写入 Elasticsearch,或者写入数据对外接口,即可查询实时用户行为记录。

根据离线用户宽表,数据写入 Elasticsearch,或者写入数据对外接口,即可查询离线用户行为记录。

4.1.2 用户行为统计

根据 4 个事件 topic 数据,结合用户行为指标体系,通过聚合统计分析方法,得到不同维度的用户行为指标。

页面级:

    数据日期

    渠道名称

    操作系统

    日期类型:日、7日、30日、总计

    维度类型:页面/环节/渠道

    可视化字段:渠道名称、环节、页面名称、PV、UV、访问用户数、平均停留时长、页面跳出次数、页面跳出率


按钮级:

       数据日期

       渠道名称

       操作系统

       日期类型:日、7日、30日、总计

       可视化字段:渠道名称、操作系统、环节、页面名称、点击名称、点击次数、点击用户数

4.1.3 用户留存分析

维度:

       数据日期:2021-08-02

       渠道名称:如“xxx”,无汇总

       用户类别:汇总、新用户

       留存类型:产品级、功能级(页面、点击)(可下拉选择某个页面,或者选择某个点击)

       数据类型:留存人数、留存率


产品级,且选中留存人数


产品级,且选中留存率 


功能级:比如美团 APP,对使用 “单车” 功能的用户做留存分析。 

4.1.4 用户行为标签和客群筛选

构建用户行为标签,用于筛选目标客群。

根据客户实时/离线业务状态,在满足某种行为特征时,筛选出不同的目标客群给业务人员,通过营销平台做不同方式触达。

实时行为特征如:时间段内的点击次数、停留时长、页面访问次数等。

场景如:分别针对新客户/老客户、有存款客户、有提前支取记录客户,根据不同页面和点击的行为特征,设定不同营销策略。


对于产品品类少的企业,不同场景的客群,实时推送给业务人员,与营销平台联动,进行精准营销。

当然,对于产品品类较多的企业,如电商相关的场景,构建基于用户行为的实时推荐系统,是业界主流。

4.1.5 基于用户行为的断点触达

可结合实时、离线的用户行为和业务状态,对于存在行为断点的用户进行断点外呼或者其他方式触达。

结语

本文主要结合实际工作中的一些经历,做了简要概述,埋点采集主要是代码埋点,人工维护成本较大,后续可结合实际场景,采用业界更优的采集技术;用户行为分析也有待逐步完善,欢迎大家批评指正,感兴趣的小伙伴可以联系我,一起探讨。

你可能感兴趣的:(埋点数据采集和应用生命周期)