從0到1設(shè)計(jì)金融系統(tǒng)——風(fēng)控篇
風(fēng)控策略、風(fēng)控運(yùn)營(yíng)等業(yè)務(wù)人員時(shí)常會(huì)用到一類系統(tǒng),即風(fēng)控決策引擎。那么,什么是風(fēng)控決策引擎?風(fēng)控決策引擎有哪些具體的功能模塊,其對(duì)應(yīng)的設(shè)計(jì)又是怎么樣的?一起來(lái)看看作者的解讀。
一、前言
信貸管理中的貸前管理、貸中管理、貸后管理這三篇介紹了信貸管理業(yè)務(wù)中的主要業(yè)務(wù)及系統(tǒng)是如何設(shè)計(jì)的,但是從內(nèi)容來(lái)說(shuō),我自我感覺(jué)還是稍微比較亂的,后續(xù)的工作中如果有了新的理解,可能出再出對(duì)應(yīng)的文章去做補(bǔ)充說(shuō)明。
信貸管理部分就此告一段落,接下去就介紹下之前一直留下來(lái)的一個(gè)大坑——風(fēng)控篇,也就是風(fēng)控決策引擎部分。
二、什么是風(fēng)控決策引擎?
「風(fēng)控決策引擎」目前在市場(chǎng)上沒(méi)有統(tǒng)一的官方定義,但是從用途來(lái)說(shuō)主要是通過(guò)可視化的操作,提供規(guī)則、評(píng)分卡、決策流等工具,管理和評(píng)估風(fēng)險(xiǎn)的系統(tǒng)。主要在金融、電商、保險(xiǎn)等各領(lǐng)域被使用。
為什么要設(shè)計(jì)成的系統(tǒng)?
本質(zhì)上還是與業(yè)務(wù)流程的結(jié)耦,因?yàn)轱L(fēng)控規(guī)則是高度靈活變動(dòng)的,在業(yè)務(wù)的不同階段和時(shí)期,或者說(shuō)不同領(lǐng)導(dǎo)人的要求下,都是變動(dòng)的。
如果配置靈活度不高,后期重新設(shè)計(jì)開(kāi)發(fā)的可能性比較高。
風(fēng)控決策引擎主要的使用對(duì)象是風(fēng)控策略、風(fēng)控運(yùn)營(yíng)等業(yè)務(wù)人員,主要工具包含規(guī)則、評(píng)分卡、決策流。
三、什么是特征?
在說(shuō)具體工具之前,我們先來(lái)聊一聊特征,什么是特征?
特征可以說(shuō)是風(fēng)控系統(tǒng)中的最小單元,是風(fēng)控工具的重要組成部分,我們也可以理解成變量。不過(guò)叫什么問(wèn)題不大,團(tuán)隊(duì)內(nèi)有相同的共識(shí)就行。
那么特征有哪些呢?
我們來(lái)稍微舉幾個(gè)例子,年齡、性別、年收入這些都屬于特征,而這些特征我們需要給予他們對(duì)應(yīng)的類型。從變量分類的角度來(lái)分類,可以有int、long、double、string、boolean等類型。但我是設(shè)計(jì)成了數(shù)值型(普通數(shù)值型/匯總數(shù)值型)、字符串型和枚舉型這三種,做了一層歸集和刪減。
但是,無(wú)論采取哪種分類方式,后續(xù)的設(shè)計(jì)能夠閉環(huán)即可。
四、什么是規(guī)則?
一個(gè)規(guī)則包含特征、邏輯運(yùn)算符、比較運(yùn)算符、閾值和觸發(fā)結(jié)果。其中,特征、比較運(yùn)算符和閾值構(gòu)成條件表達(dá)式,規(guī)則由一個(gè)或多個(gè)條件表達(dá)式和觸發(fā)結(jié)果構(gòu)成,具體關(guān)系如下圖:
看不懂?
沒(méi)關(guān)系,我們就來(lái)舉個(gè)簡(jiǎn)單的例子,就以進(jìn)入網(wǎng)吧的準(zhǔn)入規(guī)則為例:
- 若對(duì)象年齡大于等于18歲,則可進(jìn)入
- 若對(duì)象年齡小于18歲,則不可進(jìn)入
這就是一個(gè)簡(jiǎn)單的規(guī)則,也是一個(gè)條件表達(dá)式,其中特征=年齡、比較運(yùn)算符=大于等于、閾值=18,若滿足條件,則觸發(fā)結(jié)果=True,則可進(jìn)入網(wǎng)吧;否則觸發(fā)結(jié)果=False,不可進(jìn)入。
那如果增加一個(gè)準(zhǔn)入條件“是否有錢(qián)呢”,那么準(zhǔn)入規(guī)則就變成為:
- 若對(duì)象年齡大于等于18歲,且有錢(qián),則可進(jìn)入
- 若對(duì)象年齡大于等于18歲,且沒(méi)錢(qián),則不可進(jìn)入
- 若對(duì)象年齡小于18歲,且有錢(qián),則不可進(jìn)入
- 若對(duì)象年齡小于18歲,且沒(méi)錢(qián),則不可進(jìn)入
在滿足年齡大于等于18歲的條件下,還增加了一個(gè)條件是否有錢(qián),其中“年齡大于等于18歲”和“是否有錢(qián)”這兩個(gè)條件的邏輯運(yùn)算符=且,表示兩個(gè)條件均需滿足。
實(shí)際的計(jì)算過(guò)程中,第3、4兩種條件下,對(duì)象年齡小于18歲的時(shí)候,就會(huì)造成短路運(yùn)算,不會(huì)再去判斷是否有錢(qián)。
所以,由上面這個(gè)例子可以得出,規(guī)則的本質(zhì)其實(shí)就是在處理?xiàng)l件語(yǔ)句。理解了這個(gè)大前提之后,風(fēng)控決策引擎設(shè)計(jì)上就已經(jīng)了解了一大半了。
五、功能模塊
了解完規(guī)則之后,我們來(lái)聊下有哪些具體的功能模塊以及對(duì)應(yīng)的設(shè)計(jì)。
風(fēng)控決策引擎主要由特征管理、規(guī)則管理、規(guī)則集管理、評(píng)分卡管理、決策流管理和歷史決策管理組成,在此之上可能迭代出其他模塊,但是我是覺(jué)得這幾個(gè)模塊是從0開(kāi)始必須的。
1. 特征管理
系統(tǒng)中的所有基礎(chǔ)特征都是需要進(jìn)行定義的,因此再提交開(kāi)發(fā)之前需要將特征的取值和計(jì)算邏輯和開(kāi)發(fā)溝通清楚。在基礎(chǔ)特征之外,系統(tǒng)可設(shè)計(jì)對(duì)應(yīng)衍生特征的簡(jiǎn)單配置,比如加減乘除、最大、最小值之類的,可以在前端提供給也業(yè)務(wù)方使用,減少開(kāi)發(fā)的工作量。
在特征管理中著重說(shuō)明下特征類型和特征來(lái)源這兩個(gè)字段。
a)特征類型
在上文中也說(shuō)明了每個(gè)特征都是有具體的類型的,我在處理的時(shí)候做了一層歸集,減少了類型數(shù),分為了數(shù)值型、枚舉型和字符串型。
其中數(shù)值型又拆分成普通數(shù)值型和匯總數(shù)值型,二者主要區(qū)別是不同時(shí)間維度下的是否存在不同的統(tǒng)計(jì)值,最終體現(xiàn)在前端的是是否有時(shí)間維度的選擇 。
例如“年齡”,年齡的具體數(shù)字根據(jù)規(guī)則執(zhí)行節(jié)點(diǎn)的年月日和出生日期的差值計(jì)算得出,在不同的時(shí)間維度下年齡是不會(huì)有區(qū)別的(比如近3個(gè)月),所以年齡屬于普通數(shù)值型;而“月均收入”是根據(jù)計(jì)算月份的總收入/計(jì)算總月份計(jì)算得出,所以不同時(shí)間維度下是有區(qū)別的(比如近3個(gè)月和近6個(gè)月)。
另外不同類型的特征也綁定了特定的運(yùn)算符,這樣在規(guī)則配置的時(shí)候也會(huì)更簡(jiǎn)潔點(diǎn)。
- 數(shù)值型:綁定了大于、大于等于、小于、小于等于、等于等運(yùn)算符,閾值需要是數(shù)值。
- 枚舉型:綁定了在集合內(nèi)、不再集合內(nèi)的運(yùn)算符,閾值需要是一個(gè)集合。
- 字符串型:綁定了等于、不等于、在集合內(nèi)、不在集合內(nèi)等運(yùn)算符,閾值需要是一個(gè)字符串。
具體的比較運(yùn)算符的綁定,可以采取先配置基礎(chǔ)的運(yùn)算符,然后根據(jù)實(shí)際的業(yè)務(wù)需求再做加法。
b)特征來(lái)源
同一個(gè)特征,可能會(huì)對(duì)接不同數(shù)據(jù)供應(yīng)商(成本考慮)。比如企業(yè)法人信息變更,就可能來(lái)自兩個(gè)不同的供應(yīng)商,那么,就需要根據(jù)特征來(lái)源對(duì)供應(yīng)商進(jìn)行判斷。
2. 規(guī)則管理
了解規(guī)則是由特征、邏輯運(yùn)算符、比較運(yùn)算符、閾值和觸發(fā)結(jié)果組成,以及規(guī)則其實(shí)是在處理?xiàng)l件語(yǔ)句的本質(zhì)之后,那么前端設(shè)計(jì)就萬(wàn)變不離其宗了。
上圖就是規(guī)則管理的部分頁(yè)面內(nèi)容,其中比較重要的功能是規(guī)則測(cè)試。規(guī)則測(cè)試主要面向?qū)ο笫菢I(yè)務(wù)和測(cè)試人員。
- 業(yè)務(wù)人員:能夠就配置的規(guī)則,立馬知道規(guī)則執(zhí)行是否有問(wèn)題。
- 測(cè)試人員:上文說(shuō)過(guò)特征來(lái)源可能是自有數(shù)據(jù),也有可能是供應(yīng)商的數(shù)據(jù)。規(guī)則的測(cè)試分為取值正確性和規(guī)則邏輯性驗(yàn)證。規(guī)則測(cè)試主要解決規(guī)則邏輯性驗(yàn)證,確定好這部分正確后,就可著重對(duì)取值進(jìn)行驗(yàn)證,在規(guī)則的驗(yàn)證過(guò)程中有的放矢。
另外在觸發(fā)結(jié)果上,一般是有“通過(guò)”、“拒絕”、“記錄”、“轉(zhuǎn)人工”等選擇。因?yàn)橐?guī)則設(shè)計(jì)都是順序執(zhí)行,所以在遇到“拒絕”結(jié)果上,整條規(guī)則就會(huì)中斷執(zhí)行并輸出結(jié)果;“記錄”結(jié)果可以認(rèn)為是一個(gè)中性結(jié)果,用作規(guī)則調(diào)試;“轉(zhuǎn)人工”結(jié)果就會(huì)將案件轉(zhuǎn)人工,由人工介入二次審批。
觸發(fā)結(jié)果除了上述的結(jié)果,還有可能輸出某一變量的值。比如輸出的是“會(huì)員等級(jí)”這一變量值,根據(jù)具體的規(guī)則輸出金牌、銀牌、銅牌這個(gè)變量值。
觸發(fā)結(jié)果有哪些、形式是怎樣以及對(duì)應(yīng)的邏輯處理,讀者可根據(jù)實(shí)際的業(yè)務(wù)背景進(jìn)行定義。
3. 規(guī)則集管理
規(guī)則集是將多條規(guī)則組合成一條規(guī)則集合,其本質(zhì)上還是在執(zhí)行規(guī)則。下圖是規(guī)則集配置的部分前端頁(yè)面:
因?yàn)橐?guī)則集也是順序執(zhí)行,并且包含了多條規(guī)則,在設(shè)計(jì)上可以加上一些快速變更執(zhí)行規(guī)則順序的操作。
另外,類似的還有規(guī)則表和規(guī)則樹(shù)。
a)規(guī)則表
規(guī)則表由條件列和結(jié)果列構(gòu)成,上圖中的貸款主體變更次數(shù)和欠繳費(fèi)總金額為條件列,最右側(cè)的觸發(fā)結(jié)果為結(jié)果列,總共規(guī)則數(shù)為兩個(gè)條件列的乘積。
b)規(guī)則樹(shù)
規(guī)則樹(shù)的設(shè)計(jì)上是按照橫向的樹(shù)葉分支結(jié)構(gòu)。
所以,從上面的額介紹可以得出規(guī)則集、規(guī)則表和規(guī)則樹(shù)都是規(guī)則的聚合,本質(zhì)上都是在執(zhí)行規(guī)則。
但是在使用體驗(yàn)上還是有差異的:
- 規(guī)則集:規(guī)則復(fù)用性高,可以復(fù)用已經(jīng)配置好的規(guī)則;
- 規(guī)則表:可以額外增加一些表格導(dǎo)入規(guī)則的操作;
- 規(guī)則樹(shù):樹(shù)狀結(jié)構(gòu)使用上我覺(jué)得是最直觀的。
4. 評(píng)分卡管理
評(píng)分卡本質(zhì)上也是一種規(guī)則的變體,在規(guī)則中輸出的是一個(gè)是否通過(guò)的結(jié)果,而評(píng)分卡輸出的是一個(gè)分?jǐn)?shù)結(jié)果。例如針對(duì)“年收入”這個(gè)特征,可能設(shè)置的評(píng)分卡如下:
- 年收入小于5萬(wàn),得10分
- 年收入大于等于5萬(wàn),小于20萬(wàn),得20分
- 年收入大于等于20萬(wàn),得30分
這個(gè)例子就是一個(gè)評(píng)分卡,理解了這個(gè)例子就理解了評(píng)分卡。
上圖是評(píng)分卡管理部分的前端頁(yè)面,其中不同的特征維度之間可能還會(huì)有「權(quán)重」的設(shè)置,比如年收入相較于年齡,設(shè)置的權(quán)重要更高點(diǎn),在這樣的業(yè)務(wù)背景下,前端就需要有配置的權(quán)重的功能。點(diǎn)擊「設(shè)置權(quán)重」,展示對(duì)應(yīng)權(quán)重列,可對(duì)某一特征進(jìn)行設(shè)置權(quán)重值。那么,最終的評(píng)分=特征評(píng)分1*權(quán)重值1+特征評(píng)分2*權(quán)重值2+…
在設(shè)計(jì)評(píng)分卡的過(guò)程中,要著重注意缺失值 的處理,也就是要有個(gè)兜底的區(qū)間,保證對(duì)應(yīng)的條件都能取到分值。
5. 決策流管理
決策流類似工作流,能將規(guī)則、規(guī)則集、評(píng)分卡編排,實(shí)現(xiàn)一個(gè)較大的業(yè)務(wù)決策流程。
決策流由開(kāi)始、規(guī)則節(jié)點(diǎn)、決策和結(jié)束構(gòu)成。規(guī)則節(jié)點(diǎn)包含規(guī)則、規(guī)則集和評(píng)分卡等工具。
決策就是拿著上一個(gè)規(guī)則節(jié)點(diǎn)的結(jié)果進(jìn)行判斷,是選擇結(jié)束,還是去往下一個(gè)規(guī)則節(jié)點(diǎn)。
上圖就是決策流的前端界面,通過(guò)規(guī)則節(jié)點(diǎn)和決策之間的連線,可以清晰的看出決策的處理邏輯。
6. 歷史決策管理
歷史決策管理中主要管理決策引擎中的歷史決策,可查看歷史決策的執(zhí)行路徑、明細(xì)和結(jié)果。
上圖是歷史決策詳情的部分前端頁(yè)面,針對(duì)歷史決策,還需要有重新執(zhí)行、決策回溯之類的操作,以滿足業(yè)務(wù)需要。
- 重新執(zhí)行:在進(jìn)行決策時(shí),會(huì)調(diào)用大量的內(nèi)外部接口進(jìn)行計(jì)算,計(jì)算的過(guò)程中可能會(huì)接口錯(cuò)誤導(dǎo)致決策停止,針對(duì)異常情況,需要有對(duì)應(yīng)的重新執(zhí)行的操作。
- 決策回溯:業(yè)務(wù)是動(dòng)態(tài)變化的,因此針對(duì)歷史的決策,能回溯重測(cè)。
六、補(bǔ)充
功能模塊也聊好了,那我們來(lái)兩個(gè)補(bǔ)充的內(nèi)容吧,分別是貸前的決策模型及規(guī)則介紹、數(shù)據(jù)使用原則。
a)決策模型及規(guī)則介紹
貸前模型:
預(yù)授信:常使用模型或者評(píng)分卡。通常用于白名單營(yíng)銷,在我對(duì)接的資金方中,網(wǎng)商和京東有采取預(yù)授信,通過(guò)主體的基礎(chǔ)信息和經(jīng)營(yíng)信息,可以預(yù)授信出對(duì)應(yīng)的額度,可用于白名單營(yíng)銷。正式進(jìn)件之后,會(huì)再執(zhí)行準(zhǔn)入、反欺詐之類的策略。
準(zhǔn)入:常使用規(guī)則。一般使用平臺(tái)自有數(shù)據(jù)、工商數(shù)據(jù)、司法數(shù)據(jù)、納稅數(shù)據(jù)、發(fā)票數(shù)據(jù)、多頭借貸數(shù)據(jù)。
- 平臺(tái)自有數(shù)據(jù):年齡、加盟商狀態(tài)、加盟時(shí)長(zhǎng)、發(fā)貨數(shù)量、充值金額…
- 工商數(shù)據(jù):成立年限、經(jīng)營(yíng)狀態(tài)、法人變更、股東變更…
- 司法數(shù)據(jù):被列入失信被執(zhí)行人、限高、被執(zhí)行案件數(shù)量…
- 納稅數(shù)據(jù):納稅年限、納稅登記水平、欠繳稅金額….
- 發(fā)票數(shù)據(jù):開(kāi)票月份數(shù)、最近一次開(kāi)票月份距今、開(kāi)票金額…
- 多頭借貸數(shù)據(jù):不同時(shí)間緯度下的平臺(tái)申請(qǐng)數(shù)、非銀機(jī)構(gòu)逾期記錄、非銀機(jī)構(gòu)申請(qǐng)數(shù)…
反欺詐:常使用規(guī)則和評(píng)分卡。一般使用平臺(tái)自有數(shù)據(jù)、運(yùn)營(yíng)商數(shù)據(jù)。
- 平臺(tái)自有數(shù)據(jù):三要素/四要素、在網(wǎng)異常、入網(wǎng)時(shí)間…
- 運(yùn)營(yíng)商數(shù)據(jù):提交時(shí)間異常、MAC值變化情況…
授信評(píng)級(jí):常使用評(píng)分卡。
定額定價(jià):常使用評(píng)分卡。
模型的使用不同機(jī)構(gòu)間可能不同,以實(shí)際業(yè)務(wù)為準(zhǔn)。
b)數(shù)據(jù)使用原則(主打一個(gè)降本~)
- 優(yōu)先使用自有數(shù)據(jù)源:對(duì)于同一個(gè)特征可能自有和外部供應(yīng)商都能提供接口查詢,應(yīng)該優(yōu)先使用自有數(shù)據(jù)源。
- 優(yōu)先使用低成本數(shù)據(jù)源:對(duì)于同一個(gè)特征,可能有多個(gè)外部供應(yīng)商提供接口查詢,在選擇時(shí)應(yīng)該選擇費(fèi)用較低的數(shù)據(jù)源。
- 外部數(shù)據(jù)及時(shí)入庫(kù):外部供應(yīng)商的數(shù)據(jù)接口查詢一般分為查詢和查得兩種,針對(duì)請(qǐng)求回來(lái)的供應(yīng)商的數(shù)據(jù)要及時(shí)入庫(kù),在一定周期內(nèi)是可以重復(fù)使用的,避免重復(fù)調(diào)用供應(yīng)商接口產(chǎn)生不必要的費(fèi)用。
七、總結(jié)
作為金融風(fēng)控小學(xué)生,在設(shè)計(jì)風(fēng)控決策引擎的時(shí)候,我覺(jué)得最難的不是功能設(shè)計(jì),在吃透業(yè)務(wù)之后,了解了網(wǎng)上相關(guān)的材料也能完成設(shè)計(jì)。在接觸的過(guò)程中,最難的還是對(duì)于規(guī)則的設(shè)置,在頂層戰(zhàn)略規(guī)劃下,你要怎么去設(shè)計(jì)你的規(guī)則去滿足業(yè)務(wù)規(guī)模需要,又能保證風(fēng)險(xiǎn)可控,當(dāng)然這也可能是對(duì)規(guī)則背后含義的理解不透徹。
還有個(gè)我覺(jué)得最繁瑣的事,那就是設(shè)計(jì)特征。文中也說(shuō)到很多特征是來(lái)源于第三方供應(yīng)商,在設(shè)計(jì)特征的過(guò)程中,看了幾十篇接口文檔,成百上千個(gè)字段,現(xiàn)在回想起來(lái)都有一種惡寒,不知道你有沒(méi)有這樣的感受…
那么,風(fēng)控篇也告一段落了,后續(xù)也會(huì)繼續(xù)輸出總結(jié)相關(guān)的內(nèi)容,讓我們一起期待下吧。
希望這篇文章對(duì)你有用~
本文由@沒(méi)湯圓啦 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。提供信息存儲(chǔ)空間服務(wù)。
很有幫助
特征管理,枚舉型和字符串型的運(yùn)算符號(hào)和閾值不太理解,在集合/不在集合?能說(shuō)說(shuō)怎么應(yīng)用的么
枚舉型所對(duì)應(yīng)的是一個(gè)集合,例如特征為“高風(fēng)險(xiǎn)地區(qū)”,閾值則可設(shè)置為“溫州,福建”這個(gè)集合(分隔符號(hào)可以定義),然后進(jìn)行匹配;字符串同理,只是說(shuō)針對(duì)字符串進(jìn)行特征關(guān)鍵字匹配(字符串可以認(rèn)為是字符的集合)
好的,非常感謝作者,這篇文章對(duì)我很有幫助,希望有更多的人能看到。
另外還有一個(gè)疑問(wèn),就是特征管理,需要做成系統(tǒng)功能嗎?還是說(shuō)每次新增特征的時(shí)候讓研發(fā)直接加
看你業(yè)務(wù)上是否有必要,因?yàn)橛行┢胀ǖ难苌卣饕彩强梢酝ㄟ^(guò)頁(yè)面進(jìn)行配置的
好的,謝啦。會(huì)持續(xù)關(guān)注
你就就理解為包含不包含就行了,sql表達(dá)是like。 一般字符串就是等于不等于,包含不包含,正則匹配不匹配,有值沒(méi)有值,為空不為空—這些篩選條件。。