dbaplus社群

数据总出错?90%的人都没搞懂架构、存储、数仓、指标设计这些问题

目录

前言:数据苦恼 — 数据又出问题了

一、数据架构: 思想演进与权

二、数据存储: 架构剖析

三、数仓设计: 服务应用

四、指标定义: 理论结合业务思考

五、数据质量与提效

数据类的架构设计远不止是工具和概念的堆砌,它更像是一门在规模、实时性、成本、复杂度与治理之间不断权衡与取舍的艺术。本文抛开简单的概念,深入聊聊关于数据类专业术语的核心思想、技术原理和实际权衡,同时也有 “数据指标、异常监控、数据提效 ”的一些思考,也包含一些实用tips,欢迎一起探讨交流~

前言:数据苦恼 — 数据又出问题了

这破数据一天天的简直要命。晨会刚打开报表,老板突然来一句:“这个数,怎么跟我昨天在另一个报告里看的不一样? 我后背一凉,回复”我回去查查”,又是指标口径这老六在作妖!

图片

哎,没办法谁叫我们是搞数据的呢 ”头发越掉越多,sql越写越复杂,锅越背越重。咱就是说能不能有一次!就一次!让数据老老实实当个乖宝宝。下面将从架构、存储、数仓、指标设计等多个视角剖析。或许有所启发共鸣,欢迎留言探讨~

一、数据架构: 思想演进与权衡

1、主流架构: 设计与使用场景

数据架构的演进反映了业务需求和技术能力的共同变化,每种架构都是一定条件下的最优解,但也都有其明显的代价。

图片

数据架构的演变,是应对不同业务场景和技术限制的解决方案的进化史,其核心是 批流统一、成本与性能的权衡 。

  • Mpp 架构(大规模并行处理):核心思想是"分而治之",它将庞大的计算任务拆分成许多小任务,分发到多台服务器节点上并行处理,最后合并结果,以此显著提升数据处理效率。

  • 其核心每个节点都拥有独立的计算、内存和存储资源,通过节点互联网络进行协作;这种架构具备优异的水平扩展性,可通过增加节点来线性提升系统处理能力,非常适合进行低延迟的复杂分析查询;

  • MPP架构尤其适用于数据仓库、商业智能(BI)和交互式分析等需要快速响应和处理海量结构化数据的场景。

  • Lambda 架构(批流分离) :这是早期的经典模式,旨在同时满足 大数据量的批处理准确性 和 流数据的低延迟性

  • 它包含批处理层(Batch Layer,如 Spark)、速度层(Speed Layer,如 Flink/Kafka Streams)和服务层(Serving Layer,如 HBase/Druid)。其最大优点是架构成熟,有大量实践案例。但缺点也显而易见: 复杂性高 (需维护两套逻辑一致的代码)、 资源消耗大 (两套系统)且存在 数据一致性挑战 。

  • Kappa 架构(流批一体) :为解决 Lambda 的复杂性,Kappa 架构提出 一切皆流 的理念

  • 批处理被视作流处理的一个特例(处理有界的历史数据流)。所有数据通过如 Apache Kafka 这样的 中心化日志 接入,由统一的流处理引擎(如 Apache Flink)进行处理。它的优势是 架构简化 、 逻辑统一 (只需维护一套代码)。挑战则在于:对消息队列的 长期存储能力 和 流处理引擎的重处理(Reprocessing)能力 要求极高。

  • Lakehouse 架构(湖仓一体) :这是当前的重要演进方向,旨在融合 数据湖的灵活性 与 数据仓库的性能与管理性

  • 其核心是通过 Apache Iceberg、Delta Lake、Apache Hudi 等开放表格式,在低成本的对象存储(如 S3)上实现 ACID 事务、数据版本(Time Travel)、 schema 演化等数仓能力。它试图解决数据湖和数据仓库割裂带来的数据冗余、迁移成本和治理困难问题。这三种架构没有绝对优劣,只有是否适合。选择取决于你的业务对 数据一致性、处理延迟、开发运维成本和历史数据规模 的要求

2、数据处理: 语义与精确性保障

在流处理中,由于网络、故障重试等因素,数据可能会被重复处理。流处理框架提供不同级别的数据处理语义保证,这是流处理深度的体现:

  • At-most-once(至多一次) :消息可能丢失,但绝不会重复。

  • At-least-once(至少一次) :消息绝不会丢失,但可能重复。这是大多数系统的默认或基础保证。

  • Exactly-once(精确一次) :消息肯定会被处理 且仅处理一次 。这是流处理追求的“圣杯”。

实现 Exactly-once 的深度技术通常依赖于:

  • 分布式快照/状态检查点(Chandy-Lamport 算法) :如 Apache Flink 通过 屏障(Barrier) 和 状态快照 机制,在保证吞吐的同时实现端到端的精确一次。它会周期性地对所有算子的状态进行一致性快照,并在失败时从最新快照恢复。

  • 幂等性写入 :确保多次写入操作与一次写入效果相同。支持幂等性写入的存储组件广泛存在于关系型数据库(如MySQL)、NoSQL 数据库(如Redis/HBase)、消息队列(如Kafka 兼具存储能力)及分布式存储系统中。幂等性的核心是 “多次执行同一操作,结果与执行一次一致”,不同组件通过原生机制(如主键约束)或扩展功能(如版本号、条件语句)实现这一特性

  • 两阶段提交(2PC) :与外部系统(如 Kafka、数据库)协同,通过“预提交-提交”阶段来保证事务的原子性。

图片

3、数据质量: 可观测性的工程化

数据质量绝非运行几个 SQL 检查脚本那么简单,其深度在于 工程化、自动化、可观测的系统性建设 。数据质量衡量数据是否“好用且可靠”,通常从以下几个维度进行评估,每个维度都有对应的量化指标:

图片

其中易用性一般在数据领域最经常遇到就是库表字段命名,以及数据类型定义:

  • 日期:fdate/ftime(如果是增量表fdate代表分区日期也代表数据日期、全量表的话fdate代表分区日期 s_date代表数据日期)

  • 用户账号:uin、uid

  • 设备号:uuid、qimei、taid、oaid、login_open_id

  • 表名前缀:ods_(原始层)、dwd_(明细层)、dws_(聚合层)、ads_(应用层)

二、数据存储: 架构剖析

1、关系型数据库(RDBMS)与ACID 基石

关系型数据库是数据领域的基石,其核心在于 ACID事务 保证和 SQL 查询语言。

1)ACID的深度实现

  • 原子性(Atomicity) : 通常通过 预写日志(Write-Ahead Logging, WAL) 实现。任何数据页的修改在写入磁盘前,必须先将其日志记录持久化到WAL中。崩溃恢复时重放(Redo)已提交事务的日志、回滚(Undo)未提交事务的日志。

  • 隔离性(Isolation) : 通过 并发控制协议 实现。主流技术包括:

  • 锁机制(Locking) : 悲观并发控制。如行锁、表锁、意向锁及其组成的锁协议(两阶段锁协议,2PL)。

  • 多版本并发控制(MVCC) : 乐观并发控制的核心。为每一行数据维护多个版本,读操作访问一个快照版本,从而避免与写操作阻塞。这是PostgreSQL、MySQL InnoDB、Oracle等现代数据库高并发读性能的关键。

  • 持久性(Durability) : 由WAL和强制刷盘(fsync)机制保证。

2)架构演进:从主从到分布式NewSQL

  • 主从复制 : 解决读扩展性,但写能力仍受单点限制。

  • 分库分表 : 应用层驱动的水平拆分,带来应用复杂度飙升、跨分片查询困难、事务难以保证等挑战。

  • NewSQL : 新一代分布式关系数据库,如 Google Spanner 、 TiDB 、 CockroachDB 。其核心技术包括:

  • 分布式事务 : 采用优化的 两阶段提交(2PC) 协议,并结合 原子钟(TrueTime) 或 混合逻辑时钟(HLC) 技术解决分布式时钟问题。

  • 分布式SQL引擎 : 将单机SQL查询计划拆分为可在多个数据节点上执行的分布式执行计划。

  • 弹性扩展 : 存储与计算分离架构,使存储和计算节点可以独立水平扩展。

2、NoSQL:专业化之路与CAP权衡

NoSQL并非否定SQL,而是“Not Only SQL”。它根据不同的数据模型和访问模式,提供了多样化的选择,其设计核心是 CAP理论 的权衡。

键值存储(Key-Value): 模型最简单,性能极高。代表: Redis (内存型,丰富数据结构)、 DynamoDB (云原生,自动扩缩容)。适用于会话缓存、购物车、计数器等场景。

文档存储(Document): 以JSON/BSON格式存储半结构化数据,模式灵活。代表: MongoDB (最流行的文档数据库)、 Couchbase 。适用于内容管理系统、用户配置文件等。

宽列存储(Wide-Column): 概念源于Google的BigTable。数据按列族存储,擅长海量数据的随机读写和范围查询。代表: Apache HBase (Hadoop生态)、 Cassandra(无中心化架构,高可用性极强)、 ScyllaDB(C++重写,性能怪兽)。适用于物联网、消息日志、用户行为数据存储。

图存储(Graph): 专门为存储实体(节点)和关系(边)而设计,支持高效的图遍历和关系查询。代表: Neo4j (原生图存储)、 Nebula Graph(分布式开源方案)。适用于社交网络、欺诈检测、知识图谱、推荐系统。

3、大数据存储与湖仓一体(Data Lakehouse)

大数据生态的存储系统旨在处理PB级别的数据,其设计理念与传统数据库迥异。

1)批处理存储基石:Apache HDFS

HDFS是第一批大数据存储的基石。其核心思想是 “移动计算而非移动数据” 。通过将大文件分块(Block)并分布式存储在廉价服务器上,提供高吞吐量的顺序读写能力,但随机读写性能很差。

2)表格式(Table Format)的革命:Apache Iceberg / Hudi / Delta Lake

直接存储在HDFS或对象存储(如S3)上的文件缺乏数据库的表、事务、模式演进等管理能力。表格式正是在此背景下诞生,它在底层文件之上定义了一个元数据层,从而赋予了数据湖以数据库般的体验。

  • ACID事务: 通过原子性的元数据操作实现事务提交。

  • Time Travel: 基于快照机制,可以轻松查询历史某一时刻的数据状态。

  • 模式演进: 支持安全的列添加、重命名或删除。

  • 性能优化: 隐藏分区、数据裁剪(Data Skipping)、布隆过滤器等,极大提升了查询效率。

湖仓一体 架构正是构建在这些先进的表格式之上,实现了数据湖的低成本存储与数据仓库的强大管理、性能优势的统一。

4、存储引擎内核深度探秘

1)存储引擎:LSM-Tree vs. B-Tree

存储引擎是数据库的“心脏”,决定了数据的组织和存取方式。

①B-Tree(及其变种B+Tree) 

  • 工作原理:一种保持排序的平衡树,所有数据都存储在叶子节点。读写操作都是 原地更新(Update-in-place) 。

  • 优点: 优秀的读性能(尤其是范围查询),事务支持成熟。

  • 缺点: 随机写可能导致页分裂,产生碎片;写放大(Write Amplification)问题较严重。代表:MySQL InnoDB, PostgreSQL。

②LSM-Tree(Log-Structured Merge-Tree) 

  • 工作原理 : 首先将写入操作追加到内存中的 MemTable (常跳表实现),写满后冻结并刷到磁盘形成不可变的 SSTable(Sorted String Table) 。后台通过 Compaction 过程将多个SSTable合并排序为更大的新文件。

  • 优点 : 极高的写吞吐量 (顺序写代替随机写), 更好的压缩率 (有序的SSTable)。

  • 缺点 : 读放大(Read Amplification) (可能需要查找多个SSTable), 写放大 (Compaction带来额外IO)。Compaction策略(Leveled vs. Size-Tiered)是调优核心。

  • 代表 : Google LevelDB 、 RocksDB (Facebook基于LevelDB开发,事实上的标准嵌入式引擎),几乎所有现代NoSQL系统如Cassandra、ScyllaDB、HBase都基于RocksDB或类似LSM引擎构建。

2)分布式一致性协议

构建分布式存储系统必须解决数据一致性问题。

主从复制中的一致性 :

  • 异步复制 : 性能最好,但存在数据丢失风险(主宕机)。

  • 半同步复制 : 至少一个从库确认后才向客户端返回成功,在性能和数据一致性间折衷。

  • 全同步复制 : 所有从库确认,一致性最强,但延迟高。

分布式共识算法 :

  • Paxos : 理论上最优但极其复杂,难以工程实现。

  • Raft : 为易于理解而设计,通过领导者选举、日志复制和安全性保证来维持一致性,已成为 事实标准 (Etcd, Consul, TiKV等均采用)。

  • ZAB : Zookeeper原子广播协议,为ZooKeeper设计,与Rast思想类似。

5、数据存储: 表格式的深层原理

数据存储的选择远不止 “海量存 S3,快速查数仓”这么简单。深层技术点在于 存储格式 和 表格式 。

存储格式 :如 Parquet 和 ORC ,是实际的文件格式。它们采用 列式存储 ,能极大提升分析查询的性能(只需读取相关列)。配合复杂的 编码和压缩算法 (如 RLE、Dictionary Encoding),能有效减少存储空间和 I/O 开销。表格式 (Table Format):这是技术深度的关键体现。 Iceberg/Hudi/Delta Lake 并非新的存储格式,而是 在现有文件格式之上的一层元数据抽象和管理规范 。你可以理解为它们是一个“超级目录”。

  • 它们通过 元数据分层 (元数据文件、清单列表、清单文件)来高效追踪数据文件。

  • 实现 ACID 事务 ,保证并发写入的数据一致性。

  • 支持 Time Travel ,通过快照机制轻松查询历史数据或回滚错误操作。

  • 提供 Schema 演化 的可靠支持,允许安全地添加、重命名或删除列。

选择不同的表格式,会对数据更新的效率(Merge on Read vs Copy on Write)、元数据扩展性和生态兼容性产生深远影响。

组件类型
典型代表
核心特点
典型适用场景
关系型数据库 (OLTP)
MySQL
事务支持 (ACID)、行式存储、丰富的SQL支持与生态系统、支持二级索引
核心业务系统(如用户、订单、交易管理);内容管理系统(CMS)、博客、Wiki;中小规模且结构定义良好的应用或数据仓库
分布式文件系统
HDFS
高容错、高吞吐、高可靠 、低成本;支持海量非结构化数据存储 、线性扩展离线批处理- 数据湖底层存储 、历史数据备份
NoSQL数据库
HBase
高可靠、高性能、面向列、强一致性;可扩展性强 、支持随机实时读写高并发点查询- 实时读写 、海量数据持久化
数据仓库/OLAP
Hive
SQL化查询 、易于上手 、支持超大规模数据集
离线ETL 、大数据集的批处理作业 、网络日志分析
Iceberg, Hudi
湖仓一体格式:支持ACID事务、版本管理、时间旅行
构建于数据湖(HDFS/S3)之上的数仓,支持流批一体
消息队列(流存储)
Kafka
高吞吐、持久化 、弹性扩展 、支持实时数据流实时数据流缓冲 、日志记录 、海量日志处理
内存数据库/缓存
Redis
内存存储极致性能:数据存于内存,读写速度极快(微秒级);丰富的数据结构:支持字符串;哈希、列表、集合、有序集合等,远超普通键值存储;持久化可选:支持 RDB 快照和 AOF 日志,可配置数据持久化;高可用与分布式:支持主从复制、哨兵模式及集群模式高速缓存(如会话缓存、页面缓存)会话存储(如用户登录状态);实时排行榜(利用有序集合) 消息队列与发布/订阅(简单场景);分布式锁(如控制资源并发访问)计数器(如点赞数、浏览量)和实时统计(如利用HyperLogLog统计UV)
MPP分析型数据库
StarRocks
极速分析性能:采用MPP架构、全面向量化执行引擎和列式存储,复杂查询速度快- 实时与批量统一:支持实时数据流(如Kafka)和批量数据导入,数据写入即可查;兼容MySQL生态
高并发支持:通过良好数据分布、索引和物化视图支持高并发查询- 多模型支持:
实时数据仓库:电商大促、物流跟踪、实时监控;OLAP多维分析与即席查询:用户行为分析、财务报表、自助式报表平台;高并发BI报表:广告主报表、Dashboard多页面分析- 统一数据分析平台:一套系统满足多维分析、高并发和实时查询,降低复杂度- 数据湖查询加速:直接对湖上数据执行高速分析
列式OLAP数据库
ClickHouse
列式存储:数据按列存储,压缩率高,减少I/O并提升查询效率;向量化执行引擎:利用CPU的SIMD指令进行并行处理,大幅提升计算性能;高性能查询:擅长大规模数据的聚合分析,查询速度极快;实时数据更新:支持实时数据插入和更新,适用于实时分析场景;多样化表引擎:提供MergeTree系列(含复制表)、Log、Memory等多种引擎,适应不同场景;数据分片与分布式查询:支持分布式部署,实现水平扩展和并行处理实时数据分析:用户行为分析、实时报表;日志与时序数据处理:日志分析、监控指标、IoT传感器数据;商业智能(BI):复杂的Ad-hoc查询、大数据量的报表系统;数据仓库:作为高性能数仓存储和查询大量数据
实时OLAP数据库
Apache Druid
为实时OLAP设计:低延迟(亚秒级)的交互式查询;列式存储 + 位图索引:优化快速聚合和过滤;原生支持实时数据摄入:数据写入即可查- 深度优化时序数据:原生时间分区和聚合实时监控仪表盘、实时BI- 用户行为分析、点击流分析- 时序数据(IoT、运维监控)分析

大数据存储组件的选择没有绝对的最佳答案,关键在于匹配你的具体业务场景、数据特征和技术栈。

核心选型公式: 数据模型 + 访问模式 + 一致性要求 + 规模与成本 = 最佳存储选择。

三、数仓设计: 服务应用

1、数据分层: 设计指标度量健康

首先在数仓是明确“ 完善度、复用度、规范度、资源度 ” 4个指标,同时也需要进一步 规范了洛子任务命名方式,通过所属分层 + 任务说明 + 主题 + 模块 + 最大引用层 + 任务调用脚本, 通过划分主题域 及 分层建设整个数据任务体系达到了划分主题、分层建设,实现了矩阵式数据划分,数据模型可复用的效果,最后达到可全面评估衡量数仓建设质量。

图片

2、存储设计: 如何更快的取数

大家都可能会遇到过,查询日增数据3~5TiB(40~60亿记录)甚至更大超级大表 往往容易遇到查询特别慢的情况,我们如何进行优化呢。下面从问题发现、问题定位、问题解决等多个维度,深入探讨如何提升TDW(Hive表) 海量数据场景下的查询效率。

下面这里是采用媒体作为二级分区字段,可大大减少日常SQL取数的数据读取量(只读取特定二级分区的数据),它的原理也非常简单就是采用合理的字段作为二级分区,一般取特定字段的枚举值不多,一般不超过50个 也不能小了5个;太大容易导致小文件过多,太小容易效果不明显。

特别注意:

  • 提前创建好二级分区,如果没有提前创建好二级分区数据会落入二级分区中的 default分区;

  • SQL查询时需要将一级分区、二级分区同时限定,比如: select   field1   from tbl_name  partition(p_20250921, p_100) b; 或者 select   field1   from tbl_name  where fdate = 20250921 and cmd = 100;

  • 如果查询时一级分区、二级分区分开,只能裁剪一级分区跑 即没有命中二级分区 其跑数也是全表扫描; select  field1  from tbl_name partition(p_20250921) bbb where cmd = 100

图片

图片

3、数据服务: 面向报表应用数据模型设计构建

在面向报表应用的数据模型设计时,大致可分为两大类指标:原子指标、衍生指标;比如:曝光量、点击量就是原子指标是可以根据维度的变换进行累加;CTR 就是典型的衍生指标,是通过两个原子指标 曝光量、点击量相除得出来的;似乎在计算机科学领域跟数据流转相关的任何问题都可以通过增加一层来解决,为此在想能否通过打造面向数据服务应用的数据模型,来提升数据的服务效能呢。答案是显然的,是可以的。为此,原子指标可统一在数仓一体化加工确保口径统一、维度丰富;衍生指标通过面向报表应用的数据模型设计配置; 这样做有个好处就是,维度、指标 规则是统一的、一处修改全局生效。最终达到数据规范的模板及高复用的整体效果。 

图片

四、指标定义: 理论结合业务思考

1、 指标的核心要素与价值

 一个完整的数据指标通常包含以下几个 核心要素 :指标名称和定义、计算单位、计算方法、维度以及指标数值。例如,"日活跃用户数(DAU)"是一个常见指标,其定义为"在指定日内至少启动一次应用的去重用户数",计算单位为"人",统计周期为"日",可能包括的维度有"渠道来源"、"地域"和"操作系统"等。这些要素共同确保了指标的 明确性 和 可操作性 。

指标在企业中的 重要性 不言而喻。首先,指标能够帮助企业 客观评估业务表现 。通过对关键指标的监控,企业可以清晰了解当前的业务状况,发现潜在问题和机会。其次,指标有助于 统一团队认知 ,避免因理解不一致导致的决策分歧。更重要的是,一套科学完善的指标体系是企业开展数字化运营管理、打造数据驱动型组织的重要支撑,使企业能够通过数据直观了解业务健康状况,并找到潜在的问题和机会。

2、指标的本质与构成要素

从技术视角看,数据指标是 对零散数据进行汇总计算后得到的结果 ,能够反映过去一段时间内业务行为的好坏情况。一个完整的指标包含三个核心要素:

  • 维度(Dimension) :从哪个角度衡量,如“用户”、“时间”、“地区”

  • 汇总方式(Aggregation) :如何统计,如“总和”、“平均值”、“占比”

  • 量度(Measure) :目标是什么,如“订单数”、“复购率”

例如,“订单数”可以定义为:统计周期内,用户完成支付的订单数量总和。其中:

  • 维度:用户完成支付的订单

  • 汇总方式:订单数量总和

  • 量度:统计订单数量

在数据体系标准化过程中,指标通常被分为两类:

原子指标 :基于某一业务事件行为下的度量,是业务定义中 不可再拆分 的指标,具有明确业务含义名词,体现具体统计口径和计算逻辑,其构成公式为: 原子指标 = 业务过程 + 度量 。例如,“订单支付金额”是一个原子指标,其中业务过程是“订单支付”,度量是“金额”。

派生指标 :在原子指标基础上,通过增加 时间周期 和 修饰词 等维度形成的复合指标。其构成公式为: 派生指标 = 时间周期 + 修饰词 + 原子指标

例如,“最近一天海外买家支付金额”中,“最近一天”是时间周期,“海外”是修饰词,“支付金额”是原子指标。

图片

3、原子设计理论基础与模型

构建有效的数据指标体系需要科学的方法论和模型作为指导。这些模型不仅帮助数据专业人员系统性地梳理指标,也确保了指标体系能够与业务目标保持一致,从而发挥其真正的价值。

1)OSM模型:目标-策略-度量

OSM模型是指标设计中最基础且强大的框架之一,它由 目标 (Objective)、 策略 (Strategy)和 度量 (Measurement)三个核心组件构成。

目标(Objective) :指企业或业务单元希望达成的宏观目标,如"提高GMV"、"提升用户满意度"或"增加市场占有率"。目标应当简洁明确,能够清晰指引方向。

策略(Strategy) :指为达成目标而采取的具体策略或手段。如为提高GMV,可能采取"提升支付用户数"、"提高每笔单价"或"增加用户购买频次"等策略。

度量(Measurement) :指用于衡量策略执行效果的具体指标。这些指标应当可量化、可跟踪,如"新注册用户数"、"每笔订单平均单价"和"用户下单频次"等

表:OSM模型在电商场景的应用示例

目标(O)
策略(S)
度量(M)
提高GMV
提升支付用户数
新注册用户数
提高GMV
提升每笔单价
每笔订单平均单价
提高GMV
提升用户购买频次
用户下单频次

通过OSM模型,企业能够将 战略级目标 转化为 可执行的动作 ,并确保每个动作都有相应的 数据度量 ,从而形成从战略到执行的闭环管理。OSM模型将宏大抽象的目标拆解成系列具体的、可落地、可度量的行为,适用于产品运营、用户运营、绩效管理、企业经营等众多场景。

适用场景:

有目标的时候,比如公司年初定好了今年KPI,各个部门分工协作。各部分工作可能完全不同,打法也得不一样,但只要把大目标拆成自己的小目标,再想要怎么做、看什么数据,就行了。

复盘时候,比如某个部门业绩不好,可以顺着这个逻辑来找问题:目标有没有对准公司的大方向?策略有没有用?用的数据能不能看出问题?

2)UJM模型:用户旅程地图

用户旅程地图(User-Journey-map,简称UJM)模型专注于 用户与产品交互的全过程 ,将用户体验分解为一系列阶段和触点。通过UJM模型,运营人员能够将用户从点击、浏览到加购、下单、分享的全过程体验进行量化管理,找出影响用户最终购买转化率的关键环节,并针对性进行优化。

在用户旅程的每个阶段,都有相应的 关键指标 来衡量用户体验和转化效果:

认知阶段 :用户首次接触产品的阶段,关键指标包括曝光量、点击量、触达率等。

兴趣阶段 :用户对产品表现出兴趣的阶段,关键指标包括浏览深度、停留时长、页面跳出率等。

购买阶段 :用户完成转化的阶段,关键指标包括转化率、支付成功率、客单价等。

忠诚阶段 :用户成为忠实用户并推广产品的阶段,关键指标包括复购率、NPS(净推荐值)、分享率等。

UJM模型与OSM模型结合使用,能够帮助企业不仅了解 最终结果 ,也理解 用户转化全过程 ,从而针对性地优化用户体验,提升整体转化效率。

适用场景:

规划与设计(事前:看路)要推一个新功能、新产品,或者一个新活动的时候。团队一起画出来,预想用户会先干嘛、再干嘛、可能会在哪卡住、在哪觉得爽。这样就能提前优化设计,把问题消灭在开始之前。

复盘与优化(事后:修路)发现数据不好看(比如转化率低、用户流失严重)的时候。对照着地图,一步步检查用户实际走到了哪一步就走丢了、为什么放弃。是页面加载太慢?还是操作太复杂?马上就能定位到具体环节去修复。

统一团队认知(对齐:共享一张地图)每当市场、产品、研发、客服吵得不可开交的时候。把地图往墙上一贴,大家瞬间就明白:“哦,原来用户是在我这一步之前遇到了问题!” 避免各自为战,让整个团队都为用户的全流程体验负责。

3)AARRR模型:海盗模型

AARRR模型 又称海盗模型,专注于 用户生命周期 ,包括获取(Acquisition)、激活(Activation)、留存(Retention)、收入(Revenue)和自传播(Referral)五个阶段。有些实践者还会增加召回(Recall)阶段,形成AARRRR模型,更完整地概括用户生命周期。

图片

AARRR分别代表了五个单词,又分别对应了产品生命周期中的五个阶段:

图片

适用场景:

获取(Acquisition):用户如何发现(并来到)你的产品?     要拉新、投广告、做推广的时候。用户通过什么渠道找到我们?哪个渠道来的用户最多、质量最好?投了小红书和抖音的广告,要看哪个平台带来的新用户更多,以后就多投哪个。

激活(Activation):用户的第一次使用体验如何?     用户第一次用产品,担心他“玩不明白就跑了”的时候。用户有没有体验到产品的核心价值?(比如第一次就用滤镜发了朋友圈),一个新用户下载App,引导他快速完成第一个核心动作(如发布第一条视频),让他觉得“这 app 有用/好玩”。

留存(Retention):用户是否还会回到产品(重复使用)?     担心用户用完一次就删,或者再也不打开了。关键问题 :用户明天、下周还会主动来用吗?比如 :通过推送通知、签到积分、周期性活动(如每周五的促销),让用户养成习惯,反复回来。

收入(Revenue):产品怎样(通过用户)赚钱?     需要商业变现、提升收入的时候。关键问题 :用户愿意为什么功能/服务付钱?比如 :研究付费会员、高级功能、广告投放等哪种方式赚得最多,并优化付费流程。

传播(Refer):用户是否愿意告诉其他用户?     增长遇到瓶颈,老用户很多但新用户不够时。关键问题 :用户会自发分享你的产品吗?比如 :设计“分享得优惠”、“邀请有奖励”等裂变机制,让老用户带来新用户

4、指标分类与分级

建立指标体系需要对指标进行 系统化分类和分级 ,以便不同层级的使用者能够快速找到和理解相关指标。通常,我们将指标分为三个级别:第一关键指标(北极星指标)、一级指标  和 二级指标

1)北极星指标

又称第一关键指标,是反映产品核心价值的唯一最重要指标。它应当能反映用户从产品中获得的核心价值,反映用户的活跃程度,直观可拆解,并能够为产品或业务的长期目标奠定基础。例如,打车类App的北极星指标是"成单率",支付宝早期的北极星指标是"两亿三次"(一年内达到2亿用户,用户平均使用次数超过三次)

适用于:业务初期,不应关注所有到处发力,可能哪一块都没有做好。我们应该关注一个指标,这个指标对我们来说是最关键的,为了提高指标可能会衍生出N多个指标,这些衍生指标与第一关键指标共同支撑。比如在业务初期阶段,我们重点关注销售额这个指标,GMV(成交额)= 销售额 + 取消订单金额+拒收订单金额+退货订单金额+优惠券金额。在创业阶段:

  • MVP阶段:Minimum Viable Product: 最小可用产品,定性分析

  • 增长阶段:留存阶段,这个阶段会重点关注留存率

  • 变现阶段:重点关注营收/成本/利润率;LTV(Life Time Value);CAC(Customer Acquisition Cost);可以通过分成比例、盈利周期对渠道进行分析。

适用场景:

  • 战略聚焦:避免团队迷失在数据里。当团队争论优先级,每个人(产品、运营、市场)都只盯着自己部门的指标(如点击率、下载量、活跃度)时。发起讨论,共同确定当前阶段 唯一 最重要的目标是什么(比如“用户次日留存率”)。之后,所有资源和决策都优先服务于改善这个指标。统一战斗方向,避免内部拉扯,力往一处使。

  • 早期创业/新业务验证:活下去最关键。创业公司或一个新项目刚启动,资源极度有限,无法面面俱到。忘记“宏大的指标体系”,找到那个能验证“产品是否被需要”的 生死指标 。通常是:激活率 :用户是否体验到了产品的“爽点”? 留存率 :用户是否会回来?集中所有火力解决核心矛盾,快速验证模式能否跑通,避免早期浪费资源。

  • 专项攻坚:解决最致命的瓶颈问题。业务遇到明显瓶颈,比如用户流失严重、增长停滞或转化率极低。通过数据分析,找到用户旅程中最致命的“漏水点”。然后设定一个阶段性的唯一指标,比如:“在未来一个月,全力将 支付流程的转化率 提升10%。” 将一个复杂问题转化为一个清晰、可衡量的短期目标,集中力量打歼灭战。

2) 一级指标

支撑北极星指标的核心指标,通常对应较大的业务单元或流程。如将成单率拆解,可得到"发单数"、"完单数"等一级指标。

3)二级指标

进一步细分一级指标,用于深入分析问题根源。如将"完单数"拆分可得到"司机取消订单数量"、"乘客取消订单数量"等二级指标。对于客服人员来讲,更需要关注这些二级指标,跟进了解司机和乘客取消订单的原因,解决司乘用户体验问题。

表:不同层级指标的特点与用途

指标层级
特点
典型使用者
示例
北极星指标
反映产品核心价值,唯一且聚焦
高管、决策者
成单率(打车App)
一级指标
支撑北极星指标,覆盖主要业务单元
业务部门负责人
发单数、完单数
二级指标
细分一级指标,用于深度分析
业务人员、分析师
司机取消订单数、乘客取消订单数
5、指标分析与洞察

单纯展示指标数值往往不足以支撑深度决策,需要结合各种分析方法挖掘数据背后的洞察。以下是几种常用的指标分析方法:

1) 杜邦分析

将核心指标拆解为多个相互关联的因子,形成因子树,帮助分析影响指标的关键因素。例如,将"毛利"拆解为"销售额×毛利率-营销费用",进一步将"销售额"拆解为"订单量×客单价",从而全面理解毛利的影响因素。示例 广告场景 : 竞价广告收入 = ecpm *  (曝光量/ 1000);

图片

实际应用与洞察:不满足于看单一的最终结果(ROE),而是深入挖掘这个结果背后的驱动因素,就像拆解一个机器,看每个齿轮的运转情况一样。

2)漏斗分析

分析用户在多步流程中的转化情况,帮助识别流程中的瓶颈环节。例如,分析用户从"浏览商品"到"加入购物车"再到"支付成功"的全流程转化情况。浏览商品 -> 点击购买 -> 填写订单 -> 支付成功,每个环节的漏斗折损。

图片

实际应用与洞察:它能直接告诉你问题出在哪个环节,节省了大量盲目排查的时间。

3)维度下钻

通过添加维度对指标进行细分,发现数据背后的模式。例如,将总销售额按地区、产品类别、时间等维度进行下钻分析,发现销售额波动的具体原因示例:

图片

实际应用与洞察:维度下钻远不止是“数据分组”或“做个饼图”。它是数据分析中最基础、最强大的一种根因分析(Root Cause Analysis) 方法,其本质是通过连续地切换观察数据的视角,从宏观现象逼近微观原因,从而将问题定位到可行动的维度。

实用技巧与注意事项 (Tips):

  • 下钻顺序很重要:优先选择业务上最敏感、变化最快的维度(如时间),然后下钻到贡献最大的维度(如地区、产品)。

  • 不是维度越多越好:过度下钻会产生大量细枝末节的数据切片,容易让人迷失。始终牢记分析目标:寻找根因,指导行动。

  • 与A/B测试结合:下钻帮你形成假设(“我认为是广告素材的问题”),A/B测试则帮你验证这个假设(“测试一下新旧两种素材的效果”)。

  • 警惕“辛普森悖论”:有时局部数据表现的趋势和整体表现的趋势完全相反,必须综合多个维度一起看,避免得出错误结论。

4)趋势分析

观察指标随时间的变化趋势,识别周期性模式和异常波动。例如,分析销售额的周趋势、月趋势和年趋势,区分季节性影响和真正的业务变化。

时间序列趋势分析的核心思想是:将一个时间序列数据分解为几个内在的、有意义的组成部分,从而更好地理解其背后的模式和驱动因素。

图片

这些分析方法往往需要结合使用,才能从不同角度理解指标变化背后的原因,形成全面而深入的业务洞察。

6、指标分层下钻

为什么需要下钻分析?

假设你是某电商平台的首席增长官(CGO),在周一上午的复盘会上,你看到上周的核心指标“平台总GMV”(北极星指标) 同比下跌了15%,严重不及预期。此时,你面临的核心问题是:“GMV为什么下跌?我们该怎么办?” 面对这样一个宏观的负面信号,最无效的反应就是恐慌或提出“必须提升GMV”这种空洞的口号。最有效的反应是:“让我们下钻分析,找到问题的根源。”

下钻分析的核心价值在于:

  • 从宏观到微观: 将一个大而化之的问题,转化为一个具体、可归因、可行动的具体问题。

  • 避免“指标暴政”: 防止团队为了提升一个宏观数字而采取伤害长期利益的短视行为(如无节制补贴)。

  • 精准定位责任: 快速定位问题是出在哪个业务板块或部门,由谁来解决最合适。

指标分层的过程 本质是提出假设、验证假设、定位问题的循环。它遵循一个清晰的逻辑链条,其核心环节与依赖关系如下图所示:

图片

接下来,我们对每个步骤进行详细阐述:

第1步:提出假设 (Hypothesis)

基于业务逻辑,提出GMV可能下跌的原因方向。这是分析的起点,决定了后续分析路径。

方法一:公式拆解(最常用)

  • 公式: GMV = 活跃用户数 × 转化率 × 客单价

  • 假设: 下跌可能是由于①用户变少了、②用户不爱买东西了(转化低)、③买的东西更便宜了(客单价低),或者是三者的共同作用。

方法二:业务路径拆解(AARRR模型)

  • 假设: 问题可能出在 获客 (新用户少了)、 激活 (新用户没下单)、 留存 (老用户回流少)、 变现 (付费转化低)、 推荐 (裂变效果差)的某一环。

方法三:用户/产品分层拆解

  • 假设: 问题可能局限于某一类用户(如新用户)或某一类商品(如手机数码品类)。

第2步:验证假设 (Validation)

利用数据平台或BI工具,查询相应指标的数据,验证你的哪个假设成立。

验证公式拆解:

  • 查看“活跃用户数”、“转化率”、“客单价”三个指标同期的变化情况。

  • 发现: 假设数据显示,活跃用户数下跌20%,转化率微升,客单价微升。 结论: 问题核心出在“活跃用户数”上。

继续下钻(活跃用户数为什么跌?):

  • 活跃用户数 = 新用户 + 老用户

  • 进一步拆解发现,新用户数量暴跌40%,老用户数量保持稳定。 结论: 问题进一步聚焦到“新用户获取”上。

继续下钻(新用户问题出在哪?):

  • 查看新用户的 转化流程 (下载App->注册->首单转化),发现从“下载”到“注册”的环节转化率大幅低于往常。

  • 查看新用户的 来源渠道 ,发现主要投入的某个渠道(如信息流渠道A)的新用户注册成本飙升,且注册质量差(注册后下单率极低)。

第3步:得出结论与行动 (Conclusion & Action)

通过层层下钻,你从“GMV下跌15%”这个宏观问题,精准定位到了一个微观的、可行动的具体问题:

“我们最大的新用户获取渠道A近期出现了严重的效率下降和质量问题,这是导致本次GMV不及预期的核心根因。”

基于此,你可以制定 精准的行动方案 :

  • 立即行动: 暂停或减少渠道A的投放,避免更多预算浪费。

  • 分析原因: 联合市场渠道团队,检查渠道A近期是否有异常(如广告素材老化、竞争对手抬价、平台规则变化等)。

  • 优化替代: 优化投放素材和落地页,同时将预算转移到ROI更高的渠道B和C上。

  • 监控效果: 紧密监控新策略下新用户的获取成本和首单转化率,确保问题得到解决

图片

五、数据质量与提效

1、 核心矛盾:质量的不可能三角与信任经济学

任何数据质量讨论都必须始于承认一个核心矛盾:数据质量、研发效率、计算成本 构成一个“不可能三角”。追求极致质量必然牺牲效率和成本。我们的目标不是追求100%准确,而是找到 业务可接受的、性价比最高的质量平衡点。

信任是数据世界的货币:数据质量的终极产品是“信任”。其成本是错误决策的成本,其收益是基于信任的协作效率。所有技术投入都必须服务于降低前者、提升后者。

图片

2、提升数据质量

1)出数晚:优化任务保障SLA

问题本质:数据管道的端到端延迟 = 计算时间 + 排队时间 + 调度延迟。

2)数不准:  强化数据质量监控

「数不准」的本质是在数据的加工和流动过程中,引入了非预期的失真。我们的目标是在失真发生的瞬间就发现并定位它,而非等到业务方上报

构建计算血缘图谱,将数据血缘转化为一张有向无环图(DAG),节点是表;当数据指标异常时可以根据DAG 快速定位至哪个环节。

图片

推动建立数据质量监控的“三道防线”: 源头与接入层、处理与加工层、应用与消费层;

并对每一层明确“数据责任制”,明确每一份数据的唯一负责人(Owner)

图片

3)发告警:线上异常及时感知

有效且真实的告警,真正的深度在于构建一个 “分层过滤、智能降噪” 的系统,难度是确保每一条告警都有效、可行动。

告警分级模型(基于严重性与紧迫性)

级别
定义
示例
送达渠道
响应要求
P0(致命)
核心业务中断,大面积影响用户
主核心ETL失败,首页无法打开
电话、短信、APP Push
立即响应,24/7
P1(严重)
重要功能受损,部分用户受影响
关键报表数据延迟,某个API成功率下降
钉钉/飞书群 @所有人
1小时内响应
P2(警告)
潜在问题,暂不影响用户
磁盘使用率超80%,数据波动超阈值
邮件、钉钉/飞书群
当天内处理
P3(信息)
状态变更信息,无需行动
任务执行成功,容量充足
仅仪表盘显示
无需处理

解决办法:事前定义监控规则、事中稽核数据质量、事后分析数据质量。

图片

4)建归因:日常业务波动自动化

归因本质:是一个 “因果推断” 问题。我们的目标不仅仅是知道“发生了什么”,更要精准量化“为什么发生”以及“各个原因贡献了多少”。

建归因的方法有很多,大致流程如下:

图片

归因方法的理论演进与选择

模型
核心思想
适用场景
数学本质
优缺点
首因/末因归因
将100%功劳归于第一次或最后一次接触点
线索转化、APP下载
逻辑简单
优点:简单易实现缺点:严重失真,忽略其他触点
线性归因
将功劳平均分配给转化路径上的每个触点
品牌曝光、多渠道营销
平均主义
优点:公平简单缺点:不符合现实,低估核心渠道
时间衰减归因
离转化越近的触点,获得功劳越大
促销季、短期决策
指数衰减
优点:侧重最终推动缺点:忽略品牌长效价值
Shapley Value归因
计算每个渠道在所有可能组合中的边际贡献
多渠道预算分配、ROI计算
合作博弈论
优点:公平、理论坚实缺点:计算组合爆炸,需抽样近似
机器学习的数据驱动归因
用算法(如生存分析、概率图模型)从数据中学习贡献度
精准营销、用户体验优化
机器学习
优点:最贴合现实缺点:实现复杂,需大量数据

现实场景中,多数为关键维度引起 核心指标波动,也是业务被问频次最高。比如广告营收场景中,电商、游戏行业对收入影响一般就较大。特别是618、双11电商大促对广告有明显的助推,分析流程大体一致:

Step 1:  确认波动真实性 (Data Validation): 排除数据上报错误、数据延迟、系统故障等技术性问题。

Step 2:  进行维度下钻 (Drill-down Analysis):

第一步:看时间趋势。是突然暴跌/涨,还是缓慢下降/上升?

第二步:分行业/分客户。使用贡献度分析(瀑布图) 或 同比/环比差值排名,快速找出对本次波动贡献最大的正向和负向行业/客户。

第三步:分流量/分产品。锁定问题行业后,再下钻看是哪个流量渠道(如iOS端下降了?)、哪个广告产品(如搜索广告收入下滑?)的问题。

应用示例:

图片

图片

作者丨雷祖全
来源丨公众号:腾讯云开发者(ID:QcloudCommunity)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:[email protected]