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