60 秒回答模板

我会把外卖订单刷单识别定义成订单请求级的风险打分问题。第一步先确定标签来源和判定窗口,例如人工审核、规则命中、后验核销异常、退款取消或商户/用户异常行为,但要区分确认欺诈和疑似样本。第二步构建特征,覆盖用户、设备、支付、地址、商户、优惠、下单时间、地理距离、频次变化和账户设备关系图。第三步用实时规则加模型的多级链路,轻量模型负责请求时风险分,离线模型或图模型补充团伙关系。最后按误伤成本选择阈值,用 precision、recall、PR-AUC、拦截收益、人工复核通过率和线上投诉/误杀率做评估,并持续监控对抗漂移。

考点 建模单位
难度 真实面经题
回答目标 讲清原理、实现和边界

深入解析

01

明确识别对象和标签

题目问的是用户提交的外卖订单请求是否故意刷单,所以建模单位应是一次订单请求,而不是只给用户或商户贴静态标签。标签可以来自人工复核、后验确认的异常交易、规则高置信命中或业务处置结果,但需要区分确认欺诈、疑似欺诈和正常样本。标签窗口也要固定,否则模型会把尚未暴露风险的订单误当正常。

02

构建订单请求特征

特征要围绕“这笔订单是否像真实消费”展开。用户侧看账号年龄、历史订单、退款取消、优惠使用和行为节奏;设备侧看设备指纹、IP、定位、登录环境和多账号关联;订单侧看金额、品类、下单时间、配送距离、地址稳定性和支付方式;商户侧看异常集中度和与用户的重复关系。不要只列特征名,要说明这些特征用于识别异常链路。

03

利用关系和时序信号

刷单通常不是孤立样本,常见信号来自短时间爆发、账号设备复用、地址或支付工具复用、同一商户异常聚集等关系模式。可以把用户、设备、地址、支付、商户构成异构图,用连通分量、邻居风险率、共享设备数量、时间窗口聚集度等特征补充单笔订单模型。时序特征能帮助发现突然变化,而不是只看长期均值。

04

设计实时风控链路

订单请求发生时需要低延迟决策,可以采用规则、轻量模型和复核策略分层。高置信风险直接拦截或加强验证,中风险进入人工或延迟审核,低风险放行但保留后验监控。离线复杂模型、图模型和人工结果可以反哺实时模型,形成规则更新、样本回流和特征迭代闭环。

05

处理样本不平衡和误伤成本

刷单正样本通常稀少且标签噪声高,训练时要考虑 class weight、难负样本、时间切分和疑似样本降权。阈值不能只按准确率选,因为正常订单远多于风险订单,误伤真实用户会有体验成本。更合理的是按业务成本矩阵选择阈值,在高风险段追求高 precision,在复核段兼顾 recall。

06

评估和监控

离线指标可以看 PR-AUC、Recall@Precision、KS、分风险段命中率和人工复核确认率。线上要看拦截收益、误伤投诉、审核负载、商户/用户切片和处置后的复发率。刷单策略会对抗变化,所以还要监控特征分布漂移、风险团伙迁移和规则被绕过的迹象。

易错点

  • 只回答“训练一个二分类模型”,没有定义订单请求标签、判定窗口和误伤成本。
  • 只列用户特征,忽略设备、地址、支付、商户和关系图信号。
  • 用随机切分评估风控模型,导致时间穿越,无法反映新策略和对抗变化。
  • 只追求召回率,不讨论人工复核能力和真实用户误伤。

面试官追问

刷单识别为什么不能只看准确率?

风险样本占比很低,全部预测正常也可能有很高准确率。风控更关心高风险段 precision、固定 precision 下的 recall、误伤成本和拦截收益。

如果标签噪声很高怎么办?

要区分确认样本和疑似样本,训练中可以给疑似样本降权,使用人工复核小集合做校验,并按时间回流后验确认标签,避免把规则偏见全部学进模型。

如何发现团伙刷单?

把用户、设备、地址、支付工具、商户等实体连成图,提取共享关系、连通分量、邻居风险率、短时聚集度和传播风险分,再与订单级模型结合。

实时拦截和人工复核怎么配合?

高置信风险可直接拦截或强验证,中风险进入复核,低风险放行并后验监控。这样能在控制误伤的同时把审核资源集中到最有价值的样本。