交易场景累计变量、自定义变量应用实践

交易场景中,常常需要对同账号近期交易金额设定风控阈值。由于当笔交易不一定成功,粗暴的对每笔交易做累计会造成该指标虚高,造成误杀。为解决上述问题,我们可以将近期交易金额分为两部分(1)近期累计(成功)交易金额(2)当笔交易金额,分别计算求和。该指标可在决策引擎中通过累计变量+自定义变量实现。

说明

关键词:累计变量、自定义变量、累计变量跨事件应用、自定义变量引用累计变量。

1.创建风控事件

  1. 位置“事件管理”-“自定义事件管理”菜单。

  2. 创建两个风控事件:

    1. 【交易事件】是风控的主事件,用于比对近期交易金额是否超过阈值。是读取累计(成功)交易金额的事件。

    2. 【交易成功累计事件】仅用于累计变量的累计。是写入(成功)交易金额的事件。

两个事件用到的共同字段为:account账号,trnxAmt交易金额。

image

2.创建累计变量

  1. 位置“变量中心”菜单,选择“变量管理”-“自定义累计变量”。

  2. 在【交易成功累计事件】下创建1个累计变量“近90天同账号累计成功交易金额”,并在列表页“启用”该累计变量,具体配置如下:

    1. 写事件:选择【交易成功累计事件】

    2. 变量类型:选择“求和”

    3. 变量名称:近90天同账号累计交易金额

    4. 时间切片:近 90 天

    5. 主对象:选择事件字段“account账号”

    6. 累计对象:选择事件字段“trnxAmt交易金额”

    image

    3.创建自定义变量

    1.位置“变量中心”-“自定义变量”

    2.创建1个自定义变量“当前交易累计金额”,具体配置如下:

    • 关联事件:交易事件

    • 变量名称:当前交易累计金额

    • 变量类型:浮点型

    • 异常值:默认-1,可自定义

    • 计算表达式:@交易金额 + @近90天同账号累计成功交易金额

    3.点击“测试”,通过后点击“确定”完成创建。

    image

    4.创建策略

    1.位置“策略中心”-“策略管理”

    2.关联事件【交易事件】,配置1条策略:

    当“当前交易累计金额>=1000,则策略输出标签=highRisk,输出变量curTrnxAmt=当前交易累计金额”。

    imageimage

    5.线上调用

    客户服务端需控制调用2个事件的时机,具体如下:

    1.【交易事件】每次交易请求发生时调用该事件,传入account账号、trnxAmt交易金额,读取累计变量,实时比对“当前交易累计金额”(@交易金额 + @近90天同账号累计成功交易金额)是否超过风控策略设定的阈值。

    2.【交易成功累计事件】仅当系统确认交易成功后调用该事件,传入account账号、trnxAmt交易金额,用于写入累计变量,做异步累计。

    6.验证

    模拟实际调用场景:

    1. 调用【交易成功累计事件】,模拟客户服务端在交易成功后,调用决策引擎对成功的交易金额做累计。入参示例如下:

    {"eventCode":"de_example001","accountId":"test001","trnxAmt":"1000"}

    此时,“近90天同账号累计交易金额”=1000。

    2.调用【交易事件】,模拟正常交易调用风控。入参示例如下:

    {"eventCode":"de_example002","accountId":"test001","trnxAmt":"90"}

    此时,“当前交易累计金额”=1000+90>=1000。

    3.策略命中,输出结果符合预期