如何從0到1規(guī)劃和設(shè)計(jì)風(fēng)控決策引擎
編輯導(dǎo)語:決策引擎是風(fēng)控運(yùn)營、風(fēng)控策略重要的工具,本文從產(chǎn)品介紹、規(guī)劃、設(shè)計(jì)詳細(xì)描述了一款金融風(fēng)險(xiǎn)決策引擎產(chǎn)品從0到1的誕生,并且對風(fēng)控決策引擎做出了未來展望,一起來看一下吧。
一、產(chǎn)品介紹
在消費(fèi)金融業(yè)務(wù)場景中,決策引擎扮演的角色重要性不言而喻。作為風(fēng)控的大腦,決策引擎承載的是風(fēng)控業(yè)務(wù)的專家經(jīng)驗(yàn),基于變量和模型的輸入,經(jīng)過復(fù)雜的決策流邏輯運(yùn)算,最終輸出決策結(jié)果。決策引擎產(chǎn)品提供可視化操作,支持判斷邏輯的多種組合,流程鏈路配置,支持0開發(fā)部署上線,使得策略迭代速度能夠得到最大的優(yōu)化。
決策引擎是風(fēng)控運(yùn)營、風(fēng)控策略同學(xué)的工作臺。一款優(yōu)秀的決策引擎產(chǎn)品不僅能幫助風(fēng)控策略人員全生命周期管理決策,快速迭代策略,實(shí)現(xiàn)高效能的規(guī)則管理,靈活的流程配置,還能降低開發(fā)人員的維護(hù)成本,釋放開發(fā)人效。
筆者在金融行業(yè)的從業(yè)經(jīng)歷中,經(jīng)歷過從1到100的決策引擎的優(yōu)化迭代,也經(jīng)歷過從0到1決策引擎的規(guī)劃和起步。本文重點(diǎn)介紹如何從0到1規(guī)劃和落地一款風(fēng)險(xiǎn)決策引擎。
二、產(chǎn)品規(guī)劃
決策引擎要從0到1落地,一方面需要產(chǎn)品經(jīng)理要具備很強(qiáng)的風(fēng)控業(yè)務(wù)sense,能深入理解風(fēng)險(xiǎn)決策全流程,掌握決策組件的構(gòu)成機(jī)制;另一方面,需要掌握如何打造決策引擎的MVP(最小可行性產(chǎn)品)的1.0版本,以及規(guī)劃到2.0以及3.0版本。
我們先來了解下 金融信貸風(fēng)控業(yè)務(wù)的主流程(各公司不同產(chǎn)品決策流程會有細(xì)微差異,但基本主干一致):
決策引擎最底層的抽象就是利用系統(tǒng)配置出可執(zhí)行的決策流。決策流的組成結(jié)構(gòu)可抽象成:變量:最小的原子組件,也稱指標(biāo),比如 年齡,性別,放款金額,逾期天數(shù),信用分等。
- 規(guī)則:規(guī)則由變量經(jīng)過組合加上閾值邏輯后形成,一般有單變量規(guī)則和多變量規(guī)則,比如某條單變量準(zhǔn)入規(guī)則:年齡 < 18 或者 年齡 > 55 則拒絕
- 規(guī)則集:規(guī)則集是一系列規(guī)則的集合,或者叫一個(gè)決策節(jié)點(diǎn),比如我們會把多個(gè)準(zhǔn)入規(guī)則集合在一起稱為 準(zhǔn)入規(guī)則集,或者反欺詐規(guī)則集
- 決策流:決策流是根據(jù)決策節(jié)點(diǎn)(規(guī)則集)按照先后順序或者分流順序連接而成的一個(gè)決策模塊。比如 申請決策流包括準(zhǔn)入規(guī)則集,反欺詐規(guī)則集等,授信決策流模塊包括額度規(guī)則集等。一般消費(fèi)分期業(yè)務(wù)還有 支付決策流等。
很明顯,決策引擎的MVP,即1.0版本要實(shí)現(xiàn)以上流程和組件的可配置化,跑通風(fēng)險(xiǎn)主流程。
第一階段:構(gòu)建決策引擎MVP
功能模塊包括:指標(biāo)管理 + 規(guī)則配置 + 決策流配置
在實(shí)現(xiàn)以上功能模塊后,基本上可以形成業(yè)務(wù)主流程閉環(huán),投產(chǎn)使用。在具體的業(yè)務(wù)需求上,我們規(guī)劃出后續(xù)幾個(gè)階段的功能模塊。
第二階段:支持更多組件和靈活配置
功能模塊包括:組件管理(規(guī)則+評分卡+模型) + SQL代碼配置規(guī)則
第三階段:完善數(shù)據(jù)和監(jiān)控服務(wù)
功能模塊包括:名單管理 + 征信源管理 + 決策監(jiān)控
第四階段:抽象公用,支持更多產(chǎn)品線
功能模塊包括:產(chǎn)品管理 + 決策流配置 + 決策流復(fù)用
基于以上四個(gè)階段的規(guī)劃,基本形成了一個(gè)自用決策引擎,能滿足絕大多數(shù)風(fēng)險(xiǎn)業(yè)務(wù)的需求。
三、產(chǎn)品設(shè)計(jì)
基于以上四個(gè)階段的迭代后,最終呈現(xiàn)的是一個(gè)相對完整的決策引擎產(chǎn)品,包括:
指標(biāo)管理,組件管理,決策流配置,數(shù)據(jù)管理,決策監(jiān)控,權(quán)限管理,產(chǎn)品管理
各個(gè)功能模塊的主要功能點(diǎn)如下:
1.?指標(biāo)管理
由業(yè)務(wù)方根據(jù)實(shí)際業(yè)務(wù)提出相應(yīng)需求,后端開發(fā)完成后,在引擎內(nèi)部進(jìn)行配置、測試、組合新指標(biāo)等管理功能。指標(biāo)管理分為 指標(biāo)維護(hù),指標(biāo)測試,指標(biāo)搜索功能模塊。
指標(biāo)維護(hù):
1) 展示所有目前庫中指標(biāo),可以根據(jù)指標(biāo)名稱、征信源、指標(biāo)分類來搜索指標(biāo)
點(diǎn)擊指標(biāo)名可以看到指標(biāo)的開發(fā)邏輯;
2) 新增指標(biāo):進(jìn)入指標(biāo)編輯頁面,填寫下表信息及開發(fā)邏輯;
3) 編輯指標(biāo):進(jìn)入指標(biāo)編輯頁面,對已有信息進(jìn)行編輯;
4) 上線指標(biāo):確認(rèn)指標(biāo)無誤后,點(diǎn)擊上線,規(guī)則等可以正常使用;
5) 下線指標(biāo):下線后,線上有使用此指標(biāo)的的規(guī)則將失效;在使用中的字段,點(diǎn)擊下線后需要提示警告;
注:
1) 指標(biāo)會在后續(xù)規(guī)則管理中編輯時(shí)使用,如后臺無相應(yīng)字段,規(guī)則無法正常使用。
2) 變量類型為選項(xiàng):INT/FLOAT/STRING/ARRAY等。
3) 默認(rèn)值:在變量開發(fā)時(shí)約定每個(gè)字段的默認(rèn)值。
4) 變量分類:對變量進(jìn)行分類,可以選擇多個(gè),搜索時(shí)可以根據(jù)分類挑選。
5) 是否依賴征信源:變量是否用到征信源,如有選擇征信源名稱。
6) 是否使用中:在線上的策略中是否有用到這個(gè)字段,此項(xiàng)不可編輯。
指標(biāo)測試:
1) 輸入測試:選取所需要測試的指標(biāo),輸入所依賴的數(shù)據(jù)源內(nèi)容,獲取字段結(jié)果;
2) 批量測試:隨機(jī)從線上數(shù)據(jù)中獲取數(shù)據(jù),批量獲取字段結(jié)果;
指標(biāo)搜索:
1) 根據(jù)指標(biāo)名稱可以搜索相應(yīng)指標(biāo),采用聯(lián)想搜索
2) 根據(jù)分類可以搜索類別下所有字段
2. 規(guī)則管理
將指標(biāo)根據(jù)邏輯進(jìn)行組合成規(guī)則,再將規(guī)則組合成以下內(nèi)容:
規(guī)則、規(guī)則表、評分卡、復(fù)雜模型、決策樹
測試完成后在決策流中使用。
1)組件管理
規(guī)則:根據(jù)指標(biāo),選擇表達(dá)式、指定條件值,得到輸出的決策結(jié)果(規(guī)則決策結(jié)果為True/False):
- 頁面式:通過網(wǎng)頁實(shí)現(xiàn)拖拽式操作
- 腳本式:為熟悉代碼的操作人員預(yù)留腳本編輯規(guī)則的空間。
數(shù)學(xué)、文本表達(dá)式:>,<,=,>=,<=,!=,in, not in ,contain, not contain, isnull , isnotnull(后續(xù)可根據(jù)業(yè)務(wù)需求添加)
邏輯表達(dá)式:&, || (后續(xù)可根據(jù)業(yè)務(wù)需求添加)
操作頁面:
(1) 輸入規(guī)則代號、名稱、注釋保存;(每個(gè)代號都是唯一);
(2) 編輯規(guī)則邏輯:選擇指標(biāo),選擇表達(dá)式,輸入條件值;選擇邏輯關(guān)系,增加條件;(選擇時(shí)通過關(guān)鍵字搜索或通過下拉框,選擇相應(yīng)指標(biāo))
(3) 測試:輸入對應(yīng)指標(biāo)值,點(diǎn)擊測試獲取測試結(jié)果;
(4) 測試完成后,點(diǎn)擊發(fā)布,將組件生效;
(5) 測試中如果遇到問題,需要展示錯(cuò)誤原因(例:某字段輸入值不正確)
規(guī)則配置頁面:
規(guī)則生成代碼編輯頁面:
2)規(guī)則表:根據(jù)規(guī)則,選擇邏輯關(guān)系,得到輸出的決策結(jié)果(可以為多個(gè)結(jié)果,文本、數(shù)值等):
邏輯關(guān)系:&, ||,contain, not contain
(1) 輸入規(guī)則表代號、名稱、注釋保存;(每個(gè)代號都是唯一);
(2) 先配置兜底結(jié)果(默認(rèn)值);
(3) 點(diǎn)擊新增一行條件,在左側(cè)選取規(guī)則,選擇邏輯關(guān)系,右側(cè)配置指定輸出參數(shù);(選擇時(shí)通過關(guān)鍵字搜索或通過下拉框,選擇相應(yīng)指標(biāo))
(4) 測試:輸入對應(yīng)指標(biāo)值(規(guī)則中用到的值),點(diǎn)擊測試獲取測試結(jié)果(所有出參部分);
(5) 測試完成后,點(diǎn)擊發(fā)布,將組件生效;
3)評分卡:根據(jù)字段,選擇表達(dá)式、指定條件值,得到輸出的決策結(jié)果(僅評分):
數(shù)學(xué)、文本表達(dá)式:>,<,=,>=,<=,!=,in, not in ,contain, not contain, isnull , isnotnull,
邏輯表達(dá)式:&, ||
(1) 輸入評分代碼,名稱和注釋。(每個(gè)代號都是唯一);
(2) 選擇增加“評分項(xiàng)”,填寫此項(xiàng)權(quán)重;
(3) 編輯左側(cè)選擇指標(biāo),表達(dá)式,在右側(cè)輸入Score;(選擇時(shí)通過關(guān)鍵字搜索或通過下拉框,選擇相應(yīng)指標(biāo))
(4) 整體評分卡(整體評分如何計(jì)算:最終得分 = 評分項(xiàng)1 * 權(quán)重1 + 評分項(xiàng)2 * 權(quán)重2 +…)和每個(gè)單一的評分項(xiàng),均可以測試,點(diǎn)擊評分項(xiàng),測試單獨(dú)評分項(xiàng),顯示此項(xiàng)內(nèi)指標(biāo);點(diǎn)擊空白處,測試整個(gè)評分卡,顯示所有指標(biāo);
(5) 測試完成后,點(diǎn)擊發(fā)布,將組件生效;
3. 決策流
將規(guī)則、規(guī)則表、評分卡、模型等進(jìn)行串聯(lián),形成決策流,實(shí)現(xiàn)對貸前、貸中、貸后或運(yùn)營的全流程處理。
(1) 繪制決策流圖,設(shè)置節(jié)點(diǎn);
(2) 在節(jié)點(diǎn)中配置規(guī)則、規(guī)則表、評分卡等組件;(選擇時(shí)通過關(guān)鍵字搜索或通過下拉框,選擇相應(yīng)組件)
(3) 在節(jié)點(diǎn)中允許配置:A/B Test(設(shè)置命中比例)、命中但不執(zhí)行決策結(jié)果、控制征信源啟用;
(4) 允許復(fù)制決策流,復(fù)制的決策流包含所有使用內(nèi)容;
(5) 點(diǎn)擊發(fā)布前對決策流整體流程進(jìn)行在測試環(huán)境進(jìn)行測試,確保流程沒有任何問題,后進(jìn)行預(yù)發(fā)布。
(6) 點(diǎn)擊預(yù)發(fā)布,查看發(fā)布后結(jié)果,無問題正式發(fā)布上線;
(7) 選擇節(jié)點(diǎn)時(shí),可以查看到其所用到規(guī)則、規(guī)則表、評分卡等組件,點(diǎn)擊相應(yīng)組件可以直接去到對應(yīng)的組件頁面
版本管理
規(guī)則、規(guī)則集、評分卡等組件和決策流,在測試完成后都需要進(jìn)行發(fā)布生效。
(1) 預(yù)發(fā)布:在正式發(fā)布前,有一道預(yù)發(fā)布,決策會同時(shí)運(yùn)行線上正式版本和預(yù)發(fā)布的版本,待觀察預(yù)發(fā)布版本無問題后,點(diǎn)擊正式發(fā)布,替換線上版本。
(2) 版本回退:保留之前版本,點(diǎn)擊發(fā)布,允許舊版本替換現(xiàn)有線上版本
(3) 可以新增一個(gè)版本,也可以編輯當(dāng)前版本,但編輯當(dāng)前版本保存后自動會生成新的版本;
4. 數(shù)據(jù)管理
數(shù)據(jù)管理分為 名單管理和外部數(shù)據(jù)源管理兩個(gè)功能模塊
1)名單管理
在頁面中維護(hù)(新增、刪除、修改)客戶名單,分黑、白、灰3類。支持名單的新增,修改,上傳,查看來源,禁用以及修改記錄。
2)外部數(shù)據(jù)管理
管理外部數(shù)據(jù)源,控制數(shù)據(jù)源是否調(diào)用,以及調(diào)用節(jié)點(diǎn)
5. 決策監(jiān)控
針對線上使用內(nèi)容,進(jìn)行數(shù)據(jù)監(jiān)控,并可以進(jìn)行報(bào)警。
1、 監(jiān)控線上決策內(nèi)容是否報(bào)錯(cuò),如有問題,按小時(shí)顆粒度進(jìn)行報(bào)警;
2、 監(jiān)控征信源數(shù)據(jù)是否異常;如:開關(guān)關(guān)閉,仍有調(diào)用;
3、 可以選取對應(yīng)的決策流節(jié)點(diǎn),選擇時(shí)間端,查的策略命中情況;
6. 權(quán)限管理
權(quán)限管理是通用的模塊,業(yè)內(nèi)比較成熟,一般產(chǎn)品會基于用戶,角色,資源三個(gè)維度來設(shè)計(jì)權(quán)限管理模塊。滿足風(fēng)控決策引擎如下功能即可:
設(shè)置管理員、用戶、設(shè)置權(quán)限組(角色),對相關(guān)用戶或組配置相對應(yīng)的頁面(資源)權(quán)限。
1、 管理員:最大的使用權(quán)限, systemadmin
2、 用戶:普通使用人員,可單獨(dú)配置相應(yīng)權(quán)限;
3、 角色(權(quán)限組): 根據(jù)組配置相應(yīng)權(quán)限,下屬用戶能直接獲取相應(yīng)權(quán)限;
7. 產(chǎn)品管理
對產(chǎn)品進(jìn)行區(qū)分,每個(gè)產(chǎn)品有單獨(dú)的決策流分支,對所屬規(guī)則、字段進(jìn)行組合配置。
1)維護(hù)產(chǎn)品(新增、刪除、修改產(chǎn)線名稱)
2)維護(hù)事件(新增、刪除、修改事件類型)
3)產(chǎn)品下只能看到本產(chǎn)品下的事件。但允許復(fù)制產(chǎn)品下事件至另一產(chǎn)品下,保留本事件下所有內(nèi)容。
總結(jié)一下 決策引擎的功能模塊:
四、發(fā)展展望
金融風(fēng)控決策引擎產(chǎn)品的前身來自于規(guī)則引擎,是規(guī)則引擎在金融場景的應(yīng)用。金融場景決策引擎的鼻祖當(dāng)屬FICO推出的Blaze,在互聯(lián)網(wǎng)金融出現(xiàn)前,傳統(tǒng)金融機(jī)構(gòu)幾乎清一色使用的是商用的Blaze產(chǎn)品。
隨著互聯(lián)網(wǎng)金融,金融科技,大數(shù)據(jù),實(shí)時(shí)場景的到來,Blaze已經(jīng)不能滿足多樣化個(gè)性化風(fēng)控場景的需求,各家大廠紛紛自研決策引擎,比如美團(tuán)的Zeus規(guī)則引擎,螞蟻的智能風(fēng)控引擎AlphaRisk,攜程Argis風(fēng)控引擎等,都是業(yè)界優(yōu)秀的決策引擎產(chǎn)品,值得每一個(gè)風(fēng)險(xiǎn)/數(shù)據(jù)產(chǎn)品經(jīng)理 研究。
在開源社區(qū)也涌現(xiàn)出很多開源優(yōu)秀的規(guī)則引擎產(chǎn)品,比如drools,urule,radar等,一般中小型公司會直接參考開源引擎,在此基礎(chǔ)上二次開發(fā)來滿足自身風(fēng)控業(yè)務(wù)的需求。業(yè)界自研加上開源支持,讓決策引擎產(chǎn)品不斷發(fā)展完善。
金融風(fēng)控只是規(guī)則引擎的一個(gè)應(yīng)用場景,風(fēng)險(xiǎn)領(lǐng)域或廣義上的大安全領(lǐng)域還包含 交易風(fēng)控,內(nèi)容風(fēng)控,流量風(fēng)控。多種復(fù)雜的業(yè)務(wù)風(fēng)控場景都需要一款規(guī)則引擎來進(jìn)行策略的快速迭代。
未來隨著更多場景的應(yīng)用,規(guī)則引擎也會不斷進(jìn)化,展望下更高階的規(guī)則引擎,未來可能的兩個(gè)發(fā)展方向:
- 實(shí)時(shí)化:大數(shù)據(jù)發(fā)展,計(jì)算能力的發(fā)展,將提升現(xiàn)有決策引擎的算力和處理時(shí)效
- 智能化:在現(xiàn)有的風(fēng)控決策引擎上融入了自言語言處理平臺、流計(jì)算平臺、實(shí)時(shí)預(yù)警、深度學(xué)習(xí)、可視化科學(xué)計(jì)算等,比如風(fēng)控規(guī)則的自動探索生成。
智能規(guī)則引擎或許在不遠(yuǎn)的將來會引領(lǐng)人們走向一種新的思維模式與編程行為,一切皆規(guī)則,人們要做的事情就是把能夠采集到的業(yè)務(wù)數(shù)據(jù)直接扔給智能決策引擎,剩下的,就讓智能決策引擎自己去處理吧。
本文由 @乘風(fēng)隨行 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
最近在做銀行的風(fēng)控項(xiàng)目,研究過多家決策引擎,作者提到的社區(qū)開源版本drools和urule,也試用過一段時(shí)間,但是感覺有點(diǎn)力不從心,可能這是小公司的悲劇吧,自研實(shí)力和時(shí)間投入成本等不允許我們想太多,經(jīng)過多方權(quán)衡,最終采購了上海銳道公司商業(yè)版本uRule pro,基本上滿足項(xiàng)目緊迫性需求。
大神,一般消金或者小貸公司,是自己做決策引擎呢,還是購買第三方產(chǎn)品呢?
正好最近在做風(fēng)控系統(tǒng),剛剛?cè)腴T,學(xué)習(xí)了
對決策流具體的應(yīng)用場景有些疑問:比如一個(gè)借貸產(chǎn)品,是一個(gè)決策流串聯(lián)起這個(gè)產(chǎn)品全鏈路的風(fēng)控流程嗎?還是多個(gè)
信貸風(fēng)控一般會有多個(gè)決策流,比如按照產(chǎn)品,按照新老戶,會走不同的決策流。同一決策流 也可在某節(jié)點(diǎn)進(jìn)行分流,這要視具體的風(fēng)控流程來看。決策引擎本質(zhì)上是配置風(fēng)控流程。
謝謝,最近在做決策引擎產(chǎn)品的調(diào)研,方便加個(gè)微信交流嗎?本人在某電商平臺工作,下面的微信添加不了
看到了新的,已添加
付費(fèi)購買一套 也可以!QQ511180544
內(nèi)容中的 產(chǎn)品原型頁面 能否分享一套!感謝!
歡迎數(shù)據(jù)同行 微信交流 pengyaxing
這個(gè)微信搜索不到呀
ericpeng1024
在消費(fèi)金融業(yè)務(wù)場景中,決策引擎扮演的角色重要性不言而喻