统计平台很少是一次设计出来的,它更像一棵树,长出来的每一圈年轮都对应一次业务变化
很多团队在重构统计平台时,喜欢问一句:“能不能一步到位,直接按最终架构设计?”
答案通常是不能。不是技术做不到,而是你不可能在第一天就知道未来三年业务会怎么变。
统计平台的形态,往往和公司的业务阶段强相关。这篇聊聊它常见的四个阶段,每个阶段的痛点、信号,以及演进时该注意什么。
一、四个阶段
1 | 阶段一:报表脚本 |
不是每个公司都要走到阶段四,也不是走到了就不能回头。阶段本身没有高低,只有匹不匹配。
二、阶段一:报表脚本
特征:业务要什么数,就写一条查询;定时跑,导出表格,发邮件或丢到群里。
优点:快。今天提需求,明天就能给数。
痛点:
- 口径散落在每条查询里,同一个指标多个版本;
- 数据量大一点就慢,报表越加越多,任务互相抢资源;
- 没人知道一张报表是谁在用、能不能下线;
- 出问题只能翻脚本,排查靠猜。
演进的信号:
- 同一个指标,两个报表数字不一样;
- 报表数量超过几十张,维护开始失控;
- 业务开始要求“点开看明细”。
到这个阶段,通常会进入阶段二。
三、阶段二:报表服务
特征:把报表逻辑从脚本里抽出来,变成统一的服务和接口;数据提前加工成宽表,查询只做过滤和聚合。
优点:
- 口径集中到服务里,页面不用各写一套;
- 宽表让查询变快;
- 报表可以复用,新增页面成本下降。
痛点:
- 宽表是“为某几张报表定制的”,新需求一来就要改表;
- 指标定义仍然埋在实现里,业务看不到、也改不了;
- 下钻和明细对不上,用户开始质疑数据;
- 每个页面还是自己拼参数、自己算环比。
演进的信号:
- 指标数量快速增长,改一个口径要动很多地方;
- 业务要求“自助分析”,不再满足于固定报表;
- 数据团队大量时间花在“解释数字”而不是“做数据”。
到这个阶段,需要把“指标”本身变成一等公民。
四、阶段三:指标平台
特征:指标有统一的注册和定义;引擎负责翻译、取数、计算;页面只负责展示和交互。
优点:
- 口径只有一处,页面之间数字一致;
- 新增指标只加定义,不改引擎;
- 下钻、明细、导出共用同一套条件;
- 指标可以被检索、被引用、被治理。
痛点:
- 指标定义需要业务参与,评审成本上升;
- 引擎变复杂,性能和新需求之间要平衡;
- 历史遗留的报表还在,短期不可能全部切换。
演进的信号:
- 指标数量上百,靠人肉维护开始吃力;
- 业务希望“自己查数”,而不是每次都提需求;
- 数据质量问题的发现和修复,开始影响业务决策。
到这个阶段,平台要从“取数工具”变成“数据产品”。
五、阶段四:数据产品
特征:自助分析、实时监控、质量闭环、指标治理,形成一个完整的体系。
优点:
- 业务可以自己探索数据,数据团队从“取数”里解放出来;
- 实时和离线分工明确,异常能尽早发现;
- 数据质量有监控、有对账、有回补流程。
代价:
- 复杂度高,需要专门的团队维护;
- 成本高,实时链路、存储、计算都要投入;
- 治理成本高,指标、口径、质量都要持续投入。
阶段四不是终点,而是另一个循环的起点。
六、演进不是重写
很多团队一想到演进,就想“推倒重来”。这是最危险的做法。
更稳妥的方式是渐进式演进:
- 新需求走新链路:新报表、新指标用新平台,老报表暂时不动;
- 按域切换:先切一个业务域(比如订单),验证通过再切下一个;
- 双写校验:过渡期两套实现都跑,定期对比结果,差异可解释后再下线旧链路;
- 保留回退能力:新链路出问题时,能快速切回旧链路。
演进的目标不是“有一天把旧的全部删掉”,而是“让新的部分逐渐承担更多,直到旧的自然退场”。
七、组织也要演进
统计平台的问题,一半是技术,一半是协作。
- 口径共识:指标定义不能只由数据团队拍板,业务要参与;
- 需求评审:新指标先问“回答什么问题”,再问“怎么算”;
- 指标治理:定期盘点没人用的指标、重复的指标、口径冲突的指标;
- 责任边界:谁定义、谁实现、谁验收,要提前说清楚。
技术架构可以一夜之间改,协作习惯不行。很多平台“技术很先进,但数字还是没人信”,问题往往出在协作。
八、常见反模式
- 一步到位:想直接设计最终架构,结果永远在重构;
- 过度设计:业务只有几张报表,却上了实时链路和复杂引擎;
- 只堆功能不治理:指标越来越多,没人知道哪些能用;
- 重写代替演进:新旧系统长期并存,团队被拖垮;
- 技术驱动:为了用某个技术而设计架构,而不是为了解决问题;
- 忽视协作:平台做得很好,但业务不参与口径定义;
- 没有回退:新链路一上线就全量切,出问题无法回头;
- 只关注取数:不关注数据质量,数字错了才发现。
九、结语
统计平台的演进,本质是跟着业务一起长大。
- 阶段一拼的是“快”;
- 阶段二拼的是“稳”;
- 阶段三拼的是“一致”;
- 阶段四拼的是“自助与可信”。
每一步都有它的合理性,也都有它的天花板。判断什么时候该进入下一阶段,比盲目追求“先进架构”更重要。
写到这里,这个系列暂时告一段落。从统计平台的整体设计,到指标定义、指标引擎、展示层、数据质量、实时与离线、性能优化,再到演进路径——一条统计链路的几个关键问题,基本都覆盖到了。
希望这些内容,能让你在设计或重构自己的统计平台时,少踩几个坑。