TuGraph Analytics 流图计算之行为路径归因

深入解读TuGraph计算引擎模型推理系统 TuGraph计算引擎模型推理系统将基于迭代计算的图计算框架与模型推理系统相结合,推理系统可自定义推理依赖环境,图迭代计算与推理链路实现隔离。基于共享内存的跨进程通信方式,提高了推理数据交换效率,满足流图近线推理的时效性。 阅读详情

作者:李洁峰
TuGraph Analytics(内部项目名 GeaFlow)是蚂蚁集团开源的分布式实时图计算引擎,即流式图计算。通过 SQL + GQL 融合分析语言对表模型和图模型进行统一处理,实现了流、批、图一体化计算,并支持了 Exactly Once 语义、高可用以及一站式图研发平台等生产化能力。
目前 TuGraph Analystics 已经在多类应用场景以及万亿级别的数据规模下提供了生产可用的计算服务,本文主要介绍在路径归因的场景下的实践。

业务背景

在数字化、信息化的大潮流中,互联网给消费者和商家都带来了极大的便利,对用户行为进行渠道归因和路径分析是流量分析领域中的不可缺少的一部分。通过计算用户的有效行为路径,构建出完整的转化路径,能够快速帮助业务看清楚产品的价值,帮助运营及时调整运营思路。
在成本可控的前提下,保证用户行为路径分析计算结果的准确性,是归因分析的前提条件;同时计算结果产出越及时,就能够更快的为业务运营决策提供更有价值的信息。
通过对业务场景的分析,我们发现这类应用很适合通过图来建模,并在此基础上进行路径归因的计算。接下来给大家分享一下 TuGraph Analytics 是如何保证计算结果准确性的同时也满足了近线实时的时效性,一种基于实时图计算引擎进行渠道归因和路径分析计算的新尝试。

技术方案

计算模型抽象

在深入解构了归因分析的细节之后,我们发现一个用户的行为可以通过用图的方式很自然的描述出来,将用户抽象成为一种类型的点,将产品上的埋点信息抽象成为另一种类型的点,而他们之间发生的行为事件信息就可以抽象成连接两种类型点的边。
这样,一个用户及其在产品上的所有行为就构建出了一张用户行为事实图,其中一个用户有多条指向埋点位置的边。其中一条边就是一次用户行为事件(页面访问、点击操作、浏览行为等等),这条边指向一个埋点位置,边上保存了后期分析需要的基础信息(埋点信息、时间信息等等)和扩展信息(活动信息、展位信息等等)。如此,用于描述用户的点、用于描述埋点位置的点以及连接用户和埋点位置之间的边,就形成了一个用户行为网络拓扑。整个拓扑图中包含所有用户及其相应的行为,而每个用户及其相关的行为是整个拓扑图中的一张子图,可以通过图算法对其进行分析。
在这里插入图片描述

接下来,基于这张用户行为事实拓扑图,我们可以在其上根据归因分析所要求的解析规则进行路径模式匹配,从而产出最终的用户行为路径,然后输出到下游存储系统供运营同学使用。

路径匹配规则

路径模式匹配的规则描述的是如何根据用户的原始行为数据得到最终转化路径的过程,该口径直接决定了需要应用于拓扑图数据上的匹配算法。这个口径一般由业务场景决定,不同的业务类型的规则由需求方提供。
用户行为日志中的交易数据是关键点,它们会触发相关用户的子图归因路径匹配计算,计算结果为最终的归因路径。这里的成交数据不仅仅指用户的交易行为,还可以泛化推及到一切需要归因分析的场景,例如签约、订阅、关注、点击等等,在所有关心转化的场景下都能够发挥作用,创造价值。
在这里插入图片描述

以上图中的 user1 为例,与其相关的行为埋点有 spm1、spm2、spm4、spm9,与其相关的交易埋点有 trade1 和 trade5,那么当系统接收到 trade1 这个埋点信息的时候,在 TuGraph Analytics 能够动态加载所有与 user1 相关的埋点信息,参与归因路径规则匹配计算。
需要说明的是,trade1 和 trade5 的计算是互不影响的,与 user1 相关的所有行为埋点信息都会分别参与两者的计算,得到各自的计算结果。

结合 TuGraph Analytics

那么如何在实时到来的用户数据上构建拓扑图并且产出归因路径呢?

  • 首先,需要计算引擎能够实时构建一张巨大的用户行为事实拓扑图,维持百亿级别的输入和状态存储。
  • 其次,在触发路径匹配计算交易数据实时到来之后,要能够立刻获取到与该交易行为相关的子拓扑图,其中包含了计算归因路径所需要的所有点边数据(用户节点、埋点位置节点以及两者之间的边),之后在这张子图上根据解析规则进行归因路径匹配,得到该交易的最终归因路径。
  • 再次,在大量的交易数据涌入之后能够同时对所有的交易进行归因路径计算,保证输出的时效性。

TuGraph Analytics 作为一个实时流图计算引擎,能够满足以上的所有需求。在动态数据到来的过程中触发计算,能够尽可能快的获取到用户的行为边参与路径分析。同时 TuGraph Analytics State 也能够很好的支持千亿甚至万亿级别的图状态存储,在归因分析的场景下绰绰有余。
在这里插入图片描述

计算流程

实时构图

通过 TuGraph Analytics 自有的 IO 插件,可以接入多种外部数据源(静态或者动态)的数据,将二维数据转化成描述拓扑图的点边数据。
在归因分析的场景下,我们通过 SLS 插件(阿里云 SLS 日志服务)接入用户访问行为日志、用户点击行为日志以及最终达成交易的订单日志,将用户构建成一个点,与其相关的每个行为构建成从该用户指向埋点位置的一条边,同时把涉及到的的埋点信息保存下来供后续升维分析使用。
在这里插入图片描述

路径计算

在构建的用户行为事实图上,我们会抽取新到来的交易数据,对于这些数据涉及到的用户,提取他们的行为子图,之后在每个人的子图上基于归因路径匹配的规则进行匹配计算,得出该成交行为相应用户的归因路径,并输出到下游系统。
在这里插入图片描述

业务效果

综上所述,基于TuGraph Analytics的实时行为路径归因,大幅提升了数据产出的时效性,为业务提供了更及时的决策依据,整体归因准确率达到98%左右。其中误差主要来源于算法逻辑对用户行为日志有序性的依赖,如消息延迟和乱序等。

而计算过程中的海量数据由TuGraph Analytics State承接,并未对计算负载造成很大压力,实际生产活动中,作业能够7 * 24小时不间断稳定运行。

结束语

如果您对 TuGraph Analytics 项目比较感兴趣,欢迎动动手指直达GitHub仓库,为我们的项目加一颗Star。
项目地址:https://github.com/TuGraph-family/tugraph-analytics

如果您对该项目的发展有好的建议和意见,欢迎大家提交 Issue 到开源社区,或者通过以下方式与我们直接联系。
邮箱:tugraph@service.alipay.com
钉钉群:TuGraph Analytics讨论群
微信群:
在这里插入图片描述

TuGraph Analytics图计算快速上手之K-core算法 K-Core算法是一种用来在图中找出符合指定核心度的紧密关联的子图结构,在K-Core的结果子图中,每个顶点至少具有k的度数,且所有顶点都至少与该子图中的 k 个其他节点相连。K-Core通常用来对一个图进行子图划分,通过去除不重要的顶点,将符合逾期的子图暴露出来进行进一步分析。K-Core图算法常用来识别和提取图中的紧密连通群组,因具有较低的时间复杂度(线性)及较好的直观可解释性,广泛应用于金融风控、社交网络和生物学等研究领域。 阅读详情

相关推荐

TuGraph Analytics交互式图查询:让图所见即所得

TuGraph Analytics提供了OLAP图分析能力,实现图上的交互式查询,用户在构图并导入数据之后,可以通过输入GQL语句对图查询分析,并以可视化的方式直观地展示点边结果。

TuGraph的博客 1157

流计算、Flink和图计算

很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达。数据快速持续到达,潜在大小也许是无穷无尽的数据来源众多格式复杂数据量大,但是不关注存储,一旦经过处理,要么被丢弃,要么被归档存储注重。

qq_51580006的博客 2955

ChatTuGraph:通过大模型“与图对话”

相比于SQL相对成熟的语法标准,图查询语言尚未形成成熟的统一标准,目前是多种查询语法并存的状态,上手门槛高,因此更需要借助大语言模型的自然语言理解能力,降低图数据库查询语言的使用门槛。

TuGraph的博客 925

流计算相关的基础概念

已经了解到流计算是如何解决了传统批处理的局限以及如何支持了新的应用和架构,并且熟悉了开源流计算技术的演进,接下来介绍流计算的基础。 数据流图(Dataflow graphs) 字面上理解,一个数据流程序描述了数据在各种操作之间的流动。数据流程序通常用一个有向图来表示,其中节点是运算符代表了计算,边表示数据的依赖关系。算子是一个数据流程序的基本函数单元,从输入中消费数据、执行计算,以及输出结果用于进一步的处理。没有输入端的算子称为data source,而没有输出端的算子称为data sink。一个数据流图至

数智技术 1196

硬件测试之—纹波测试为什么不要使用接地夹子

示波器为什么不推荐使用接地夹

qq_19294353的博客 2989

保姆级教程:如何用Le2i Fall Detection Dataset训练你的跌倒检测模型(附数据集下载)

本文提供了一份详细的实战指南,教你如何使用Le2i Fall Detection Dataset训练跌倒检测模型。内容涵盖数据集的深度解析、预处理与工程化管道搭建、模型选择与训练策略,以及评估优化与部署考量,旨在帮助开发者从零构建高精度、可应用的跌倒检测系统。

assembly8low的博客 1288

Graph4Stream:基于图的流计算加速

可以看到在一跳、两跳场景中,Flink的性能要好于GeaFlow,这是因为在一跳、两跳场景中参与join计算的数据量比较小,join需要遍历的左表和右表都很小,遍历本身耗时短,而且Flink的计算框架可以缓存join的历史计算结果。流图是图在流场景中的应用,他依据数据流对图的更新将图分成历史图和增量图两个部分。通过结合图计算与流计算,蚂蚁图计算开源的GeaFlow引擎解决了传统流计算引擎在大数据关联关系计算中的性能瓶颈,尤其在多跳场景下性能显著优于Flink,对于实时知识图谱的构建,提供了基础技术底座。

weixin_55010563的博客 867

基于AI Agent的数据治理实战:从架构设计到企业级落地

数据治理是确保企业数据质量、一致性与安全性的核心实践,其核心原理在于通过规范、流程与技术工具对数据进行全生命周期管理。传统人工治理模式效率低下且难以规模化,而大语言模型(LLM)与智能体(Agent)技术的发展,为数据治理的自动化与智能化带来了突破。通过将自然语言理解、任务规划与工具调用能力相结合,AI Agent能够将治理规则“代码化”与“智能化”,实现从被动响应到主动发现的模式转变。在应用场景上,AI Agent可扮演智能数据专员角色,自动执行元数据问答、数据质量探查、口径对齐等任务,显著提升数据团队效

weixin_34008805的博客 419

TuGraph基础操作入门

TuGraph图数据库由蚂蚁集团与清华大学联合研发,构建了一套包含图存储、图计算、图学习、图研发平台的完善的图技术体系,拥有业界领先规模的图集群,解决了图数据分析面临的大数据量、高吞吐率和低延迟等重大挑战,是蚂蚁集团金融风控能力的重要基础设施,显著提升了欺诈洗钱等金融风险的实时识别能力和审理分析效率,并面向金融、工业、政务服务等行业客户。指定边的起/终点类型:可限制边的起点和终点点类型,支持同类型边的起点和终点的点类型不同,如个人转账给公司、公司转账给公司;若要模拟无向边,用户可以创建两个方向相反的边。

u010479989的博客 1436

【Stata双重差分模型】双重差分DID的具体操作步骤

本案例将详细阐述如何使用双重差分法进行实证分析,并展示具体的STATA操作代码。

a519573917的博客 2万+

YOLO11多类别数据集的类别平衡方法:讲解类别不平衡问题的识别方法,以及过采样、欠采样、类别权重调整等解决方案(一)

类别不平衡问题是机器学习和计算机视觉领域中一个常见但棘手的挑战。简单来说,当数据集中不同类别的样本数量存在显著差异时,我们就称这个数据集存在类别不平衡问题。在YOLO目标检测任务中,这意味着某些类别的目标对象在训练数据中出现得非常频繁,而其他类别的目标对象则很少出现。 想象一下,你正在训练一个交通监控系统,需要检测不同类型的车辆。在这个场景中,"汽车"这个类别可能有成千上万个实例,而"自行车"或"摩托车"可能只有几百个实例。这种数量上的巨大差异就是典型的类别不平衡问题。 从数学角度来看,假设我们有一个包

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 941

探索数据的奥秘:TuGraph Analytics - 高效且灵活的数据分析工具

探索数据的奥秘:TuGraph Analytics - 高效且灵活的数据分析工具 是一个强大的开源数据分析项目,旨在帮助数据科学家、研究人员和工程师更高效地探索复杂的数据集。它构建在 TuGraph 数据库之上,提供了一系列高级算法和可视化工具,使用户能够挖掘隐藏的模式、关系和趋势。 技术分析 TuGraph Analytics 基于图数据库理论,使用图形模型来表示和存储数据。这种模型对于处理实体...

gitblog_00008的博客 576

获取iOS设备唯一标识UUID(Swift版)

属性返回的UUID是与应用程序相关联的,也就是说,如果用户卸载并重新安装应用程序,该UUID可能会发生变化。如果您需要一个与设备相关的持久唯一标识符,您可以考虑使用Keychain或其他方法来存储和检索设备标识符。在iOS开发中,我们经常需要获取设备的唯一标识符来进行一些特定的操作,比如设备识别、数据追踪等。在本文中,我将向您展示如何使用Swift编程语言获取iOS设备的唯一标识UUID。通过上述代码,您可以在您的iOS应用程序中轻松获取设备的唯一标识符。属性来获取设备的唯一标识UUID。

BitNetO的博客 1920

图论 —— 网络流 —— 基本概念与建模技巧

【基本概念】 1.网络流 给定一个有向图 G=(V,E),在这个图中: 有唯一的一个源点 S(入度为 0,出发点) 有唯一的一个汇点 T(出度为 0,结束点) 图中的每条弧(u,v)都有一非负容量 c(u,v) 此时称图 G 为网络流图(容量网络),记为:G=(V,E,c) 简单来说,图就是一种管道,管道有最大通过流量的限制,图中的边权就是容量 2.可行流 对于一个网络流图 G=(...

Alex_McAvoy的博客 1万+

华为OD机考双机位C卷 - 补种未成活胡杨 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 补种未成活胡杨(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 2419

【机器视觉】基于深度学习的托盘PCB识别与计数(有无、正反)

工业机器视觉是指在制造业和工业环境中使用计算机视觉技术来执行检测、测量、识别和控制任务。它结合了硬件(如相机、镜头、光源)与软件(图像处理算法)来自动完成传统上需要人工视觉的任务,从而提高生产效率、产品质量以及工作安全性。工业机器视觉系统通常具有高精度、高速度和高可靠性,能够适应恶劣的工作环境。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

TensorFlow入门:计算图和梯度流

背景: 边缘:输入或者输出参数 节点:是指的中间的操作过程 之后创建一个Graph,再然后在session中运行。我们也可以将训练的结果保存为一个Graph,然后将这个流图给到第三方去运行,同时第三方不必知道训练的过程 梯度流就是一个逐级求导的过程 代码演示: #coding=utf-8 import tensorflow as tf import numpy as np import cv2...

zhuyong006的博客 2471

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TensorFlow学习系列之八:什么是数据流图?

一、概述TensorFlow最基本的一次计算流程通常是这样的:首先它接受n个固定格式的数据输入,通过特定的函数,将其转化为n个张量(Tensor)格式的输出。一般来说,某次计算的输出很可能是下一次计算的(全部或部分)输入。整个计算过程其实是一个个Tensor 数据的流动过程。在这其中,TensorFlow将这一系列的计算流程抽象为了一张数据流图(Data Flow Graph)。简单来说,数据流图...

玉来愈宏的随笔 8292

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Storm(流计算)技术原理

流计算概述 什么是流数据: 数据有静态数据和流数据。 静态数据: 很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。 图:静态数据的一般处理流程 流数据: 近年来,在Web应用、网络监控、传感监测等领域,兴...

曹世宏的博客 3万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

tensorflow中计算流图的一些性质

目的: 想要给tensor中的slice赋值。以numpy为例,对一个np对象,的第二行赋值 import numpy as np mat = np.zeros((3, 3)) print(mat) """ 输出 [[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]] """ mat[1,:] = [1, 2,

qq_29007291的博客 997

无处不在的流计算到底是什么?终于有人讲明白了(附导图)

导读:两千多年以前,孔老夫子站在大河边,望着奔流而去的河水,不禁感叹:“逝者如斯夫,不舍昼夜。”老夫子是在叹惜着韶华白首,时光易逝!两千多年以后的今天,当你我抱着手机读书、追剧、抢票、剁...

大数据 4740

AI分布式Token中转站网关底层实现-东方仙盟

在终端优先同步架构下,所有终端智能体请求不再直连上游 MaaS 平台(千帆、百炼、DeepSeek 等),全部经由分布式 Token 中转站网关统一中继。网关承担虚拟客户密钥签发、上游子账号路由、前置内容安全审计、事务路由调度、可控网络震荡多上游链路容灾、SSE 流式透传、用量记账、封禁熔断、原始 IP 封包签名溯源等核心职责。本文基于 Go 实现分布式网关核心底座,复用架构原有无状态 Token 穿透、事务 ID 幂等、链路探活、多节点中继能力;区分两层密钥体系:面向终端客户的虚拟 Key。

cybersnow精通 28 门计算机语言,凭借其超凡的技术能力,成功开发过上万个应用,广泛涉及政府、商业、个人等众多领域,甚至在检察院、环保局、公安局等专业场景中也大放异彩。不仅熟练掌握单片机和物联网开发,在软件架构设计方面更是独树一帜,自创了跨平台软件 255

HarmonyOS 分布式深度:跨端迁移、数据对象与多设备协同

本文深入解析鸿蒙分布式能力实战,聚焦跨端迁移、协同与共享三大形态,详解权限配置、设备发现、onContinue状态管理及分布式数据对象、KV同步机制。强调“先分清场景”“前置条件必全”“数据需重验”,揭示迁移失败、同步失效等七大常见坑,指导开发者规避陷阱,实现真实可用的多设备协同。

信息安全领域优质创作者|操作系统领域专家 123

EtherCAT从站实现(三):DC同步机制与分布式时钟实现

本文详解EtherCAT伺服从站DC同步机制,解决高精度控制中因主站抖动与传播延迟导致的相位偏差问题。通过ESC硬件维护1ns分辨率全局时间,实现从站自主同步,确保PDO更新与控制环采样精准对齐。核心流程包括传播延迟测量、时钟初始化、漂移补偿及SYNC0/SYNC1信号生成。从站需正确配置DC能力与同步模式,主站则通过DCM机制保障发送周期稳定。调试建议结合示波器与寄存器监控,分阶段验证时序关系,确保多轴协同无误。

yangmu3203的博客 135

集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界

以订单系统为例,一笔付款会扣账户余额、写一条流水、更新订单状态;月末报表则可能按日期统计所有租户的订单。前者要求几项变更一起提交,后者关心查询会覆盖多大范围。讨论集中式与分布式,先把读写请求分开,比先数数据库节点更容易看清问题。KingbaseES 核心数据库是集中式关系数据库。KES RAC 和 KES TDC 也都可以部署为多节点形态,但它们的数据组织方式并不相同。

todoitbo的博客 1万+
上一篇: TuGraph Analytics图计算快速上手之K-core算法
下一篇: Tugraph Analytics图计算快速上手之紧密中心度算法
TuGraph
博客等级 码龄4年 183粉丝 43原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值