用于欺诈检测的机器学习基础知识

本指南介绍了 Stripe Radar 及我们利用 Stripe 网络检测欺诈的方式。

Radar
Radar

借 Stripe 强大网络之力打击欺诈。

了解更多 
  1. 导言
  2. 线上信用卡欺诈简介
  3. Stripe Radar 及 Stripe 网络
  4. 机器学习的基础知识
    1. 机器学习的运作机制?
    2. 特征工程
  5. 评估机器学习模型
    1. 关键术语
    2. 精确率-召回率和 ROC 曲线
    3. 评分分布
    4. 计算精确率和召回率
  6. 机器学习操作:安全、频繁地部署模型
  7. Stripe 能提供什么帮助
    1. 利用规则和人工审查提高性能
  8. 后续步骤

近年来,电商业务迅猛发展,导致在线付款欺诈事件频发。据估计,欺诈给全球商家造成的损失超过 每年 200 亿美元。此外,对于因欺诈而丢失的每一美元,由于运营成本、联网费用和客户流失率的增加,实际上商家的总损失远不止一美元。

欺诈不仅会造成高昂的损失,而且狡猾的欺诈者还在不断寻找新的方法来利用您的弱点,使得打击欺诈变得更加困难。这正是我们打造 Stripe Radar 的原因之所在。它是一款基于机器学习技术的欺诈预防解决方案,全面集成于 Stripe 平台中。Radar 机器学习技术利用 Stripe 网络每年处理的数千亿美元支付交易的数据,准确检测欺诈并快速适应最新趋势,让您能在不遭受更多欺诈的情况下实现增长。

本指南介绍了 Stripe Radar 以及我们利用 Stripe 网络检测欺诈的方式,概述了我们使用的机器学习技术,解释了我们如何看待欺诈检测系统的有效性和性能,并描述了 Radar 套件中的其他工具可以如何帮助商家优化其欺诈预防效果。

线上信用卡欺诈简介

如果持卡人未授权收款,则付款视为欺诈性付款。例如,如果欺诈者使用未挂失的被盗卡号购物,则付款有可能成功获得处理。然后,当持卡人发现该卡被冒用时,就会向银行提出争议,质疑付款(也称为“撤单”)。

商家可通过提交证据证明付款有效,来拒绝撤单。但是,对于无卡交易,如果卡组织认为支付确实存在欺诈,则持卡人将赢得争议,而商家将承担商品损失和其他费用。

以前,商家使用强制规则来预测和阻止可疑的欺诈性收款。然而,硬编码规则(例如,阻止所有在国外使用的信用卡)可能会导致阻止许多良性交易。另一方面,机器学习可以检测更细微的形式,帮助您尽可能地增加收入。在机器学习用语中,“漏报”是指系统漏检了本应检测出的问题——在这种情况下,就是欺诈性交易。误报是指系统标记了本不该标记的问题,例如阻止一个合法客户。在深入研究机器学习的详情之前,必须了解其中的权衡取舍。

对于漏报,商家往往要承担原始交易金额加上撤单费用(银行撤销银行卡支付的相关费用)、争议导致的更高联网费用,以及审查收款或解决争议带来的更高运营成本。此外,如果发生过多争议,您可能会被列入卡组织撤单监控计划,这可能会导致成本增加,有时甚至会导致无法接受银行卡支付。

误报或错误拒付是指阻止合法客户的购买尝试。错误拒付不仅会影响商家的毛利润,还会影响商家的声誉。事实上,最近一项调查显示,33% 的消费者表示在遭遇商家错误拒付后,他们不会再去相应商家处购物。

您需要在更多地预防欺诈(漏报)与减少阻止合法客户(误报)之间寻求平衡——漏报越少,您需要应付的误报就会越多(反之亦然)。当您防范的欺诈增多,受阻的合法客户数量也将增加。另一方面,误报数量的减少通常可能会让更多真正的欺诈者有可乘之机。商家需要根据其利润、增长状况和其他因素来决定如何平衡这两个方面。

如果商家的利润小(比如您在线上销售食品),一笔欺诈交易的成本可能需要数百笔良性交易才能冲销,这使得每次漏报都会带来非常昂贵的代价。在尝试阻止潜在欺诈行为时,此类商家可能倾向于广撒网。另一方面,如果商家的利润高(例如 SaaS 商家),则情况就会正好相反。一个受阻的合法客户所带来的收入损失可能就会超过欺诈增加产生的成本。

Stripe Radar 及 Stripe 网络

Radar 是 Stripe 的欺诈预防解决方案,可保护商家免受在线信用卡欺诈。它采用自适应机器学习技术,是 Stripe 的专业机器学习团队多年来数据科学与基础架构工作的成果。Radar 算法评估每笔交易的欺诈风险,并采取适当的行动。高分支付会被阻止,Radar 风控团队版还能提供工具,让用户可以指定何时采取其他行动。

Stripe 每年为数百万商家处理的付款有数千亿之巨,全球合作的银行达数千家。这种规模意味着我们往往能比小型组织更早关注到信号和模式。我们通过支付流程自动从所有 Stripe 交易中收集与欺诈相关的汇总数据,用于提高我们的欺诈检测能力。在预测支付是否可能是欺诈支付时,发卡国家/地区或支付 IP 地址等信息都可提供重要的洞察依据。

在 Stripe 网络上,过去曾使用过的银行卡也为我们的风险评估提供了大量数据。据发现,在 Stripe 网络上使用的银行卡中,有 90% 都使用过不止一次,这为我们提供了更丰富的数据来评估这些卡是合法使用还是欺诈使用。

我们机器学习的另一个关键优势是,Radar 直接内置于 Stripe 中,开箱即用,市面上其他欺诈预防解决方案通常需要大量的前期投资与持续投资:首先,商家必须集成欺诈产品。这涉及到发送相关事件与支付数据的工程工作。其次,商家必须完成集成,才能将支付标签(对于交易是否存在欺诈的分类)从支付处理商传递到欺诈预防解决方案提供商,或者自己手动为支付标注标签,这可能非常耗时且容易出错。相反,Radar 直接从 Stripe 常规支付流程中接收“基准真相” (ground truth) 信息,并直接从卡组织和发卡行获取及时、准确的数据,而无需花费工程时间或进行编程。

让我们来详细了解一下机器学习及其在 Stripe 中的使用情况。

机器学习的基础知识

机器学习是指,获取大量数据并利用这些数据创建模型来预测各种结果(例如某项收款导致欺诈争议的可能性)的一系列技术。

机器学习的主要应用之一是预测:我们希望在给定一些输入值的情况下,预测输出变量值。在我们的应用中,如果支付存在欺诈,则输出值为 true,反之为 false(此类二进制值称为布尔值)。输入值可以是发卡国家/地区,或过去一天内通过 Stripe 网络使用相应银行卡的不同国家/地区的数量。我们根据以往的输入和输出数据实例来确定预测方法。

如下方示例(经过高度简化)所示,用于训练(或生成)模型的数据包括输出值和各种输入值的记录(通常从历史数据中获取):

金额(美元)
银行卡所属国家/地区
使用过该卡的国家/地区数量(24 小时内)
是否欺诈?
$10.00 美国 1
$10.00 加拿大 2
$10.00 加拿大 1
$10.00 美国 1
$30.00 美国 1
$99.00 加拿大 1

虽然这个示例中只有三项输入值,但实际操作中,机器学习模型通常有成百上千项输入。机器学习算法的输出可能是类似于以下决策树的模型:

Guide decision tree

当我们观察一个新交易时,我们会查看输入值并遍历“20 问样式”决策树,直至到达该树的其中一片“树叶”。每片“树叶”都包含数据集的所有样本(上表),满足我们沿“树枝”向下进行的问答对。新交易的欺诈概率,等于树叶中欺诈样本的数量除以树叶中的样本总数。换言之,这棵树回答了这个问题:“在我们的数据集内,与我们正在检查的交易属性相似的交易中,实际上属于欺诈交易的比例是多少?”机器学习与树的结构有关——我们要问什么问题,按什么顺序问,才能最大限度地提高我们准确区分这两个类别的可能性?决策树特别容易实现可视化和推理,但是有许多不同的学习算法,而且每种算法都有自身独特的方式来表示我们试图建模的关系。

如今的机器学习模型非常普遍,在后台为我们经常接触的许多产品提供支持,而且通常比上述简化模型要复杂得多:

  • Google 利用机器学习可以在不到三秒的时间内对数百万个语言相关参数进行建模,通过搜索中的“您的意思是?”功能准确无误地提供拼写建议。
  • Amazon 利用机器学习,可以根据整个平台中用户的需求、偏好和不断变化的行为,通过推荐系统来预测购买行为,甚至对于没有历史数据的新用户也同样适用。

此外,与本次讨论最为相关的是,机器学习是 Stripe Radar 的基础,用于预测哪些支付是欺诈性支付。

机器学习的运作机制?

机器学习学术课程通常侧重于建模过程——将数据(例如上表)转化为模型(例如决策树)的方法,也就是告诉您输入值(签发银行卡的国家/地区、使用银行卡的国家/地区数量等)如何映射到输出值(交易是否存在欺诈?)的算法。采用上述输入数据表并生成“最佳”决策树的过程是一种特定的机器学习方法。建模涉及很多步骤,具体取决于您数据的性质和您选择使用的模型。在此我们不作深入讨论,仅在下方提供粗略概述。

首先,我们需要获取训练数据。在开始自动检测欺诈之前,我们需要一个包含欺诈示例的数据集。对于每个示例,我们需要记录(或能够回顾性地计算)一系列可能有助于预测未来输出值的输入属性。这些输入属性称为特征。给定样本的输入集合是特征向量。在上面的示例中,特征向量的长度为 3(发卡国家/地区、过去一天中使用银行卡的国家/地区数量以及以美元为单位的支付金额)。

然而,拥有成百上千个特征的特征向量并不罕见。事实上,Radar 使用数百种特征,其中大部分都是通过整个 Stripe 网络计算得出的聚合数据。随着网络规模的扩大,每种特征的信息量都会增加,因为我们的训练数据更能代表该特征的整个数据集(包括所有非 Stripe 数据)。输出值(在我们运行的示例中,即为表示交易是否存在欺诈的布尔值)通常称为目标或标签。训练数据由大量特征向量及其相应的输出值组成。

其次,我们需要训练模型。给定训练数据后,我们需要一种方法来生成预测模型。机器学习分类器一般不会仅输出一个类别标签,而是确定给定样本属于每种可能类别的概率。例如,欺诈分类器的输出可能是一项评估结果,指出支付有 65% 的可能性是欺诈性支付,有 35% 的可能性是合法支付。

可用于训练模型的机器学习技术不胜枚举。对于大多数工业机器学习应用来说,线性回归、决策树或随机森林等传统方法就足以胜任。

然而,受大脑神经元结构启发的复杂技术,即神经网络和深度学习,促进该领域取得了诸多进展,例如 AlphaFold 已实现对 98% 的人蛋白质进行预测。只有在非常大的数据集上进行训练时,神经网络的真正优势才会显现出来,因此在实践中,许多商家都无法充分利用其优势。由于我们的网络规模庞大,Stripe 能够采用这种更先进的方法为用户提供实际效果。我们的新模型将 Radar 机器学习性能同比提高了 20% 以上,帮助我们保持了较低误报率,同时检测出更多欺诈行为。

特征工程

工业机器学习涉及最多的部分之一就是特征工程。特征工程包括两个部分:
(1) 基于广泛的问题领域知识,提出具有预测价值的特征;(2) 开展特征工程,使这些特征的值既可用于模型训练,也可用于“生产”中的模型评估。

在指定一种特征时,Stripe 数据科学家可能有一种直觉,认为一种有用的特征是计算银行卡付款是否来自相应银行卡的常用 IP 地址。例如,与来自其他州的 IP 地址相比,来自以前见过的 IP 地址(例如持卡人的家庭或工作场所)的银行卡付款不太可能是欺诈性支付。这个例子中的想法比较直观,但通常来说,这些直觉来自于对成千上万起欺诈案例的研究。例如,您可能会惊讶地发现,计算用户设备上的时间与当前协调世界时 (UTC) 之间的差值或计算成功授权银行卡的国家数量,均有助于检测欺诈行为。

一旦确定了特征的概念,我们就需要计算它的历史值,从而训练一个包含该特征的新模型——这是向我们用来生成模型的数据“表”中添加新列的过程。为了对候选特征执行这种训练,对于 Stripe 历史上的每笔付款,我们都要计算之前使用该银行卡支付的两个最常见 IP 地址。我们可以通过 Hadoop 采用分布方式完成这项计算,但即便如此,这项作业也可能需要耗费大量时间(或内存)。因此,接下来我们可能尝试使用节省空间的概率数据结构来优化计算。即使是如此直观简单的特征,生成用于模型训练的数据也需要专用基础设施和既定工作流程。

并非所有特征都由工程师手动创建;有些特征可以留给模型在部署前通过后续测试进行计算。诸如银行卡的发行国家/地区或处理交易的商家(而非数字特征)等分类值非常适合这种方法。这些特征通常拥有非常广泛的值范围,因此可能很难为它们定义一种良好的表示方法。

在 Stripe 上,我们基于每个商家的交易形式,对模型进行嵌入训练。“嵌入”可视作单个商家相对于其他商家的坐标。类似的商家通常会有类似的嵌入(以余弦距离来衡量),从而使模型能够从一个商家转移到下一个商家。考虑到 Uber 和 Lyft 之间的相似性可能比它和 Slack 之间的相似性更大,下表是嵌入坐标的示例。在 Stripe 上,我们将嵌入用于发卡行、商家和用户所在国家/地区、星期等各种分类特征。

Illustrative embedding coordinates

Uber
2.34 1.1 -3.5
Lyft
2.1 1.2 -2
Slack
7 -2 1

在机器学习的大规模工业应用中,嵌入技术的使用越来越普遍。例如,此类单词嵌入有助于捕捉单词之间复杂的语义关系,在 Word2VecBERTGPT-3 等自然语言处理方面具有里程碑式意义。Stripe 生成嵌入来捕获 Stripe 网络上不同实体之间的相似关系,就像上述方法捕获单词之间的相似性一样。嵌入是一种无需明确训练就能学习更高级概念的强大方法。例如,欺诈形式往往在地域上分布不均。通过嵌入技术,如果我们的系统在巴西识别出一种新的欺诈形式,它就能在美国自动识别出同样的形式,而无需进一步的训练。通过这种方式,就可以借助算法的进步来保持领先于不断变化的欺诈形式,从而保护我们的客户。

如果您有兴趣在 Stripe 从事机器学习产品方面的工作,请联系我们

评估机器学习模型

在开发出一种用于预防欺诈的机器学习分类器,让它使用数百个特征为每笔传入的交易分配欺诈概率(或评分)之后,我们就需要判定该模型在检测欺诈方面的有效性。

关键术语

为了更好地理解我们如何评估机器学习系统,我们需要先来定义一些关键术语。

Guide false positives

首先,假设我们创建了一项策略,规定在机器学习模型认为交易欺诈概率高于 0.7 时阻止付款,并将其记为 P(fraud)>0.7。以下是一些有助于推断模型和策略性能的数据:

  • 精确率:策略精确率是指我们所拦截的交易中,实际上确实是欺诈行为的占比。精确率越高,误报就越少。假设在 10 笔交易中,有 6 笔 P(fraud)>0.7,而在这 6 笔交易中,有 4 笔确实是欺诈交易。精确率为 4/6=0.66。

  • 召回率:召回率也称为敏感度或真阳性率(TPR),是指策略捕捉到的欺诈占全部欺诈的比例,即欺诈交易中 P(fraud)>0.7 的比例。召回率越高,漏报就越少。假设 10 笔交易中,有 5 笔实际上是欺诈性交易。如果我们的模型将其中 4 笔交易定为 P(fraud)>0.7,则召回率为 4/5=0.8。

  • 误报率:误报率是指被策略错误阻止的合法支付占所有合法支付的比例。假设 10 笔交易中,有 5 笔实际上是合法交易。如果模型将其中 2 笔交易定为 P(fraud)>0.7,则误报率为 2/5=0.4。

虽然在评估分类器时还会用到其他数值,但我们在接下来将主要探讨这三个值。

精确率-召回率和 ROC 曲线

很自然地,接下来的问题是精确率、召回率和误报率的理想值是多少。从理论上来说,理想情况下的精确率应为 1.0(即您归类为欺诈的交易 100% 确实是欺诈),这样误报率就为 0(您没有错误地将任何一笔合法交易归类为欺诈性交易),同时召回率也应为 1.0(欺诈 100% 被识别了出来)。

在现实中,需要在精确率与召回率之间进行权衡。随着阻止概率阈值的提高,精确度也会提高(因为阻止标准更严格),而召回率则会降低(因为符合高概率标准的交易更少)。对于给定模型,精确率-召回率曲线反映了随着策略阈值的变化,精确率和召回率之间的权衡情况:

Guide precision curve

由于我们不断使用 Stripe 网络中的数据进行训练,不断添加能更准确预测欺诈的特征,并不断调整其他模型参数,我们的模型在整体上越来越完善。精确率-召回率曲线也将因此发生变化,如上例所示。它为 Stripe 上的商家控制着权衡,因此当我们的数据科学家和机器学习工程师修改模型时,我们会密切监视新模型对精确率-召回率曲线产生的影响。

在思考精确率-召回率曲线时,必须区分“性能”的两个概念。就模型本身而言,越接近图表右上方(即精确率和召回率均为 1.0),模型整体效果越好。然而,要将模型付诸实施,通常需要在精确率-召回率曲线上选择一个操作点(在我们的示例中,就是阻止交易的策略阈值),从而控制使用该模型对商家造成的具体影响。

简而言之,存在两个问题:

  • 通过添加正确特征来生成良好机器学习模型的数据科学问题。该模型控制精确率-召回率曲线的形状。

  • 选择策略来决定阻止多少潜在欺诈的商业问题。防欺诈策略控制着我们在曲线上的操作位置。

评估机器学习模型时会分析的另一条曲线是 ROC 曲线。(ROC 是“接受者操作特征”的缩写,是该曲线在信号处理应用中的轨迹。)ROC 曲线是不同策略阈值下的误报率(x 轴)和 TPR(等于召回率,y 轴)形成的曲线图。

Guide roc curve

理想的 ROC 位于图表的左上方(此处召回率为 1.0,误报率为 0.0)。随着模型的改进,ROC 将更多地向这个方向移动。衡量模型整体质量的一种方法是计算曲线下方的面积(或 AUC);理想情况下,AUC 为 1.0。在开发模型时,我们会关注精确率-召回率曲线、ROC 曲线和 AUC 的变化情况。

评分分布

设想我们有一个模型可以随机为交易分配 0.0 到 1.0 之间的欺诈概率。实际上,这种模型无法区分合法交易与欺诈性交易,因此对我们来说用处不大。这种随机性体现为模型的评分分布(即,获得每种可能评分的交易比例)。在完全随机的情况下,评分分布将接近均匀:

Guide uni dist

举例来说,如果一个模型没有任何可以预测(哪怕是微弱的预测)欺诈行为的特征,则它就会出现类似上述评分均匀分布的情况。通过添加预测特征、使用更多数据进行训练以及采取其他方法改进模型后,其区分欺诈类别和合法类别的能力会增强,评分分布也会呈现出更明显的双峰,分别在 0.0 和 1.0 评分附近达到峰值。

Guide split dist

双峰分布本身并不能说明模型效果很好。(随机分配概率为 0.0 和 1.0 的空模型也会出现双峰评分分布)。但如果有证据表明,评分低的交易不是欺诈性交易,而评分高的交易是欺诈性交易,那么评分分布的双峰越明显,就代表模型有效性越高。

不同的模型通常会有不同的评分分布。在发布新模型时,我们会对比新旧模型的评分分布,以尽可能减少因评分突变而造成破坏性变化。我们会尤其考虑商家当前的阻止策略(以其阻止交易的阈值为衡量指标),并力求使高于阈值的交易比例保持稳定。

计算精确率和召回率

我们可以在两种不同的情况下计算上述指标:一是在模型训练期间,使用历史数据来助推模型开发进程;二是在部署模型后使用生产数据,例如模型投入实际应用后,在阻止 P(fraud)>0.7 交易的环境下所获得的数据。

对于前一种情况,数据科学家通常会使用他们已经拥有的训练数据(参考上表),将一部分记录随机分配给训练集,并将其他记录分配给验证集。例如,可以设想将前 80% 行数据用于前者,后 20% 行数据用于后者。

训练集是输入机器学习方法以生成上述模型的数据。有了候选模型后,就可以用它来为验证集中的每个样本分配评分。验证集评分及其输出值用于计算 ROC 和精确率-召回率曲线、评分分布等。我们之所以分开使用训练集和验证集,是因为模型已经“看到”了训练示例的答案,并且对这些答案进行了学习。验证集可帮助我们生成准确衡量模型对新数据预测能力的指标。

机器学习操作:安全、频繁地部署模型

一旦在已有数据集中证明了模型的性能优于当前生产模型,则下一步就是将其部署到生产环境中。这一过程面临两大挑战:

  • 实时计算:我们需要能够实时计算每笔新付款的每个特征值,因为我们希望能够阻止分类器认为可能是欺诈的所有交易。这种计算与用于生成训练数据的计算完全不同——我们需要使 Stripe 上每张银行卡最常使用的两个 IP 地址保持最新状态,而且因为这些操作是 Stripe API 流程的一部分,所以获取和更新这些计数的速度必须非常快。Stripe 上的机器学习基础架构团队通过构建系统,以声明方式指定特征,并在生产中以低延迟自动提供特征的当前值,从而简化这一过程。

  • 实际用户应用:部署机器学习模型与部署代码不同。代码更改通常通过精确测试用例进行验证,而模型更改则通常在大型综合数据集上使用上文定义的指标进行测试。但是,对每个 Stripe 用户来说,总体欺诈捕获率更高的模型未必更好。这可能是因为性能的提高可能并不均衡,少数大商家的收益提高幅度较大,而许多小商家的收益均出现小幅缩减。如果模型具有更高的召回率,则会导致阻止率飙升,这将对商家(及其客户)的业务造成损害。在发布模型之前,我们会验证它在实践中是否表现良好。为此,我们针对一部分 Stripe 用户,按总体商家的情况和单独商家的情况,衡量每种模型导致的各种指标(例如误报率、阻止率和授权率)的变化。如果我们发现新模型会导致这些保障指标中的某个指标发生负面变化,我们会在发布之前针对不同的用户子集进行调整,以尽量减少破坏并确保最佳性能。

我们发现,使训练和评估过程尽可能实现自动化,可以为模型迭代速度带来复合效益。去年,我们已经对相关工具进行投资,从而使用我们的最新特征和模型架构定期自动训练、调整和评估模型。例如,我们会在模型训练完成之后、发布之前,持续更新性能管理平台。这样一来,工程师就能在发布候选模型之前,轻松检测出该模型对于流量子集是否过时,并主动进行重新训练。

在发布模型后,我们会监控其性能,并开展下一个版本的工作。由于欺诈趋势变化很快,机器学习模型很快就会出现变化:模型训练所用的数据已不再能代表当今的欺诈情况。

通过使用这些工具,我们发布模型的速度提高到了三倍,直接提升了生产中的性能。事实上,我们甚至可以在最近的数据上重新训练上个月的模型(使用相同特征定义和架构),然后发布该模型,每个月就能将召回率提高多达半个百分点。由于我们能够频繁、安全地发布模型,我们就能充分利用和复合特征工程和建模工作的收益,帮助 Radar 用户适应不断变化的欺诈模式。

一旦我们将模型投入生产环境,我们会持续监控模型-策略对的性能。对于评分低于阻止阈值的支付,我们可以观察最终的结果——该交易是否被持卡人提出争议,质疑为欺诈? 然而,由于分数高于阈值的付款会被阻止,我们就无从知晓最终结果是什么。因此,计算全部生产精确率-召回率曲线或 ROC 曲线比计算验证曲线更复杂,因为它涉及反事实分析——即使对于已阻止的支付,我们也需要就这类支付本可能会发生的情况获得合理的评估统计数据。多年来,Stripe 已经开发出了相应的评估方法,您可以观看此演讲视频,了解更多信息。

我们刚刚介绍了数据科学家和机器学习工程师在开发机器学习模型时所关注的几种模型有效性测量方法。接下来,我们将讨论商家应考虑如何预防欺诈。

Stripe 能提供什么帮助

如果只盯着一个数字来衡量欺诈表现,可能会做出不利于商家发展的选择。我们发现,部分商家往往过分强调漏报数据——他们非常担心未能检测出的欺诈,而不太重视误报。这种思维模式往往会导致采取无效且代价高昂的强制措施,例如阻止所有国际卡。一般来说,您应该考虑各种性能衡量标准之间的关系,以及如何根据具体情况正确作出权衡。下文举例说明了如何将这些指标结合起来,帮助您确定欺诈预防系统的有效性:

平衡精确率的近似模型

如果您的平均销售额为 26 美元,利润率为 8%,则每次销售的利润为 26.00 美元 × 8.00% = 2.08 美元。如果您的产品成本平均为 26.00 美元– 2.08 美元 = 23.92 美元,而您被征收的撤单费为 15 美元,则欺诈性销售给您造成的总损失为 23.92 美元 + 15.00 美元 = 38.92 美元。因此,一次欺诈性销售会让您损失 38.92 美元/2.08 美元 = 18.71 笔合法销售的利润,则您的收支平衡精确率为 1 / (1 + 18.71) = 5.07%。

Radar 机器学习阈值既能优化商家的利润,又能保持整个用户群的阻止率稳定。您可以访问管理平台,查看 Radar 机器学习对于贵司业务的效果。如果您使用 Radar 风控团队版,还可以查看自定义规则的效果。这些工具使您能够根据与您的行业或规模相似的自定义企业群体,轻松地将欺诈性争议率、误报率和阻止率与其他类似企业进行比较。

Guide DashboardImage

利用规则和人工审查提高性能

通过 Radar 风控团队版,您可以直接调整风险阈值来阻止或允许更多的付款,从而对保护进行微调。除了更自动的机器学习算法外,Radar 风控团队版还允许各个商家制定自定义规则(例如,“当 IP 国家/地区与银行卡所属国家/地区不一致时,阻止所有超过 1,000 美元的交易”),请求干预,并在管理平台中手动审查标记付款。

此类规则可视作简单“模型”(毕竟它们可以用决策树来表示!),应该以模型相同的方式进行评估,并充分考虑精确率与召回率之间的权衡。当您使用 Radar 创建规则时,我们提供历史统计数据,说明实际上有争议、退款或接受的匹配交易数量,以帮助您在实施规则前进行计算。一旦上线,您就可以看到各规则对误报率和争议率造成的影响。

同样重要的是,利用规则、干预和人工审查,用户可以通过添加商家专用逻辑(规则)或花费额外的精力(人工审查)来改变精确率-召回率曲线的形状,使其对自己有利。

如果您意识到机器学习算法经常遗漏针对贵司的特定类型欺诈(而且这种欺诈对您来说很容易识别),您就可以编写规则进行阻止。这种特定的干预通常会提高召回率,对精确率的影响却很小。实际上是将操作点沿着幅度略小、更有利的精确率-召回率曲线移动。

通过将某类交易发送给人工审核,而不是直接阻止交易,可以在不影响召回率的情况下提高精确率。同样,通过将一些交易发送给人工审查而不是直接允许,可以在不影响精确率的情况下提升召回率。

当然,在这些情况下,您需要付出更多人力成本(同时也会影响团队评估的准确性),但人工审核、规则和干预措施作为验证高风险客户的额外工具,为您提供了另一种优化欺诈预防结果的手段。

后续步骤

我们希望本指南能帮助您了解 Stripe 如何将机器学习应用于欺诈预防,以及如何衡量欺诈预防系统的有效性。您可以点击此处浏览我们的文档,来详细了解 Radar 的功能。

如果您有任何疑问或想进一步了解 Stripe Radar,请联系我们

准备好开始了?

无需签署合同或填写银行信息,创建账户即可开始收款。您也可以联系我们,为您的业务设计定制套餐。
Radar

Radar

借 Stripe 强大网络之力打击欺诈。

Radar 文档

用 Stripe Radar 保护您的业务,远离欺诈。
  翻译: