支付風(fēng)控之模型分析
接上一篇支付風(fēng)控?cái)?shù)據(jù)倉庫建設(shè)。支付風(fēng)控涉及到多方面的內(nèi)容,包括反洗錢、反欺詐、客戶風(fēng)險(xiǎn)等級分類管理等。 其中最核心的功能在于對實(shí)時交易進(jìn)行風(fēng)險(xiǎn)評估,或者說是欺詐檢測。如果這個交易的風(fēng)險(xiǎn)太高,則會執(zhí)行攔截。由于反欺詐檢測是在交易時實(shí)時進(jìn)行的,在要求不能誤攔截的同時,還有用戶體驗(yàn)上的要求,即不能占用太多時間,一般要求風(fēng)控操作必須控制在100ms以內(nèi),對于交易量大的業(yè)務(wù),10ms甚至更低的性能要求都是必須的。 這就需要對風(fēng)控模型進(jìn)行合理的設(shè)計(jì)。一般來說,要提升風(fēng)控的攔截效率,就需要考慮更多的維度,但這也會帶來計(jì)算性能的下降。在效率和性能之間需要進(jìn)行平衡。
本文重在介紹建立風(fēng)控模型的方法,每個公司應(yīng)該根據(jù)自己的實(shí)際業(yè)務(wù)情況和開發(fā)能力來選擇合適的模型。這里列出來的模型僅為了說明問題,提供參考。
一、風(fēng)險(xiǎn)等級
做風(fēng)控?cái)r截,首先要回答的問題是風(fēng)險(xiǎn)等級怎么劃分? 目前主流的風(fēng)險(xiǎn)等級劃分有三種方式, 三等級、四等級、五等級。
- 三等級的風(fēng)險(xiǎn)分為 低風(fēng)險(xiǎn)、中風(fēng)險(xiǎn)和高風(fēng)險(xiǎn)。 大部分交易是低風(fēng)險(xiǎn)的,不需要攔截直接放行。 中風(fēng)險(xiǎn)的交易是需要進(jìn)行增強(qiáng)驗(yàn)證,確認(rèn)是本人操作后放行。 高風(fēng)險(xiǎn)的交易則直接攔截。
- 四風(fēng)險(xiǎn)等級,會增加一個中高風(fēng)險(xiǎn)等級。此類交易在用戶完成增強(qiáng)驗(yàn)證后,還需要管理人員人工核實(shí),核實(shí)沒問題后,交易才能放行。
- 五風(fēng)險(xiǎn)等級,會增加一個中低風(fēng)險(xiǎn)等級。此類交易是先放行,但是管理人員需要進(jìn)行事后核實(shí)。 如果核實(shí)有問題,通過人工方式執(zhí)行退款,或者提升該用戶的風(fēng)險(xiǎn)等級。
大部分支付系統(tǒng)是使用三等級的風(fēng)險(xiǎn)。
二、基于規(guī)則的風(fēng)控
規(guī)則是最常用的,也是相對來說比較容易上手的風(fēng)控模型。從現(xiàn)實(shí)情況中總結(jié)出一些經(jīng)驗(yàn),結(jié)合名單數(shù)據(jù),制定風(fēng)控規(guī)則,簡單,有效。 常見的規(guī)則有:
1. 名單規(guī)則
使用白名單或者黑名單來設(shè)置規(guī)則。具體名單如上文所述,包括用戶ID、IP地址、設(shè)備ID、地區(qū)、公檢法協(xié)查等。 比如:
- 用戶ID是在風(fēng)控黑名單中。
- 用戶身份證號在反洗錢黑名單中。
- 用戶身份證號在公檢法協(xié)查名單中。
- 用戶所使用的手機(jī)號在羊毛號名單列表中。
- 轉(zhuǎn)賬用戶所在地區(qū)是聯(lián)合國反洗錢風(fēng)險(xiǎn)警示地區(qū)。
2. 操作規(guī)則
對支付、提現(xiàn)、充值的頻率按照用戶賬號、IP、設(shè)備等進(jìn)行限制,一旦超出閾值,則提升風(fēng)控等級。
- 頻率需綜合考慮(五)分鐘、(一)小時、(一)天、(一)周等維度的數(shù)據(jù)。由于一般計(jì)算頻率是按照自然時間段來進(jìn)行的,所以如果用戶的操作是跨時間段的,則會出現(xiàn)頻率限制失效的情況。 當(dāng)然,比較復(fù)雜的可以用滑窗來做。
- 對不同的風(fēng)險(xiǎn)等級設(shè)置不同的閾值。 比如:
- 用戶提現(xiàn)頻次5分鐘不能超過2次, 一小時不能超過5次,一天不能超過10次。
- 用戶提現(xiàn)額度一天不能超過1萬。
- 用戶支付頻次5分鐘不能超過2次,一小時不能超過10次,一天不能超過100次。
3. 業(yè)務(wù)規(guī)則
和特定各業(yè)務(wù)相關(guān)的一些規(guī)則,比如:
- 同一個人綁定銀行卡張數(shù)超過10張。
- 同一張銀行卡被超過5個人綁定。
- 同一個手機(jī)號被5個人綁定。
- 一個周內(nèi)手機(jī)號變更超過4次。
- 同一個對私銀行卡接受轉(zhuǎn)賬次數(shù)一分鐘超過5次。
4. 行為異常
用戶行為和以前的表現(xiàn)不一致,比如:
- 用戶支付地點(diǎn)與常用登錄地點(diǎn)不一致
- 用戶支付使用個IP與常用IP地址不一致
- 用戶在短時間內(nèi),上一次支付的地址和本次支付的地址距離非常遠(yuǎn)。 比如2分鐘前在中國支付的,2分鐘后跑到美國去支付了。
5. 風(fēng)控?cái)r截歷史規(guī)則
用戶在某個業(yè)務(wù)上的消費(fèi)行為被風(fēng)控網(wǎng)關(guān)多次攔截。
規(guī)則引擎優(yōu)點(diǎn):
- 性能高: 對訂單按照規(guī)則進(jìn)行匹配,輸出結(jié)果。一般不會涉及到復(fù)雜的計(jì)算。
- 易于理解和分析: 交易被攔截到底是觸犯了那條規(guī)則,很容易輸出。
- 開發(fā)相對簡單。
規(guī)則引擎存在的問題:
- 一刀切,容易被薅羊毛的人嗅探到。比如規(guī)則規(guī)定超過5000元就進(jìn)行攔截,那羊毛號會把訂單拆分成4999元來做。 一天限制10筆,那就薅到9筆就停手了。
- 規(guī)則沖突問題。當(dāng)一筆交易命中IP白名單和額度黑名單的時候應(yīng)該如何處理?
規(guī)則引擎看起來簡單,但也是最實(shí)用的一類模型。 它是其它風(fēng)控模型的基礎(chǔ)。實(shí)踐中,首先使用已知的規(guī)則來發(fā)現(xiàn)存在問題的交易,人工識別交易的風(fēng)險(xiǎn)等級后,把這些交易作為其它有監(jiān)督學(xué)習(xí)的訓(xùn)練數(shù)據(jù)集。
三、決策樹模型
風(fēng)險(xiǎn)評估從本質(zhì)上來說是一個數(shù)據(jù)分類問題。 和傳統(tǒng)的金融行業(yè)風(fēng)險(xiǎn)評估不一樣的地方,在于數(shù)據(jù)規(guī)模大、業(yè)務(wù)變化快、實(shí)時要求高。一旦有漏洞被發(fā)現(xiàn),會對公司造成巨大損失。 而機(jī)器學(xué)習(xí)是解決這些問題的利器。 互聯(lián)網(wǎng)金融風(fēng)控離不開機(jī)器學(xué)習(xí),特別是支付風(fēng)控。 在各種支付風(fēng)控模型中,決策樹模式是相對比較簡單易用的模型。 如下的決策樹模型,我們根據(jù)已有的數(shù)據(jù),分析數(shù)據(jù)特征,構(gòu)建出一顆決策樹。當(dāng)有一筆交易發(fā)生時,我們使用決策樹來判斷這筆交易是否是高風(fēng)險(xiǎn)交易。
這種模型的優(yōu)點(diǎn)是非常容易理解,檢測速度快。 因而也是現(xiàn)有機(jī)構(gòu)中常用的模型之一。 風(fēng)控模型存在的主要問題是其產(chǎn)生的結(jié)果比較粗略。同樣的兩個交易被判定為高風(fēng)險(xiǎn),究竟哪種交易風(fēng)險(xiǎn)更高,決策樹模型無法給出答案。
四、評分模型
比決策樹模型更進(jìn)一步,現(xiàn)在也有不少公司在使用評分(卡)模型。 銀行在處理信用風(fēng)險(xiǎn)評級、反洗錢風(fēng)險(xiǎn)等級時,往往也是使用這種方法。
每個公司的模型都不一樣,一個參考模型如下:
該模型為參考《金融機(jī)構(gòu)洗錢和恐怖融資風(fēng)險(xiǎn)評估及客戶分類管理指引》編制,僅具參考意義。雖然銀行間的評分模型有很好的參考價(jià)值,但互聯(lián)網(wǎng)公司由于業(yè)務(wù)和數(shù)據(jù)的不同,評分模型參考價(jià)值不大。
每個公司需根據(jù)自己的業(yè)務(wù)情況來制定評分模型,之后為各個指標(biāo)指定權(quán)重比例。 權(quán)重評分結(jié)果為0~100分的區(qū)間,之后按照區(qū)間劃分,指定風(fēng)險(xiǎn)等級。比如:
當(dāng)然,評分區(qū)間也需要根據(jù)企業(yè)的實(shí)際情況來制定。 評分模型的優(yōu)勢在于:
性能比較高,針對交易進(jìn)行指標(biāo)計(jì)算,按照區(qū)間來確定風(fēng)險(xiǎn)。
相對于規(guī)則,如果指標(biāo)設(shè)置合理,其覆蓋度高, 不容易被嗅探到漏洞。
理解和分析也比較容易。 如果交易被攔截了,可以根據(jù)其各項(xiàng)打分評估其被攔截的原因。
存在的問題:
- 模型真的很難建立。指標(biāo)的選擇是一個挑戰(zhàn)。
- 各個參數(shù)的調(diào)優(yōu)是一個長期的過程。
我們知道從一條交易記錄中可以挖掘的關(guān)聯(lián)數(shù)據(jù)有上百個,衍生數(shù)據(jù)就更多了。比如從支付地址,可以聚類出常用地址,衍生出當(dāng)前地址和常用地址、上一次支付地址之間的距離,而這些指標(biāo)在構(gòu)建模型時都可能使用到。 所以第一個問題是,如何從這些指標(biāo)中建立一個合適的模型?這就涉及到機(jī)器學(xué)習(xí)的問題了。 模型不能憑空建立,我們可以通過規(guī)則來對現(xiàn)有數(shù)據(jù)進(jìn)行篩選和標(biāo)注,確定這些記錄集的風(fēng)險(xiǎn)等級。 這些數(shù)據(jù)作為樣本來訓(xùn)練模型??捎玫乃惴òˋpriori、FP-growth等。算法實(shí)現(xiàn)請參考相關(guān)文檔。
在確認(rèn)相關(guān)參數(shù)后,模型在使用過程中還需要不斷對相關(guān)參數(shù)進(jìn)行調(diào)整。這是一個擬合或者回歸的算法,Logistic算法、CART算法,可以用來對參數(shù)做調(diào)優(yōu)。
總之,模型的建立是一個不斷學(xué)習(xí)、優(yōu)化的過程。 而每一個模型的發(fā)布,還需要進(jìn)行試運(yùn)行,AB測試和上線。 這個過程,將在下一篇的風(fēng)控架構(gòu)中介紹。
五、模型評估
風(fēng)控本質(zhì)上是對交易記錄的一個分類,所以對風(fēng)控模型的評估,除了性能外,還需要評估“查全率”和“查準(zhǔn)率”。 如下圖所示:
以評估高風(fēng)險(xiǎn)人群的效果為例,
- Precision, 準(zhǔn)確率,也叫查準(zhǔn)率,指模型發(fā)現(xiàn)的真實(shí)的高風(fēng)險(xiǎn)人數(shù)占模型發(fā)現(xiàn)的所有高風(fēng)險(xiǎn)人數(shù)的比例。
- Recall,召回率,也叫查全率,指模型發(fā)現(xiàn)的真實(shí)的高風(fēng)險(xiǎn)人數(shù)占全部真實(shí)的高風(fēng)險(xiǎn)人數(shù)的比例。
理想情況下,我們希望這兩個指標(biāo)都要高。實(shí)際上,往往是互斥的,準(zhǔn)確率高、召回率就低,召回率低、準(zhǔn)確率高。如果兩者都低,那就是模型不靠譜了。 對于風(fēng)控來說,需要在保證準(zhǔn)確率的情況下,盡量提高召回率。 那怎么發(fā)現(xiàn)實(shí)際的高風(fēng)險(xiǎn)人數(shù)呢? 這就需要借助規(guī)則模型,先過濾一遍,再從中人工遴選。
從實(shí)際應(yīng)用情況來看,目前國內(nèi)大部分團(tuán)隊(duì)使用Logistic回歸+評分模型來做風(fēng)控,少數(shù)人使用決策樹。國外的PayPal是支付平臺風(fēng)控的標(biāo)桿,國內(nèi)前海征信、螞蟻金服等會使用到更高級的神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí),但實(shí)際效果未見到實(shí)證材料。
【本文為51CTO專欄作者“鳳凰牌老熊”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號“鳳凰牌老熊”聯(lián)系作者本人】