IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 埋点数据采集和应用生命周期 -> 正文阅读

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

?作者介绍

@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?结语

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

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:39:36  更:2021-08-15 15:39:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:15:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码