CN113176980B - 一种流量漏斗的动态构建方法及系统 - Google Patents
一种流量漏斗的动态构建方法及系统 Download PDFInfo
- Publication number
- CN113176980B CN113176980B CN202110569260.0A CN202110569260A CN113176980B CN 113176980 B CN113176980 B CN 113176980B CN 202110569260 A CN202110569260 A CN 202110569260A CN 113176980 B CN113176980 B CN 113176980B
- Authority
- CN
- China
- Prior art keywords
- user
- user behavior
- node
- resource
- behavior data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种流量漏斗的动态构建方法及系统,该方法通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本发明提供的技术方案由于不需要预先定义漏斗结构然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
Description
技术领域
本发明涉及流量分析技术领域,具体涉及一种流量漏斗的动态构建方法及系统。
背景技术
流量漏斗(Traffic Funnel)是将用户在网络上的行为引发的流量变化按照一定的路径规则进行计算而得到的一个类似漏斗状的变化图,其可以有效的表示出相关路径上的流量变化情况。
由于其可以反映出用户在一定路径上各节点之间的转化率,得出关键的用户流失节点,故广泛应用于互联网营销中的精益分析,商家可以通过调整产品形态来提高关键节点的用户转化率。
关于流量漏斗的计算,当前业界的主要实现方式如下:
1、采集用户产生的日志;
2、定义需要分析的路径(一般是产品内部用户的操作路径);
3、根据定义的路径来计算用户产生的行为日志,从而得出模型结果以供分析。
这种实现方式的缺点在于:需要预先定义分析路径再进行计算,可定制性弱、灵活性较差;对于重合的路径需要进行重复计算,资源利用率不高、性能较差。
发明内容
有鉴于此,本发明的目的在于提供一种流量漏斗的动态构建方法及系统,以解决现有技术中流量漏斗构建需要预先定义分析路径再进行计算,可定制性弱、灵活性较差;对于重合的路径需要进行重复计算,资源利用率不高、性能较差的问题。
根据本发明实施例的第一方面,提供一种流量漏斗的动态构建方法,包括:
汇集客户端上报的用户日志;
根据汇集的用户日志,计算用户行为数据;
根据所述用户行为数据,确定流量图;
根据所述流量图,构建流量漏斗。
优选地,所述根据汇集的用户日志,计算用户行为数据,包括:
根据汇集的用户日志,实时计算用户行为数据;及,
将汇集的用户日志存储到分布式文件系统中,当实时计算用户行为数据失败时,根据分布式文件系统中存储的用户日志,离线计算用户行为数据。
优选地,所述根据汇集的用户日志,计算用户行为数据,包括:
按照用户日志的汇集时间,依次对汇集的用户日志进行无效数据过滤、数据聚合及数据统计。
优选地,所述对汇集的用户日志进行无效数据过滤,具体为:
按预设过滤规则,对汇集的用户日志进行无效数据过滤;
和/或,
所述对汇集的用户日志进行数据聚合,具体为:
根据资源路径uri、前置资源路径refer、来源标识source/target,对汇聚的用户日志进行数据聚合;
和/或,
所述对汇集的用户日志进行数据统计,包括:
统计独立访客量UV、页面访问量PV、访问总时长Duration、访问用户列表userKeys。
优选地,所述根据所述用户行为数据,确定流量图,包括:
根据所述用户行为数据,确定用户行为路径;
根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,以构建流量图。
优选地,所述根据所述用户行为数据,确定用户行为路径,具体为:
根据资源路径uri和前置资源路径refer的依赖关系,将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系。
优选地,所述根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,具体为:
根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中。
优选地,所述根据所述流量图,构建流量漏斗,包括:
从图数据库中,获取所有节点的有向关系;
根据所述有向关系,搭建流量漏斗的层级;
从关系型数据库中,获取各节点到自身下一个节点的用户行为数据,存储在所述流量漏斗对应的层级上。
优选地,所述方法,还包括:
监测客户端用户日志上报情况;
所述用户日志通过客户端调用自身的日志埋点采集。
根据本发明实施例的第二方面,提供一种流量漏斗的动态构建系统,包括:
汇集模块,用于汇集客户端上报的用户日志;
计算模块,用于根据汇集的用户日志,计算用户行为数据;
确定模块,用于根据所述用户行为数据,确定流量图;
构建模块,用于根据所述流量图,构建流量漏斗。
本发明的实施例提供的技术方案可以包括以下有益效果:
通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本发明提供的技术方案由于不需要预先定义漏斗结构然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的流量漏斗的动态构建方法的流程图;
图2是根据一示例性实施例示出的动态构建的流量漏斗的示意图;
图3是根据另一示例性实施例示出的一种流量漏斗的动态构建方法的流程图;
图4是根据一示例性实施例示出的用户日志采集流程图;
图5是根据一示例性实施例示出的一种流量漏斗的动态构建系统的示意框图;
图6是根据另一示例性实施例示出的一种流量漏斗的动态构建系统的工作流程图;
图7是根据另一示例性实施例示出的流量图构建服务的工作流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种流量漏斗的动态构建方法的流程图,如图1所示,该方法包括:
步骤S11、汇集客户端上报的用户日志;
步骤S12、根据汇集的用户日志,计算用户行为数据;
步骤S13、根据所述用户行为数据,确定流量图;
步骤S14、根据所述流量图,构建流量漏斗。
优选地,所述方法,还包括:
监测客户端用户日志上报情况;
所述用户日志通过客户端调用自身的日志埋点采集。
需要说明的是,本实施例提供的技术方案,适用于服务器端,服务器端通过汇集客户端上报的用户日志构建流量漏斗。
所述用户日志的格式如下表一所示:
字段名称 | 字段描述 | 必要性 | 格式说明 |
appKey | 站点标识 | 必要 | String |
eventKey | 埋点标识 | 必要 | String |
userKey | 用户账号 | 必要 | String |
deviceKey | 设备标识 | 可选 | String |
userType | 账号类型 | 必选 | String |
startTime | 动作开始时间 | 必要 | Long |
endTime | 动作结束时间 | 可选 | Long |
reportTime | 上报时间 | 可选 | Long |
uri | 资源标识 | 必要 | String |
refer | 前置资源标识 | 必要 | String |
source | 来源KEY | 可选 | String |
target | 来源VALUE | 可选 | String |
表一
在上述表一中,相关字段含义解释如下:
1、资源是指用户可以操作的对象,包括页面、按钮等。
2、埋点是指用户日志收集处的相关代码逻辑。
3、站点是指一个相对独立的业务模块,由一系列资源组成,方便后续的运营分析。
4、uri是资源的唯一标识,refer是可以到达当前资源的前置资源的uri,source和target组成来源标识,例如1号广告位,其中source是广告,target是1。
步骤S11中汇集客户端上报的用户日志,汇集链路如下:
日志埋点—>日志收集服务—>日志上报服务—>日志汇聚,其中还包含了相关的监控模块来监测客户端用户日志上报情况。
可以理解的是,本实施例提供的技术方案,通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本实施例提供的技术方案由于不需要预先定义漏斗结构(Schema)然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构(Schema)后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
需要说明的是,所述漏斗结构包括漏斗层次顺序和每一层包含的内容。
优选地,所述根据汇集的用户日志,计算用户行为数据,包括:
根据汇集的用户日志,实时计算用户行为数据;及,
将汇集的用户日志存储到分布式文件系统中,当实时计算用户行为数据失败时,根据分布式文件系统中存储的用户日志,离线计算用户行为数据。
可以理解的是,离线计算用户行为数据是对实时计算任务的一个备选服务,用户在实时计算服务失败时可以离线计算处理失败时间段内的数据,可以提高系统的健壮性。
优选地,所述根据汇集的用户日志,计算用户行为数据,包括:
按照用户日志的汇集时间,依次对汇集的用户日志进行无效数据过滤、数据聚合及数据统计。
优选地,所述对汇集的用户日志进行无效数据过滤,具体为:
按预设过滤规则(根据用户需要进行设置),对汇集的用户日志进行无效数据过滤;
和/或,
所述对汇集的用户日志进行数据聚合,具体为:
根据资源路径uri、前置资源路径refer、来源标识source/target,对汇聚的用户日志进行数据聚合;
和/或,
所述对汇集的用户日志进行数据统计,包括:
统计独立访客量UV、页面访问量PV、访问总时长Duration、访问用户列表userKeys。
在具体实践中,根据汇集的用户日志,计算用户行为数据,计算结果至少包括以下几项:
Uri:资源路径;
refer:来源资源路径;
source/target:来源键/值;
pv:该周期内页面访问量pv;
uv:该周期内统计独立访客量uv;
duration:该周期内用户停留时间和;
appKeys:该资源关联的站点标识appKey,理论上唯一;
eventKeys:该资源关联的埋点标识eventKey,理论上唯一;
userKeys:访问用户ID;
windowLeft:窗口开始时间;
windowRight:窗口结束时间。
优选地,所述根据所述用户行为数据,确定流量图,包括:
根据所述用户行为数据,确定用户行为路径;
根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,以构建流量图。
需要说明的是,所述用户行为数据包括但不限于上述的:Uri:资源路径;refer:来源资源路径;source/target:来源键/值;pv:该周期内pv;uv:该周期内uv;duration:该周期内用户停留时间和;appKeys:该资源的关联appKey,理论上唯一;eventKeys:该资源关联的eventKey,理论上唯一;userKeys:访问用户ID;windowLeft:窗口开始时间;windowRight:窗口结束时间。
所述用户行为路径包括但不限于:用户从当前页跳转到落地页的路径信息,用户从朋友圈链接点击进入商品详情页的路径信息,用户从广告推送页点击进入商品详情页的路径信息,用户从视频播放端点击进入落地页的路径信息。
优选地,所述根据所述用户行为数据,确定用户行为路径,具体为:
根据资源路径uri和前置资源路径refer的依赖关系,将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系。
优选地,所述根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,具体为:
根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中。
需要说明的是,所述根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中,具体为:
在图数据库中创建A->B的有向关系,在关系型数据库中A->B的有向关系的标识下,存储用户行为数据:source/target:来源键/值;pv:该周期内pv;uv:该周期内uv;duration:该周期内用户停留时间和;appKeys:该资源的关联appKey,理论上唯一;eventKeys:该资源关联的eventKey,理论上唯一;userKeys:访问用户ID;windowLeft:窗口开始时间;windowRight:窗口结束时间。
优选地,所述根据所述流量图,构建流量漏斗,包括:
从图数据库中,获取所有节点的有向关系;
根据所述有向关系,搭建流量漏斗的层级;
从关系型数据库中,获取各节点到自身下一个节点的用户行为数据,存储在所述流量漏斗对应的层级上。
可以理解的是,流量图的构建,是流量漏斗构建的基础。
参见图2,流量图中若存在A->B->C的有向关系,在构建流量漏斗时,将C作为流量漏斗的最底层,B作为中间层,A作为最上层。
然后将B节点到C节点(B->C)的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最底层;将A节点到B节点(A->B)的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的中间层;将A节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最上层。
图3是根据另一示例性实施例示出的一种流量漏斗的动态构建方法的流程图,如图3所示,该方法包括:
步骤S21、监测客户端用户日志上报情况,并汇集客户端上报的用户日志,所述用户日志通过客户端调用自身的日志埋点采集;
步骤S22、根据汇集的用户日志,实时计算用户行为数据;及,
将汇集的用户日志存储到分布式文件系统中,当实时计算用户行为数据失败时,根据分布式文件系统中存储的用户日志,离线计算用户行为数据;
步骤S23、根据所述用户行为数据,确定流量图;
步骤S24、根据所述流量图,构建流量漏斗。
需要说明的是,本实施例提供的技术方案,适用于服务器端,服务器端通过汇集客户端上报的用户日志构建流量漏斗。
所述用户日志的格式如下表一所示:
字段名称 | 字段描述 | 必要性 | 格式说明 |
appKey | 站点标识 | 必要 | String |
eventKey | 埋点标识 | 必要 | String |
userKey | 用户账号 | 必要 | String |
deviceKey | 设备标识 | 可选 | String |
userType | 账号类型 | 必选 | String |
startTime | 动作开始时间 | 必要 | Long |
endTime | 动作结束时间 | 可选 | Long |
reportTime | 上报时间 | 可选 | Long |
uri | 资源标识 | 必要 | String |
refer | 前置资源标识 | 必要 | String |
source | 来源KEY | 可选 | String |
target | 来源VALUE | 可选 | String |
表一
在上述表一中,相关字段含义解释如下:
1、资源是指用户可以操作的对象,包括页面、按钮等。
2、埋点是指用户日志收集处的相关代码逻辑。
3、站点是指一个相对独立的业务模块,由一系列资源组成,方便后续的运营分析。
4、uri是资源的唯一标识,refer是可以到达当前资源的前置资源的uri,source和target组成来源标识,例如1号广告位,其中source是广告,target是1。
步骤S21中汇集客户端上报的用户日志,汇集链路如下:
日志埋点—>日志收集服务—>日志上报服务—>日志汇聚,参见图4,其中还包含了相关的监控模块来监测客户端用户日志上报情况。
可以理解的是,本实施例提供的技术方案,通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本实施例提供的技术方案由于不需要预先定义漏斗结构(Schema)然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构(Schema)后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
进一步地,由于离线计算用户行为数据是对实时计算任务的一个备选服务,本实施例提供的技术方案,用户在实时计算服务失败时可以离线计算处理失败时间段内的数据,提高了系统的健壮性。
需要说明的是,所述根据汇集的用户日志,计算用户行为数据,包括:
按照用户日志的汇集时间,依次对汇集的用户日志进行无效数据过滤、数据聚合及数据统计。
所述对汇集的用户日志进行无效数据过滤,具体为:
按预设过滤规则,对汇集的用户日志进行无效数据过滤;
和/或,
所述对汇集的用户日志进行数据聚合,具体为:
根据资源路径uri、前置资源路径refer、来源标识source/target,对汇聚的用户日志进行数据聚合;
和/或,
所述对汇集的用户日志进行数据统计,包括:
统计独立访客量UV、页面访问量PV、访问总时长Duration、访问用户列表userKeys。
在具体实践中,根据汇集的用户日志,计算用户行为数据,计算结果至少包括以下几项:
Uri:资源路径;
refer:来源资源路径;
source/target:来源键/值;
pv:该周期内pv;
uv:该周期内uv;
duration:该周期内用户停留时间和;
appKeys:该资源关联的站点标识appKey,理论上唯一;
eventKeys:该资源关联的埋点标识eventKey,理论上唯一;
userKeys:访问用户ID;
windowLeft:窗口开始时间;
windowRight:窗口结束时间。
需要说明的是,所述根据所述用户行为数据,确定流量图,包括:
根据所述用户行为数据,确定用户行为路径;
根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,以构建流量图。
需要说明的是,所述用户行为数据包括但不限于上述的:Uri:资源路径;refer:来源资源路径;source/target:来源键/值;pv:该周期内pv;uv:该周期内uv;duration:该周期内用户停留时间和;appKeys:该资源的关联appKey,理论上唯一;eventKeys:该资源关联的eventKey,理论上唯一;userKeys:访问用户ID;windowLeft:窗口开始时间;windowRight:窗口结束时间。
所述用户行为路径包括但不限于:用户从当前页跳转到落地页的路径信息,用户从朋友圈链接点击进入商品详情页的路径信息,用户从广告推送页点击进入商品详情页的路径信息,用户从视频播放端点击进入落地页的路径信息。
需要说明的是,所述根据所述用户行为数据,确定用户行为路径,具体为:
根据资源路径uri和前置资源路径refer的依赖关系,将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系。
优选地,所述根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,具体为:
根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中。
需要说明的是,所述根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中,具体为:
在图数据库中创建A->B的有向关系,在关系型数据库中A->B的有向关系的标识下,存储用户行为数据:source/target:来源键/值;pv:该周期内pv;uv:该周期内uv;duration:该周期内用户停留时间和;appKeys:该资源的关联appKey,理论上唯一;eventKeys:该资源关联的eventKey,理论上唯一;userKeys:访问用户ID;windowLeft:窗口开始时间;windowRight:窗口结束时间。
需要说明的是,所述根据所述流量图,构建流量漏斗,包括:
从图数据库中,获取所有节点的有向关系;
根据所述有向关系,搭建流量漏斗的层级;
从关系型数据库中,获取各节点到自身下一个节点的用户行为数据,存储在所述流量漏斗对应的层级上。
可以理解的是,流量图的构建,是流量漏斗构建的基础。
参见图2,流量图中若存在A->B->C的有向关系,在构建流量漏斗时,将C作为流量漏斗的最底层,B作为中间层,A作为最上层。
然后将B节点到C节点(B->C)的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最底层;将A节点到B节点(A->B)的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的中间层;将A节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最上层。
图5是根据一示例性实施例示出的一种流量漏斗的动态构建系统100的示意框图,如图5所示,该系统100包括:
汇集模块101,用于汇集客户端上报的用户日志;
计算模块102,用于根据汇集的用户日志,计算用户行为数据;
确定模块103,用于根据所述用户行为数据,确定流量图;
构建模块104,用于根据所述流量图,构建流量漏斗。
需要说明的是,本实施例提供的技术方案,适用于服务器端,服务器端通过汇集客户端上报的用户日志构建流量漏斗。
可以理解的是,本实施例提供的技术方案,通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本实施例提供的技术方案由于不需要预先定义漏斗结构(Schema)然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构(Schema)后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
图6是根据另一示例性实施例示出的一种流量漏斗的动态构建系统的工作流程图,如图6所示,该系统包括:
用户日志采集服务及日志汇集:对用户的操作行为日志进行收集,其主要包含了日志埋点,日志上报和日志汇聚;
实时通用Schema流量图计算服务及离线通用Schema流量图计算服务:
以实时计算的方式处理用户日志,辅助以离线计算服务来增强计算系统的健壮性;
流量图构建服务:利用计算服务得到的用户行为数据,构建流量图并将其保存在非易失的存储介质中;
实时流量漏斗构建服务:其通过现时定义的流量漏斗Schema,利用流量图中的结构和数据,实时的得出流量漏斗模型结果以供分析。
其中,用户日志采集服务的采集链路如下:
日志埋点—>日志收集服务—>日志上报服务—>日志汇聚,参见图4,其中还包含了相关的监控模块来监测客户端用户日志上报情况。
其中,流量图构建服务的工作流程图如图7所示,参见图7,包括:
1、实时通用Schema流量图计算服务(本实施例采用的是Spark实时流量图计算服务):使用已经汇聚的数据,按照时间端进行处理,包括过滤无效数据、聚合以及统计,然后将统计的结果推入消息队列,以供流量图构建服务使用。
过滤无效数据,按照预设过滤规则(根据用户需要进行设置)进行过滤;
聚合依据为:uri[资源路径],refer[前置资源路径],source/target[来源键/值]
统计结果包括:UV/PV/Duration[访问总时长]/userKeys[访问用户列表];
uri:资源路径;
refer:来源资源路径;
source/target:来源键/值;
pv:该周期内pv;
uv:该周期内uv;
duration:该周期内用户停留时间和;
appKeys:该资源关联的站点标识appKey,理论上唯一;
eventKeys:该资源关联的埋点标识eventKey,理论上唯一;
userKeys:访问用户ID;
windowLeft:窗口开始时间;
windowRight:窗口结束时间。
2、离线通用Schema流量图计算服务:离线计算任务是对实时计算任务的一个备选服务,用户在实时计算服务失败时可以离线计算处理失败时间段内的数据以提高系统的健壮性。
3、流量图构建服务:该服务是利用计算服务计算得出的结果,根据uri和refer的依赖关系构建流量图,并存储相关的详细计算结果,包括:
将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系。
以A->B的有向关系的标识为依据,将相关的计算结果存储至关系型数据库中,以便后续使用。
4、实时流量漏斗构建服务:参见图2,流量图中若存在A->B->C的有向关系,在构建流量漏斗时,将C作为流量漏斗的最底层,B作为中间层,A作为最上层。
图2中,1)落地页(上图中A)UV/PV算法:
计算结果为周期T内来源为
Source(一个或多个)的A的UV。
计算结果为周期T内A的PV。
2)页B和页C的算法一致,下面仅给出页B的计算过程:
计算结果为周期T内来源为Source的refer为A的资源B的UV。
计算结果为周期T内refer为A的资源B的PV。
上面的公式中:
UVT:R:Source表示周期T内来源于为Source的资源R的UV,R=A,B;
PVT:R表示周期T内资源R的PV,R=A,B;
UKT:Source表示周期T内来源为Source下的用户列表[UserKeys];
EX->Y资源X指向Y的边。
然后将C节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最底层;将B节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的中间层;将C节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率等存储在流量漏斗的最上层。
需要说明的是,本实施例提供的技术方案,适用于服务器端,服务器端通过汇集客户端上报的用户日志构建流量漏斗。
可以理解的是,本实施例提供的技术方案,通过汇集客户端上报的用户日志,计算用户行为数据并确定流量图,然后构建流量漏斗。相比现有技术,本实施例提供的技术方案由于不需要预先定义漏斗结构(Schema)然后进行计算得出漏斗模型,而是在预先计算完成的通用数据库模式上动态定义漏斗结构(Schema)后直接得出漏斗模型,提高了构建流量漏斗可定制性的同时,也有效地降低了流量漏斗构建过程中的重复计算。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (5)
1.一种流量漏斗的动态构建方法,其特征在于,包括:
汇集客户端上报的用户日志;
根据汇集的用户日志,计算用户行为数据,包括:
按照用户日志的汇集时间,依次对汇集的用户日志进行无效数据过滤、数据聚合及数据统计;所述计算用户行为数据,计算结果至少包括以下几项:
uri:资源路径;
refer:来源资源路径;
source/target:来源键/值;
pv:周期T内pv;
uv:周期T内uv;
duration:周期T内用户停留时间和;
appKeys:该资源关联的站点标识appKey,理论上唯一;
eventKeys:该资源关联的埋点标识eventKey,理论上唯一;
userKeys:访问用户ID;
windowLeft:窗口开始时间;
windowRight:窗口结束时间;
根据所述用户行为数据,确定流量图,包括:
根据所述用户行为数据,确定用户行为路径,具体为:根据资源路径uri和前置资源路径refer的依赖关系,将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系;
根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,以构建流量图;具体为:
根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中;
根据所述流量图,构建流量漏斗;包括:
从图数据库中,获取所有节点的有向关系;
根据所述有向关系,搭建流量漏斗的层级;
从关系型数据库中,获取各节点到自身下一个节点的用户行为数据,存储在所述流量漏斗对应的层级上;
所述流量图中若存在A->B->C的有向关系,在构建流量漏斗时,将C作为流量漏斗的最底层,B作为中间层,A作为最上层;
1)落地页UV/PV算法:
计算结果为周期T内来源为Source一个或多个的A的UV;
计算结果为周期T内A的PV;
2)页B和页C的算法一致,下面仅给出页B的计算过程:
计算结果为周期T内来源为Source的refer为A的资源B的UV;
计算结果为周期T内refer为A的资源B的PV;
上面的公式中:
UVT:R:Source表示周期T内来源于为Source的资源R的UV,R=A,B;
PVT:R表示周期T内资源R的PV,R=A,B;
UKT:Source表示周期T内来源为Source下的用户列表;
EX->Y资源X指向Y的边;
然后将B节点到C节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的最底层;将A节点到B节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的中间层;将A节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的最上层。
2.根据权利要求1所述的方法,其特征在于,所述根据汇集的用户日志,计算用户行为数据,包括:
根据汇集的用户日志,实时计算用户行为数据;及,
将汇集的用户日志存储到分布式文件系统中,当实时计算用户行为数据失败时,根据分布式文件系统中存储的用户日志,离线计算用户行为数据。
3.根据权利要求1所述的方法,其特征在于,
所述对汇集的用户日志进行无效数据过滤,具体为:
按预设过滤规则,对汇集的用户日志进行无效数据过滤;
和/或,
所述对汇集的用户日志进行数据聚合,具体为:
根据资源路径uri、前置资源路径refer、来源标识source/target,对汇聚的用户日志进行数据聚合;
和/或,
所述对汇集的用户日志进行数据统计,包括:
统计独立访客量UV、页面访问量PV、访问总时长Duration、访问用户列表userKeys。
4.根据权利要求1~3任一项所述的方法,其特征在于,还包括:
监测客户端用户日志上报情况;
所述用户日志通过客户端调用自身的日志埋点采集。
5.一种流量漏斗的动态构建系统,其特征在于,包括:
汇集模块,用于汇集客户端上报的用户日志;
计算模块,用于根据汇集的用户日志,计算用户行为数据;
确定模块,用于根据所述用户行为数据,确定流量图;
构建模块,用于根据所述流量图,构建流量漏斗;
所述根据汇集的用户日志,计算用户行为数据,包括:
按照用户日志的汇集时间,依次对汇集的用户日志进行无效数据过滤、数据聚合及数据统计;所述计算用户行为数据,计算结果至少包括以下几项:
uri:资源路径;
refer:来源资源路径;
source/target:来源键/值;
pv:周期T内pv;
uv:周期T内uv;
duration:周期T内用户停留时间和;
appKeys:该资源关联的站点标识appKey,理论上唯一;
eventKeys:该资源关联的埋点标识eventKey,理论上唯一;
userKeys:访问用户ID;
windowLeft:窗口开始时间;
windowRight:窗口结束时间;
所述根据所述用户行为数据,确定流量图,包括:
根据所述用户行为数据,确定用户行为路径,具体为:根据资源路径uri和前置资源路径refer的依赖关系,将refer定义为节点A,将uri定义为节点B,在图数据库中创建出A和B,并建立一个由A指向B的有向关系;
根据所述用户行为路径,将所述用户行为数据存储在用户行为路径对应的路径节点上,以构建流量图;具体为:
根据A指向B的有向关系,将节点A到节点B的用户行为数据对应存储至关系型数据库中;
根据所述流量图,构建流量漏斗;包括:
从图数据库中,获取所有节点的有向关系;
根据所述有向关系,搭建流量漏斗的层级;
从关系型数据库中,获取各节点到自身下一个节点的用户行为数据,存储在所述流量漏斗对应的层级上;
所述流量图中若存在A->B->C的有向关系,在构建流量漏斗时,将C作为流量漏斗的最底层,B作为中间层,A作为最上层;
1)落地页UV/PV算法:
计算结果为周期T内来源为Source一个或多个的A的UV;
计算结果为周期T内A的PV;
2)页B和页C的算法一致,下面仅给出页B的计算过程:
计算结果为周期T内来源为Source的refer为A的资源B的UV;
计算结果为周期T内refer为A的资源B的PV;
上面的公式中:
UVT:R:Source表示周期T内来源于为Source的资源R的UV,R=A,B;
PVT:R表示周期T内资源R的PV,R=A,B;
UKT:Source表示周期T内来源为Source下的用户列表;
EX->Y资源X指向Y的边;
然后将B节点到C节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的最底层;将A节点到B节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的中间层;将A节点的用户行为数据,包括统计独立访客量UV、页面访问量PV、用户转换率存储在流量漏斗的最上层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569260.0A CN113176980B (zh) | 2021-05-25 | 2021-05-25 | 一种流量漏斗的动态构建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569260.0A CN113176980B (zh) | 2021-05-25 | 2021-05-25 | 一种流量漏斗的动态构建方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113176980A CN113176980A (zh) | 2021-07-27 |
CN113176980B true CN113176980B (zh) | 2023-09-12 |
Family
ID=76929917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569260.0A Active CN113176980B (zh) | 2021-05-25 | 2021-05-25 | 一种流量漏斗的动态构建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176980B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294559A (zh) * | 2016-07-26 | 2017-01-04 | 北京三快在线科技有限公司 | 一种应用流量分析方法及装置 |
CN107784035A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 漏斗模型的节点的评估系统、方法和装置 |
CN107943679A (zh) * | 2017-11-24 | 2018-04-20 | 广州优视网络科技有限公司 | 路径漏斗的生成方法、装置和服务器 |
CN110675194A (zh) * | 2019-09-29 | 2020-01-10 | 北京思维造物信息科技股份有限公司 | 一种漏斗分析方法、装置、设备及可读介质 |
CN111488261A (zh) * | 2020-03-11 | 2020-08-04 | 北京健康之家科技有限公司 | 用户行为分析系统、方法、存储介质及计算设备 |
CN111625563A (zh) * | 2020-04-27 | 2020-09-04 | 苏宁云计算有限公司 | 一种基于漏斗模型的用户访问行为分析方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020643B2 (en) * | 2002-01-25 | 2006-03-28 | Microsoft Corporation | Method and system for clickpath funnel analysis |
US8892727B2 (en) * | 2011-07-14 | 2014-11-18 | Microsoft Corporation | Funnel analysis of the adoption of an application |
US20160062558A1 (en) * | 2014-08-29 | 2016-03-03 | Erin Delacroix | Backend techniques for funnel analysis |
-
2021
- 2021-05-25 CN CN202110569260.0A patent/CN113176980B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294559A (zh) * | 2016-07-26 | 2017-01-04 | 北京三快在线科技有限公司 | 一种应用流量分析方法及装置 |
CN107784035A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 漏斗模型的节点的评估系统、方法和装置 |
CN107943679A (zh) * | 2017-11-24 | 2018-04-20 | 广州优视网络科技有限公司 | 路径漏斗的生成方法、装置和服务器 |
CN110675194A (zh) * | 2019-09-29 | 2020-01-10 | 北京思维造物信息科技股份有限公司 | 一种漏斗分析方法、装置、设备及可读介质 |
CN111488261A (zh) * | 2020-03-11 | 2020-08-04 | 北京健康之家科技有限公司 | 用户行为分析系统、方法、存储介质及计算设备 |
CN111625563A (zh) * | 2020-04-27 | 2020-09-04 | 苏宁云计算有限公司 | 一种基于漏斗模型的用户访问行为分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113176980A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130138479A1 (en) | Classification of network users based on corresponding social network behavior | |
CA2795165C (en) | Measurements based on panel and census data | |
US20140149418A1 (en) | Method and system for measuring social influence and receptivity of users | |
AU2010292843B2 (en) | Audience segment estimation | |
Bouneffouf et al. | Optimal exploitation of clustering and history information in multi-armed bandit | |
CN107274669B (zh) | 一种基于最短路径的城市道路交通网络熵计算方法及系统 | |
CN104281882A (zh) | 基于用户特征的预测社交网络信息流行度的方法及系统 | |
CN105590240A (zh) | 一种品牌广告效果优化的离散计算方法 | |
WO2010054349A2 (en) | Method and system for clustering data points | |
CN103647800A (zh) | 推荐应用资源的方法及系统 | |
CN103685207A (zh) | 跨数据源的数据整合系统、装置及方法 | |
CN108280121B (zh) | 一种基于k-核分解获取社交网络意见领袖的方法 | |
CN114398669B (zh) | 基于隐私保护计算和跨组织的联合信用评分方法及装置 | |
CN103716282A (zh) | 一种修正ip库的方法和系统 | |
US20200058037A1 (en) | Reporting of media consumption metrics | |
KR101982756B1 (ko) | 분산인메모리기반 복합형스트림 데이터처리시스템 및 방법 | |
EP3695349A1 (en) | Systems and methods for using geo-blocks and geo-fences to discover lookalike mobile devices | |
CN106817271B (zh) | 流量图谱的形成方法和装置 | |
CN115062027A (zh) | 哈希连接方法、计算节点、存储介质及程序产品 | |
CN105426392A (zh) | 一种协同过滤推荐方法及系统 | |
CN113176980B (zh) | 一种流量漏斗的动态构建方法及系统 | |
US11188949B2 (en) | Segment content optimization delivery system and method | |
CN103294828B (zh) | 数据挖掘模型维度的验证方法和验证装置 | |
CN112437022A (zh) | 网络流量识别方法、设备及计算机存储介质 | |
CN110138720B (zh) | 网络流量的异常分类检测方法、装置、存储介质和处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |