4. 风险指标设计:KPI与KRI的定义、风险阈值设定、指标聚合与计算逻辑
说到风险仪表盘,最核心的就是指标设计。我见过太多团队,一上来就堆数据,结果仪表盘变成了「数据垃圾场」——啥都有,啥都看不明白。
今天咱们就聊聊,怎么把风险指标设计得既专业又实用。
4.1 KPI 与 KRI:两个概念,一个目标
先搞清楚这两个东西的区别。
KPI(Key Performance Indicator),关键绩效指标。说白了就是「你干得怎么样」。比如系统可用性 99.9%、交易成功率 99.5%。这些都是衡量业务健康度的指标。
KRI(Key Risk Indicator),关键风险指标。这是「你可能会出什么问题」。比如 CPU 使用率超过 80%、错误日志每分钟超过 100 条。这些是预警信号。
我个人的习惯是:KPI 看结果,KRI 看过程。KPI 告诉你已经出问题了,KRI 告诉你快要出问题了。
举个例子:
| 指标类型 | 指标名称 | 说明 |
|---|---|---|
| KPI | 支付成功率 | 过去 1 小时支付成功的比例 |
| KRI | 支付接口超时率 | 支付请求超时的比例,超过 5% 触发预警 |
| KRI | 数据库连接池使用率 | 超过 70% 需要扩容,超过 90% 立即告警 |
| KRI | 支付网关响应时间 P99 | 超过 2 秒说明网关可能出问题 |
你看,一个「支付成功率」的 KPI,背后有三个 KRI 在支撑。这样当支付成功率下降时,你马上就能知道是接口超时了,还是数据库扛不住了,还是网关慢了。
4.2 风险阈值设定:别拍脑袋
阈值怎么设?我见过最离谱的是「我觉得 80% 比较好看」——这哪行啊。
阈值设定有四个层次:
- 静态阈值:固定值,比如 CPU 超过 90% 告警。适合稳定、可预期的场景。
- 动态阈值:基于历史数据自动计算。比如过去 7 天同时间段的平均值 ± 3 个标准差。适合有周期性波动的指标。
- 复合阈值:多个条件组合。比如「错误率 > 5% 且持续 5 分钟」才告警,避免毛刺干扰。
- 趋势阈值:看变化率。比如「连续 3 个周期上升超过 20%」就预警,哪怕还没到绝对阈值。
我曾经在一个项目中,给「登录失败次数」设了静态阈值 100 次/小时。结果某天凌晨被告警吵醒,一看是爬虫在扫接口。后来加了「来源 IP 去重」的复合条件,才消停。
4.3 指标聚合与计算逻辑
指标不是简单地从数据库拉个数就完事了。你得想清楚:
- 时间窗口:1 分钟?5 分钟?1 小时?窗口越小,反应越快,但噪声也越多。
- 聚合方式:求和、平均、最大值、P99、计数?不同场景用不同方式。
- 计算频率:实时计算还是定时批处理?实时成本高,批处理有延迟。
我一般这样设计:
-- 示例:计算过去 5 分钟的错误率
WITH error_stats AS (
SELECT
COUNT(*) AS total_requests,
SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END) AS error_count
FROM api_logs
WHERE timestamp >= NOW() - INTERVAL '5 minutes'
)
SELECT
total_requests,
error_count,
ROUND(error_count::numeric / NULLIF(total_requests, 0) * 100, 2) AS error_rate
FROM error_stats;
这段 SQL 看起来简单,但有几个坑:
NULLIF防止除零错误——这个我吃过亏,仪表盘直接崩了ROUND(..., 2)控制精度,别显示一堆小数点- 时间窗口用
NOW() - INTERVAL '5 minutes',保证每次查询都是最近 5 分钟
4.4 知识体系总览
下面这张图,是我做风险指标设计时的核心框架。你可以照着这个思路来搭建自己的指标体系。
这张图的核心逻辑是:从业务目标出发,拆解出 KPI,再细化到 KRI。每个 KRI 都要配套阈值、聚合逻辑和告警策略。最后汇总到仪表盘上。
4.5 避坑指南
做指标设计这几年,我踩过不少坑。挑几个典型的说说:
- 指标太多:我曾经给一个仪表盘塞了 50 多个指标,结果没人看。后来砍到 8 个核心指标,反而成了团队每天必看的工具。
- 阈值太死:静态阈值设得太低,天天告警,大家就麻木了。设得太高,出了事才发现。建议初期用「温和阈值」+「人工复核」的方式过渡。
- 忽略数据质量:指标算出来是 99.9%,但数据源本身就有 5% 的缺失。那这个指标就是垃圾。一定要在计算前做数据质量校验。
- 没有上下文:光显示「错误率 3.2%」没用。要加上「相比昨天上升 15%」「高于 95% 的同类服务」这样的对比信息。
嗯,指标设计这块,说白了就是「少即是多」。把最关键的几个指标盯住了,比搞一堆花里胡哨的图表管用得多。下次咱们聊聊怎么把这些指标用图表展示出来——那又是另一门学问了。
公众号:蓝海资料掘金营,微信deep3321