埋点数据采集和应用生命周期
作者介绍
@hrd-0.618(栩梵)
新网银行数据分析师。
专注于数据分析、埋点采集及用户行为分析、BI 数据可视化。
“数据人创作者联盟”成员。
1 背景介绍
产品的精细化运营、千人千面的个性化推荐等各类业务,均依赖于标准化、高质量的埋点数据。但是,埋点数据的上送、解析、存储、分析的整个流程较长,涉及多团队协作,为了让感兴趣的读者有个整体认识,本节将结合工作实践,重点介绍 H5 埋点数据采集和应用的生命周期。
2 埋点采集内容
埋点采集内容主要包括两方面:前端埋点数据采集、后端埋点数据采集。前者主要包括 3 种事件类型:用户事件、页面事件、点击事件。后者主要包括:接口调用事件。事件通过“串联码”关联到一起。数据模型设计也以此 4 种事件为基础。详见下图。
3 埋点数据流向
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 埋点数据应用
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 基于用户行为的断点触达
可结合实时、离线的用户行为和业务状态,对于存在行为断点的用户进行断点外呼或者其他方式触达。
5 结语
本文主要结合实际工作中的一些经历,做了简要概述,埋点采集主要是代码埋点,人工维护成本较大,后续可结合实际场景,采用业界更优的采集技术;用户行为分析也有待逐步完善,欢迎大家批评指正,感兴趣的小伙伴可以联系我,一起探讨。
埋点数据采集和应用生命周期相关推荐
- ios无痕埋点_掌握数据生命周期:初识数据埋点
谈到数据驱动业务,离不开数据是怎么来的,数据收集是整个数据生命周期的初始环节. 数据生命周期的大体介绍,在过去的一篇文章中有提到.虽然文章的部分内容我准备重新构造,但是对于这部分的基础环节,并没有太多 ...
- 埋点是什么意思_掌握数据生命周期:初识数据埋点
谈到数据驱动业务,离不开数据是怎么来的,数据收集是整个数据生命周期的初始环节. 数据生命周期的大体介绍,在过去的一篇文章中有提到.虽然文章的部分内容我准备重新构造,但是对于这部分的基础环节,并没有太多 ...
- PPT 下载 | 神策数据张涛:企业服务客户全生命周期运营三步曲总览篇
本文根据神策数据副总裁张涛关于企业服务客户全生命周期系列的直播内容整理,共 3 篇,本篇主要内容如下: 为什么要做企业服务客户全生命周期运营? 客户全生命周期运营存在哪些坑? 面对坑,企业该如何自救? ...
- 全生命周期大数据处理系列
全生命周期大数据处理系列 任何一件复杂的事物,简化它的方法就是分而治之,只是这个分法,万变不离其宗,可能会因人因事而大同小异而已.我在车联网大数据的处理实践中不断沉淀,在公司产品的迭代升级中逐步升华, ...
- 人人都会的Android无埋点数据采集技术
前段时间刚做完公司无埋点数据采集项目,跟大家分享一下. 以下只有部分核心代码,完整源码及接入流程请移步 github:https://github.com/harvie1208/TracePoint ...
- 线程的生命周期_[线程设计]通过观察者模式监控线程生命周期
推荐书籍:<Java高并发编程详解> 一.无法掌控 Thread 的生命周期 在 Java 中线程的实现只有一个,就是 Thread . 下面是启动一个线程的通用代码,如下: 通过 new ...
- 初探 Vue 生命周期和钩子函数
生命周期 生命周期函数就是 Vue 实例在某一个时间点会自动执行的函数. 简单来说就是好像把人的出生到死亡分成一个个阶段,你取名字肯定是在你出生阶段,而不是在成年阶段:你结婚肯定是在成年阶段,而不是在 ...
- PPT 下载 | 神策数据孙文亮:客户全生命周期管理从方法到实践全解析
在以"场景赋能·驱动有数"为主题的神策 2018 数据驱动大会现场,神策数据技术经理孙文亮发表了名为<客户全生命周期管理从方法到实践>的主题演讲. 温馨提示:点击文末阅 ...
- PPT 下载 | 纷享销客刘晨:客户生命周期服务设计
2018 年,企业级服务仍处于高速增长时期.经过几年的市场洗礼后,企业服务厂商在实际转型和发展过程中逐渐认识到:只有掌握数据驱动力才能在商业环境中占有商机. 纷享销客是专业的移动 CRM 服务商,已成 ...
最新文章
- web安全编程——权限的分配和控制
- 用于弹出ModalDialog进行数据选择的控件
- 跟着感觉走,不要冲动入手,到真正低点在入手
- 使用jquery解析xml
- C++17新特性之std::string_view
- mysql 200列_认识mysql(2)
- 实现基于AD的MOSS的FORM认证方式
- 20190906:(leetcode习题)Shuffle an Array
- A Hierarchical Deep Temporal Model for Group Activity Recognition
- 2019年最好的7个人工智能聊天机器人
- ios 判断打开相机权限_iOS 获取用户是否有(相册/相机)权限
- oracle第二天笔记
- 旧 Mac、PC 别扔,变身 Chromebook 了解一下
- 旅行也能玩儿转区块链?看星牛APP的!
- ORACLE删除归档日志和ORA-00257问题
- 麻将牌识别算法AI也能打麻将了只赢钱
- Kaggle注册的验证码一直有unknown error
- 没有发布服务器的 rpc 安全信息,或该信息无效,SQLServer之创建分布式事务
- 抖音点亮蓝v多少钱?有啥好处-万顿思电商
- Qt4 Linux下读写excel