TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

什么是异常检测?业务指标上的方法和例子

异常检测是找出和预期相差很大的数据点。异常有哪些类型、从简单到复杂的方法、一个日流量的计算示例,以及告警触发后该怎么排查。

林舟 审核人 苏禾 又称 离群点检测 最后更新 2026 年 11 月 4 日 术语表

一句话回答

异常检测是找出那些和预期规律相差太大、不太可能是正常波动、值得去查的观测值,比如某一天的流量或某一笔交易。

公式: z = (观测值 − 预期值) / 基线标准差

什么是异常检测?

异常检测是找出那些和预期相差太大、不太可能是正常波动的数据点。对网站或产品来说,可能是注册数突然下降、错误数激增,或者某个来源的流量猛涨。

关键词是预期。异常永远是相对某个基线而言的,所以大部分功夫花在选一个好的基线上。

三类异常

类型是什么例子
点异常某一个值很极端今天的下单数比正常低 40%
情境异常一般情况下正常,放在这个情境里不正常2,000 访客在周一很正常,在周日就奇怪了
集体异常每个值看着都正常,连起来不正常转化率连续一周每天掉 2%

从简单到复杂的方法

  1. 固定阈值。「每小时错误超过 50 就告警。」简单,但不管周期。
  2. 百分比变化。「访客比上一周期少 30% 就告警。」简单,量小时噪声大。
  3. 基线区间。和最近几个同星期几的均值比,允许一个区间(±10%、±30%)。
  4. 统计方法(z 分数)。算今天离基线有几个标准差。
  5. 模型。季节分解、预测模型,或孤立森林这类机器学习方法,适合同时盯很多指标。

先从 3 或 4 开始。它们能照顾到每周的周期,有人问「为什么告警」时也好解释。

计算示例

最近四个周一的访客数(示例数字):1,180、1,240、1,210、1,170。

  1. 基线均值 = 1,200
  2. 标准差 = 31.6
  3. 今天(周一)= 1,020
  4. z = (1,020 − 1,200) / 31.6 = −5.7

离基线超过 3 个标准差,就很不像是噪声,值得查一查。只有四个点时标准差本身也不太稳,再用百分比区间(这里是 −15%)复核一下更稳妥。

告警触发后:排查清单

  1. 数据完整吗? 采集中断、脚本被拦、批量数据晚到,看起来都和下跌一模一样。
  2. 是整体都这样,还是某个细分? 按设备、国家、来源、页面拆开看。
  3. 最近改了什么? 发版、活动、假期、故障。看看日期标注。
  4. 是真的,但在预料之中? 活动带来的流量高峰就是你想要的异常。
  5. 记下原因,下一个人就不用再查一遍。

TapCub 里的异常检测

TapCub 的监控可以按小时、天、周、月盯一个内置指标(浏览量、访客、会话、跳出率、平均时长、错误数、错误率)或一个已保存的指标。各条件和上面的方法对应:

监控条件对应方法
固定阈值固定阈值
同环比和上一周期比的百分比变化
预测基线近 7 天与同星期几的均值;严格约 ±10%、中等约 ±30%、宽松约 ±50%;需要 14 天历史
异常检测近 28 天同星期几的均值和波动;置信度 70 到 99;默认需要约 30 天历史
采集中断多少分钟没有数据,用来发现追踪出了问题

「试跑」会算出这条规则在过去 30 天里会触发几次,是调灵敏度最快的办法。默认约 60 分钟内不重复通知。另见监控。

相关阅读

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

林舟

产品体验专员

关注产品体验、功能使用与增长实践,喜欢把复杂流程拆成清晰步骤,让分析结果更容易用到日常决策中。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

异常检测有什么例子?

今天的注册数远低于以往同一个星期几时触发告警,或者发版后错误率突然上升时触发告警。

异常和离群值有什么区别?

两者常常混用。「离群值」多指数据集里的极端值;「异常」强调这个值打破了预期的规律,而规律可能取决于时间或场景。

异常检测先从哪种方法开始?

用最近几周同一星期几的数据做基线,再按标准差或百分比设阈值。它能处理每周的周期,也好解释。

怎么减少误报?

用考虑季节性的基线、要求足够的历史数据、对波动大的指标调低灵敏度,并对同一问题不重复通知。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie