金融風控:如何提升決策引擎的用戶體驗與系統性能?

10 評論 11861 瀏覽 38 收藏 11 分鐘

本篇主要講述決策引擎進階之路的重要實踐,如何通過產品上的微創新和技術突破,實現工作效率、系統性能的革命性提升?踐行“技術賦能金融”的宗旨。進階之路包含作者三年工作經驗的實踐與積累,所以整理分享,希望對大家也有幫助,開始吧!

01 什么是決策引擎

決策引擎是對復雜的業務邏輯抽象化剝離出來的業務規則進行不同的分支組合、關聯,然后層層規則遞進運算,最終輸出決策結果的產品。

為政策分析師(Business Analyst,簡稱BA)、模型分析師(Model Analyst,簡稱MA)等業務人員提供指標管理、模型部署、決策流配置及動態更新服務。應用于貸前、貸中和貸后的風控評估、處理及預警,極大地解放人工處理的瓶頸與效率。

圖:決策引擎主要特性

決策輸入為稱為指標(如,性別、年齡等),決策結果分為絕對風險與相對風險:

1、對于絕對風險,決策引擎的輸出結果是“拒絕”,即命中則拒絕;

2、對于相對風險,決策引擎的有兩種輸出結果:一類是風險評分,用于衡量風險大小,風險評分越高,風險越大;一類是信用評分,用于衡量信用資質,信用評分越高,資質越好;

由于風控平臺具有很強的技術壁壘,決策引擎成為公司金融科技能力ToB輸出的重要突破口之一。如何讓決策引擎可以對標主流的商業化產品成為團隊探索的主要方向。

02 外在:提升用戶體驗

通過對用戶和用戶操作的深入研究以及競品分析,結合二八原則(80%的產品價值來自于20%的功能),“流程編排”、“模型部署”這兩個功能模塊成為打磨的主要方向。

1. 流程編排

《用戶滿意度調查報告》進行分析后發現,決策流程編排是政策分析師(BA)最不滿意的功能,滿意度:3.0分(滿分5分)。主要存在的問題:

1、頁面樣式老舊,布局不合理;

2、組件與組件之間的連接需要將線段連接到絕對中心位置;

3、畫板區域只能向下延展,配置復雜決策流程難度很大;

4、組件綁定唯一標識需跨系統、跨屏、跨頁面操作;

5、JS腳本學習成本高,不提供代碼模板、單獨測試功能;

圖:舊版流程編排頁面

其實這些問題從這個功能誕生起就一直存在。因為該前端框架采用的是AngularJS 1.0,這并不是公司常用的技術棧,且沒有豐富的組件,導致代碼修改難度極高。所以,我們開始著手調研業務流程建??蚣?,計劃整體替換掉現有的模塊。

基于全新的產品設計,我們實現了全新的流程編排功能。

主要特性:

  • 全新的組件設計語言,用顏色和圖標表達組件的含義;
  • 全新屬性面板設計,一個頁面內即可完成流程編排;
  • 小地圖功能,對流程一覽無余,快速定位;
  • 全新的流程編輯畫板,布局合理、操作簡單;
  • 場景化、智能化的JS腳本編譯器,自動解析所需入參,一鍵調試;
  • 流程輸出結果自動生成,無需手動添加;

圖:全新的流程編排頁面

新功能上線后,用戶沒有任何換用成本,新體驗超出了用戶預期,遠遠大于舊體驗!

另外,我們基于新特性衍生出了讓用戶更興奮的功能:流程運行過程的數據可視化。

在這之前,決策流程中的每個節點執行情況對于用戶而言就是黑盒。新功能上線后,每條流程的任何節點都清晰的打印在圖上。一直困擾著BA的調試難、驗證難、線上回溯難等“疑難雜癥”全都迎刃而解。

圖:流程運行圖

當然,在我們的規劃中,基于新特性的微創新才剛剛開始。流程熱力圖、觸碰分析、流程演示…將會在接下的迭代中和用戶持續見面。

2. 模型部署

前文應該介紹了規則模型和決策樹模型用途,這兩種模型都是通過寫條件表達式來實現的,如AGE0001>=20&&GPS0003!==null&&GPS0003.equals(“北京”)(AGE0001:用戶年齡指標;GPS0003:手機定位)。幾乎每個BA都會寫大量的規則,因為這兩類模型個數占比達到了90%。

通過研究用戶習慣和數據分析發現:

  • 批量加工規則的時候,大部分用戶選擇通過Excel寫然后導入的形式;
  • 寫復雜層級結構規則的時候,用戶會考慮使用編輯器,如:notepad++;
  • 只有用戶新增或修改少量規則的時候,用戶才會考慮決策引擎提供的規則編輯功能;
  • 多數用戶對“==”和“equals()”的區別傻傻分不清楚;
  • 平均每三條規則中就會出現一條自定義函數,但自定義函數的用法難掌握且容易混淆,例如:contains(value1,value2)?、containsAll(value1,value2);

回歸本質,我們發現我們給用戶提供的僅僅是一個普遍的文本輸入框,沒有指標自動提示、沒有語法自動提示、無法快速批量添加…..難怪用戶會離我們而去!

那么,我們該如何“挽回”用戶呢?

決策引擎競品分析報告給了我們答案:大部分商業化的產品都提供了“傻瓜化”的配置功能,實現思路大都一樣,簡單的勾選就可形成規則。

圖:規則可視化配置功能

重構已勢在必行。因此,我們設計實現了樹形結構的規則可視化配置(設計靈感:用戶寫規則的構思方式和書寫習慣很像產品經理使用腦圖軟件來分析問題一樣),同時,將常用的自定義函數簡化成下拉選擇。新的體驗降低了用戶的使用門檻,同時極大提升了用戶工作效率。

03 內在:提升系統性能

流程執行計劃

得益于流程運行圖功能,我們可以分析流程中每個模型、腳本運行的細節。

分析大量記錄發現:單個模型或腳本執行耗時一般在幾百毫秒,但整個流程幾乎是每個節點耗時的總和。同時,由于用戶編排流程是串行思維,只有極少流程中的極少組件是并行編排的。

基于這兩點洞察,我們發現如果不按照用戶畫的流程順序去執行,而是把用戶畫好的流程全部打散重排,將沒有前后依賴關系的節點并行執行,就可以減少整個流程運行耗時。

于是,我們基于DAG(有向無環圖)自研了流程串行變并行的算法引擎,通過對節點屬性的校驗,可以發現執行過程中,節點是否發生了前后關聯,對于沒有發生前后關聯的情況,引擎會對這份執行計劃做重估,生成新的執行計劃。通過這種創新,我們將流程的平均執行耗時縮短了50%-60%。這將大幅提升業務的轉化率同時也會降低用戶的運營成本。

對技術的追求是無止境的,TensorFlow分布式計算給了我們另一個靈感。TensorFlow分布式的版本允許client、master、worker在不同機器的不同進程中,同時由集群調度系統統一管理各項任務。

圖:TensorFlow分布式版本的示例

那么,我們是否能將各種模型、腳本分發在不同機器的不同進程中呢?答案是可以的。至于性能還能提升多少?盡請期待!

當然,一套完善的風控平臺不只包含決策引擎,而是由指標計算、決策引擎、邏輯編排等系統共同構成。如大家需要,可繼續分享,歡迎多多交流!

圖:風控平臺基本功能及產品設定

 

作者:丸子控?,某互金公司風控平臺的產品經理一枚。

本文由 @丸子控? 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 交流分享,加個好友吧vx: www125homecn

    來自北京 回復
  2. 請問新的流程編排頁面是通過什么實現的?還是activiti嗎?

    來自北京 回復
    1. 交流分享,加個好友吧vx: www125homecn

      來自北京 回復
  3. 點贊 請問現在有沒有可以系統學習風控相關的書籍或者文檔呀

    來自北京 回復
  4. 有產品demo可以學習學習嗎

    來自廣東 回復
  5. 點贊

    回復
    1. ??

      來自北京 回復
  6. 很棒,期待下一篇介紹風控其他知識

    回復
    1. 謝謝,等我積累積累,哈哈

      來自北京 回復
  7. ??

    回復