3. 切片维度设计原则
实时风控人群切片的核心在于维度选择。错误的维度组合会导致切片过粗(漏过风险)或过细(计算爆炸、样本稀疏)。本章围绕高基数与低基数维度、时间窗口、地理与设备三大类维度,给出可落地的设计原则与避坑指南。
3.1 高基数维度 vs 低基数维度
基数(Cardinality)指维度取值空间的唯一值数量。基数高低直接影响切片粒度、存储开销与回放效率。
| 对比项 | 高基数维度 | 低基数维度 |
|---|---|---|
| 典型示例 | 用户ID、设备指纹、IP地址、银行卡号 | 性别、注册渠道、支付方式、风险等级 |
| 唯一值数量 | 百万~亿级 | 2~数百 |
| 切片粒度 | 极细,可定位到单一实体 | 较粗,适合群体画像 |
| 存储/计算开销 | 高,需索引或哈希优化 | 低,可预聚合 |
| 回放验证难度 | 需按实体回放,数据量大 | 易做分组统计,速度快 |
| 适用场景 | 单用户行为序列、设备指纹追踪 | 渠道对比、版本灰度、策略分层 |
设计原则:高基数维度用于锁定个体,低基数维度用于划分群体。实际切片时,建议将 1 个高基数维度 + 2~3 个低基数维度组合,避免全高基数导致维度爆炸。
3.2 时间窗口切片
时间窗口是风控切片中最容易被忽视但影响最大的维度。同一用户在不同时间窗口内的行为模式差异巨大,切片设计必须覆盖以下三种窗口类型:
- 固定窗口(Fixed Window):按自然时间划分,如每小时、每天、每周。适合周期性统计,但窗口边界处容易产生截断误差。
- 滑动窗口(Sliding Window):以当前事件为终点向前回溯,如过去 5 分钟、过去 1 小时。适合实时行为计数,但计算成本随窗口长度线性增长。
- 会话窗口(Session Window):以用户连续行为间隔划分,如两次操作间隔超过 30 分钟则新建会话。适合识别短时密集攻击,但会话定义需要业务经验。
回放验证要点:回放时必须保证时间窗口语义与生产环境一致。常见错误是回放时使用“事件时间”而生产使用“处理时间”,导致窗口内事件数量偏差。建议在切片元数据中显式标记窗口类型与对齐方式。
3.3 地理与设备维度切片
地理和设备维度是风控中区分“正常用户”与“可疑实体”的关键信号。这两个维度具有层次性和关联性,切片设计需同时考虑单维度粒度和跨维度交叉。
地理维度切片层次
- 国家/地区:低基数,适合做宏观流量监控,如“某国注册量突增”。
- 省份/州:中基数,适合区域策略,如“某省IP代理占比过高”。
- 城市:中高基数,适合LBS风控,如“同一城市短时间内大量注册”。
- GPS坐标/基站:极高基数,适合精确位置碰撞,但需注意隐私合规。
设备维度切片要点
| 设备属性 | 基数 | 切片用途 | 注意事项 |
|---|---|---|---|
| 设备指纹(Device ID) | 极高 | 追踪单设备行为序列 | 指纹碰撞率需低于万分之一 |
| 操作系统/版本 | 低 | 识别模拟器、越狱设备 | 版本号需标准化处理 |
| 浏览器UA | 中 | 检测爬虫、自动化工具 | UA可伪造,需结合其他信号 |
| 屏幕分辨率/语言 | 中 | 辅助判断设备真实性 | 常与指纹联合使用 |
| 网络类型(WiFi/4G/5G) | 低 | 区分固定IP与移动网络 | 需实时获取,延迟敏感 |
避坑提示:地理与设备维度交叉切片时,务必注意维度稀疏性。例如“城市+设备指纹”组合可能产生大量只有 1~2 条记录的切片,导致统计意义丧失。建议对低基数维度做预聚合,对高基数维度做布隆过滤或哈希分桶。
3.4 切片维度组合清单
以下清单总结了实时风控中常用的切片维度组合及其典型场景,可直接作为设计参考:
| 组合编号 | 高基数维度 | 低基数维度 | 时间窗口 | 典型场景 |
|---|---|---|---|---|
| C1 | 用户ID | 风险等级 + 渠道 | 滑动窗口 5min | 高频交易拦截 |
| C2 | 设备指纹 | 操作系统 + 网络类型 | 会话窗口 30min | 设备农场识别 |
| C3 | IP地址 | 国家 + 注册方式 | 固定窗口 1h | 批量注册检测 |
| C4 | 银行卡号 | 支付方式 + 金额区间 | 滑动窗口 1min | 盗刷实时拦截 |
| C5 | GPS坐标(网格化) | 城市 + 时间段 | 固定窗口 15min | LBS异常聚集 |
最佳实践:切片维度设计完成后,建议先做基数估算:预估每个维度的唯一值数量,计算组合后的理论切片数。如果组合切片数超过 10^8,必须引入降维策略(如哈希分桶、布隆过滤器、预聚合),否则实时计算引擎将无法支撑。