用户行为分析模型实践(三)——H5通用分析模型

H5通用分析模型旨在通过规范化埋点设计方案,开发设计一套通用度高,扩展方便,需求响应迅速的模型,减少行业数据产品和开发在类似需求上的人力投入,提升数据分析效率。

图(1)应用生命周期内指标分析情况

2.2.1分析模型主题

本次通用分析模型围绕以下分析主题构建。

2.2.2分析指标定义

(以下示例中数据均为参考数据,非真实数据)

1、基础分析:访问pv,uv等指标(全维度)

注:用户对访问页面进行命名,分析平台提供配置入口,方便用户对页面进行命名。

3、留存分析:新用户留存,活跃用户留存包括:N日内留存和第N日留存。

通常意义上的留存分析指的是:用户在APP产生行为后,在固定的第N日继续访问或使用APP的用户;包括活跃用户留存和新用户留存

为满足不同业务的分析需求。此次留存模型包含n日内留存分析,即用户在APP产生行为后,在固定的第N日内继续访问或使用APP的用户(日期范围留存)。

3.1业务目标

3.2.1什么是自动采集

3.2.2如何自动采集

3.2.3自动采集的三大规则场景

我们的网站是一个SPA应用。SPA应用通过改变前端路由的变化,实现页面内组件的切换。组件的切换,对于一个非前端开发者来说,可以泛指页面的切换。所以我们第一场景是要覆盖url变化的这类事件。在实践中,我们发现,当我们需要采集页面的用户停留时长时,往往会不准确。为什么不准确?用户可以缩小化浏览器,也可以切换tab到其他网站,这个时候计算的用户时长是不准确的。因为用户虽然打开了我们网页,但是并没有聚焦到我们的网页。这种不应该算作用户停留时长,因此对于这些行为,我们又加上了失去焦点,得到焦点,以及切换浏览器tab事件的EventListener,这两种场景。

综上三大场景总结如下:

3.2.3.1三大规则场景的界定

上文我们已经在实践中总结出了自动采集的三大场景,在实际应用针对三大场景的使用我们也总结出了一套界定方案。

(1)规则一界定——怎么判断页面切换?

a、现在的网站要么是MPA,要么是SPA模式,或者两种模式混合,MPA主要是后台路由,SPA主要是前端路由(hash模式和history模式)。但无论是SPA还是MPA,当页面需要切换时,url一定会变化,基于此点,我们判断当url变化时,用户一定切换了页面。此时触发规则一的事件,产生数据上报。

这里需要注意2个问题:

图(2)

b、完整页面切换上报流程,由页面A切换到页面B时,一共上报4个埋点;

图(3)

c、关于路由的EventListener

引入JSSDK

functionresetHistoryFun(type){//将原先的方法复制出来letoriginMethod=window.history[type]//当window.history[type]函数被执行时,这个return出来的函数就会被执行returnfunction(){//执行原先的方法letrs=originMethod.apply(this,arguments)//然后自定义事件lete=newEvent(type.toLocaleLowerCase())//将原先函数的参数绑定到自定义的事件上去,原先的是没有的e.arguments=arguments//然后用window.dispatchEvent()主动触发window.dispatchEvent(e)returnrs;}}window.history.pushState=resetHistoryFun('pushState')//覆盖原来的pushState方法window.history.replaceState=resetHistoryFun('replaceState')//覆盖原来的replaceState方法window.addEventListener('pushstate',reportBothEvent)window.addEventListener('replacestate',reportBothEvent)(2)规则二界定——怎么判断页面失去焦点,得到焦点?

失去焦点,得到焦点。我们主要进行如下这两个事件的EventListener:

window.addEventListener('focus',()=>{console.log('页面得到焦点')});window.addEventListener('blur',()=>{console.log('页面失去焦点')})(3)规则三界定——怎么判断浏览器tab切换离开,切换回来?

tab切换离开,切换回来。我们主要进行如下这一个事件的EventListener:

document.addEventListener('visibilitychange',()=>{if(document.hidden){console.log('页面离开')}else{console.log('页面进入')}})注意:如果一个行为同时满足2个及2个以上的规则时,只会取一个规则上报数据。避免不重复上报数据。

3.3.1埋点个数

为什么要设计2个埋点?设计2个埋点,能覆盖全面上述我们所说的3种规则场景;其次,方面计算页面停留时长;最后就是方便逻辑判断,避免重复上报;

3.3.2参数的设计

按照不同的需求,参数的设计分为如下4类:

数据上报方式是XMLHttpRequest、window.navigator.sendBeacon,基于h5sdk上报逻辑架构。

图(4)

关于兼容性,依赖于window对象、不兼容IE6、IE7,IE8;

关于容错性,对通用化内部逻辑做了trycatch的容错兼容,保证出错时不影响业务主逻辑运行,同时上报一个出错的事件类型,知道出错的原因,以便提前做好对应的优化方案。

埋点方案已经具备,接下来的工作就是设计一套接入高效,拓展便捷的数仓分析模型;为实现以上既定的分析目标,模型设计过程中需要解决以下核心问题。

介绍模型设计前,先说下vivo数仓模型分层基本原则,及本次模型分层思路,各层模型设计原则参照《vivo中台数仓建设方法论》,层级设计摘要如下:

通过核心问题拆解发现,为实现通用分析模型方案,需要从数据接入层收口,在数据接入时统一参数解析,统一字段命名,并设置相应的应用id字段,区分各个业务数据源;接着需要生成活跃数据明细表,可统计相应的基础分析,页面分析指标;同时为满足留存分析的需要,我们需要构建相应的活跃全量表,留存分析主题表基于活跃增量表和活跃全量表生成,用户活跃信息通过打标签的方式标记。至此涉及三个主题分析的模型规划完毕。层级划分原则及规划逻辑模型明细,如:图(5)

图(5)

从分层架构图可看出H5通用分析模型分为明细层(dw)、轻度汇总层(dma)、分析主题表(dmt)和指标层(da);其中轻度汇总层可作为中间数据提供行业分析师及数据开发、业务产品等查询分析使用;汇总层作为分析平台通用分析模型报表数据源,导入mysql存储,前端基于mysql表实现数据展示,各个模型设计细则如下:

数据模型规划及设计的核心在于三点:确定appid和用户id映射关系,留存方案实现及留存记录入库bitmap方式读写。

1、确定appid和用户id映射关系-unique_id关联设计

多业务id统一

留存方案

数据流图如下:

图(6)

模型数据展示可基于用户行为分析平台,数据指标存储使用MySQL数据库,数据展示逻辑实现如下:

图(7)

图(8)应用概况报表

图(9)用户留存报表

图(10)页面分析报表

所以,为更好的支撑业务目标达成,H5通用分析模型系列在后期会根据业务诉求落地相应的分析模型,持续为产品运营提供高效稳定的数据解决方案。

THE END
1.数据透视图:轻松生成图表,快速分析数据,教育,职业教育,好看视频首页 热门视频 放映厅 百度直播 观看历史 我的收藏 关注动态 暂无关注 频道分类 影视 音乐 VLOG 游戏 搞笑 综艺 娱乐 动漫 生活 广场舞 美食 宠物 三农数据透视图:轻松生成图表,快速分析数据 派大唾沫星子 245粉丝 · 1043个视频 关注 接下来播放自动播放 04:48 台上人家:女老板独自在家洗澡,不料恶霸突然https://haokan.baidu.com/v?pd=wisenatural&vid=2754200714532410795
2.第48集数据流图教育高清视频在线观看分享电脑知识,带你学习计算机实用技巧。-芒果TV-大家都在看的在线视频网站-热门综艺最新电影电视剧在线观看https://www.mgtv.com/b/544961/18778378.html
3.软件设计师(注:下图来自前言中up主视频) (说明:数据流图中常见的3种错误) 六、案例分析 1、案例1 正确答案:1)E1:前端应用,E2:数据管理员,E3:后端数据库2)D1:用户表, D2:操作表, D3:权限表3)权限验证需要用到D2、D3的信息 4)绘制加工的时候可能出现的错误:有输入没输出(黑洞),有输出没输入(奇迹),命名错误(https://blog.51cto.com/u_15720469/7882058
4.视频剪辑的开题报告对用户、视频信息进行增加、删除以及修改等操作。该系统包括四大模块:会员管理、视频 信息显示播放、视频信息搜索、管理员模块。 2.2 数据流图 本系统根据使用该网站的用户角色的不同分为下面两种用户。 管理员:采用自行设置方式进入网站,负责管理网站上用户信息和视频信息的管理,以 https://www.yjbys.com/bylw/kaitibaogao/97563.html
5.2013下半年软件设计师下午真题(一)软件设计师现采用结构化方法对课程注册系统进行分析和设计,获得如图1-1所示的0层数据流图和图1-2所示的1层数据流图。 图1-1 0层数据流图 图1-2 1层数据流图 【问题1】(2分) 使用说明中的词语,给出图1-1中的实体E1和E2的名称。 【问题2】(2分) 使用说明中的词语,给出图1-2中的数据存储D1和D2的名称。 https://m.educity.cn/rk/1790353.html
6.10个适合新手小白的练习数据集#适合新手#新手小白#练习#数据集当前缓冲中 下载客户端缓存视频不卡顿 收藏 分享 手机看 侵权/举报10个适合新手小白的练习数据集 #适合新手 #新手小白 #练习 #数据集 2024年12月17日发布 文冉 1人关注 关注 01:27 10个适合新手小白的练习数据集 #适合新手 #新手小白 #练习 #数据集 文冉https://v.qq.com/x/page/p3573yw8bq0.html
7.计算机二级MSoffice高频选择题总结30.结构化方法软件需求工具——数据流图,数据字典,判定树,判定表 (不包括系统结构图) 31.冯诺依曼引进两个重要概念——二进制,存储程序 32.对象的主要特征——抽象,继承,封装,多态 33. 在一个非零无符号二进制整数之后添加一个0,此数为原数的→2倍 https://www.jianshu.com/p/343805eca6c5
8.环境技术数字光线图标数据流旋转冲屏动画mov格式模板视频素材下载适用软件: Quicktime Player文章教程视频教程 时长/帧率:00:15 / 25.00fps 编号: SP-5147085 体积:264.4 MB 发布日期: 2023-05-06 15:24:14 版权归属:? 韩众科技 版权说明:? 潮点已获取著作权授权 请放心购买使用 作品相关推荐 环境技术数字光线图标数据流旋转冲屏动画- 00:154K 超清 https://m.shipin520.com/sp-5147085.html
9.视频数据流算子边缘智能在一个视频数据流中,自带对象分析能力的输入算子(包括摄像头设备带分析、RTSP拉流带分析、RTMP拉流带分析)与无对象分析能力的输入算子(包括摄像头设备、RTSP拉流、RTMP拉流)以及对象分析处理算子不允许同时存在。 如果在一个视频数据流中有多个自带对象分析能力的输入算子(包括摄像头设备带分析、RTSP拉流带分析、RTMPhttps://www.volcengine.com/docs/6893/165060
10.使用英特尔?数据流加速器(DSA)优化实时视频传输将有效负载从 RTP(实时传输协议)数据包复制到视频帧缓冲区会消耗大量处理器资源。如表 2 和图 3 所示,在每张网卡一个内核的配置下,使用英特尔? DSA 卸载这些复制操作可以支持传输更多的 1080p 60fps(即分辨率为 1080p,帧率为 60 fps)视频流1。 https://www.intel.cn/content/www/cn/zh/customer-spotlight/cases/optimized-real-time-video-transport.html
11.Linux之V4L2基础编程Linuxv4l2_format 结构体用来设置摄像头的视频制式、帧格式等,在设置这个参数时应先填 好 v4l2_format 的各个域,如 type(传输流类型),fmt.pix.width(宽), fmt.pix.heigth(高),fmt.pix.field(采样区域,如隔行采样),fmt.pix.pixelformat(采 样类型,如 YUV4:2:2),然后通过 VIDIO_S_FMT 操作命令设置视频捕捉格https://download.csdn.net/blog/column/7106937/50751867
12.视频里面数据怎么提取另一种从视频中提取数据的方法是通过视频数据流进行分析。视频数据流是由视频的连续图像帧组成的序列。通过分析这些图像帧,可以提取出有用的数据。 为了通过视频数据流提取数据,您可以使用一些视频处理软件,如FFmpeg和OpenCV等。这些软件提供了处理视频数据流的功能,包括视频解码、帧提取和帧差分析等。您可以使用这些功能https://tool.a5.cn/article/show/27796.html
13.第二类医疗器械独立软件技术审评规范此处提供数据流图 表6数据流向说明 1.2.2数据类型 表7数据类型说明 注:敏感数据有个人信息的医疗数据指能够单独或与其他信息结合识别特定自然人个人身份的各种信息,如自然人的姓名、出生日期、身份证件号码、个人生物识别信息(含容貌信息)、住址、电话号码等;设备数据指描述医疗器械运行状况的数据,用于监视、控制医疗器https://www.ncebj.cn/news-12/989.html
14.视频监控系统的视频压缩和数据流→MAIGOO知识在典型的数字监视系统中,从传感器捕获视频、压缩视频、然后数据流到视频服务器。不希望中断在DSP架构上实现的视频编码器任务,这是由于每个前后关系开关转换包含大量寄存器存储和超高速缓冲存储器开关。因此,异机种架构是理想的,这样视频捕获和数据流任务可以脱载DSP。下面说明用在视频监控应用中的DSP/GPP处理器实例。 https://m.maigoo.com/goomai/108889.html
15.Html5video标签src用数据流方式播放视频html5网页制作当视频播放过大,边看边加载时可以用数据流方式播放视频 可以使用 Blob 和 URL.createObjectURL() 方法来实现使用数据流播放视频。具体实现步骤如下: 一、获取视频数据流 从服务器获取视频数据流,可以使用 XMLHttpRequest 或 fetch 方法请求数据流并以 Blob 对象形式返回。 https://www.jb51.net/html5/903850.html
16.基于OpenCV的视频图像处理应用研究AET(2)对视频流数据进行处理,并把处理完成的图像数据显示在QT/Qtopia图形界面下。这部分设计是摄像头应用程序的核心,除了调用QT/Embedded库函数,还要调用OpenCV库函数。 摄像头应用程序结构图与库函数的调用关系如图2所示。 2.2 摄像头应用程序的关键技术 本设计应用程序以OpenCV库和QT库为核心,负责处理视频数据与图像显示http://www.chinaaet.com/article/97491
17.系统分析师案例必备知识点汇总2023系列文章一二、系统分析 (视频内容:系统分析师--案例分析模块中系统分析视频,此部分为新增视频) 1、fast 开发方法 添加描述 编辑 2、系统约束条件 系统的改进目标可能受到约束条件的调节。约束条件可以分为:进度、成本、技术、政策。 3、结构化分析 通过功能分解方式把系统功能分解到各个模块中,分析结果以数据流图 (DFD) 和https://cloud.tencent.com/developer/article/2227710
18.[AE视频科技]图片免费下载AE视频科技素材AE视频科技模板科技动态背景视频 地产行业短视频压条AE模板 科技风图文展示AE模板 企业活动邀请商务科技风横版视频 医疗科技研发背景视频 医疗科技视频背景 科技风动态背景AE模板 党政红色学雷锋图文片头AE视频模板 大气红色标题片头图文模板AE视频模板 行业科技合成背景视频 商务企业数据流科技工厂实拍合成视频模板 行业科技合成背景视频 医https://m.58pic.com/tupian/AEshipinkeji.html
19.2020届计算机科学方向毕业设计(论文)阶段性汇报于收集数据方面,在APEX实验室的帮助下,获得了7千余例HDU和POJ上的源代码及其对应的标签,大大加快了课题的进展。于设计算法方面,基于目前现有的研究都依靠语法树、控制流图和数据流图进行分析的现状,初步设计了从源代码直接入手进行分类的软件。目前的F1分数约在70左右,正在试验各种修改以及优化。https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709