本篇主要講述決策引擎進階之路的重要實踐,如何通過産品上的微創新和技術突破,實現工作效率、系統性能的革命性提升?踐行“技術賦能金融”的宗旨。進階之路包含作者三年工作經驗的實踐與積累,所以整理分享,希望對大家也有幫助,開始吧!
01 什麼是決策引擎
決策引擎是對複雜的業務邏輯抽象化剝離出來的業務規則進行不同的分支組合、關聯,然後層層規則遞進運算,最終輸出決策結果的産品。
為政策分析師(Business Analyst,簡稱BA)、模型分析師(Model Analyst,簡稱MA)等業務人員提供指标管理、模型部署、決策流配置及動态更新服務。應用于貸前、貸中和貸後的風控評估、處理及預警,極大地解放人工處理的瓶頸與效率。
圖:決策引擎主要特性
決策輸入為稱為指标(如,性别、年齡等),決策結果分為絕對風險與相對風險:
- 對于絕對風險,決策引擎的輸出結果是“拒絕”,即命中則拒絕;
- 對于相對風險,決策引擎的有兩種輸出結果:一類是風險評分,用于衡量風險大小,風險評分越高,風險越大;一類是信用評分,用于衡量信用資質,信用評分越高,資質越好;
由于風控平台具有很強的技術壁壘,決策引擎成為公司金融科技能力ToB輸出的重要突破口之一。如何讓決策引擎可以對标主流的商業化産品成為團隊探索的主要方向。
02 外在:提升用戶體驗通過對用戶和用戶操作的深入研究以及競品分析,結合二八原則(80%的産品價值來自于20%的功能),“流程編排”、“模型部署”這兩個功能模塊成為打磨的主要方向。
1. 流程編排
從《用戶滿意度調查報告》進行分析後發現,決策流程編排是政策分析師(BA)最不滿意的功能,滿意度:3.0分(滿分5分)。主要存在的問題:
- 頁面樣式老舊,布局不合理;
- 組件與組件之間的連接需要将線段連接到絕對中心位置;
- 畫闆區域隻能向下延展,配置複雜決策流程難度很大;
- 組件綁定唯一标識需跨系統、跨屏、跨頁面操作;
- JS腳本學習成本高,不提供代碼模闆、單獨測試功能;
圖:舊版流程編排頁面
其實這些問題從這個功能誕生起就一直存在。因為該前端框架采用的是AngularJS 1.0,這并不是公司常用的技術棧,且沒有豐富的組件,導緻代碼修改難度極高。所以,我們開始着手調研業務流程建模框架,計劃整體替換掉現有的模塊。
基于全新的産品設計,我們實現了全新的流程編排功能。主要特性:
- 全新的組件設計語言,用顔色和圖标表達組件的含義;
- 全新屬性面闆設計,一個頁面内即可完成流程編排;
- 小地圖功能,對流程一覽無餘,快速定位;
- 全新的流程編輯畫闆,布局合理、操作簡單;
- 場景化、智能化的JS腳本編譯器,自動解析所需入參,一鍵調試;
- 流程輸出結果自動生成,無需手動添加;
圖:全新的流程編排頁面
新功能上線後,用戶沒有任何換用成本,新體驗超出了用戶預期,遠遠大于舊體驗!
另外,我們基于新特性衍生出了讓用戶更興奮的功能:流程運行過程的數據可視化。
在這之前,決策流程中的每個節點執行情況對于用戶而言就是黑盒。新功能上線後,每條流程的任何節點都清晰的打印在圖上。一直困擾着BA的調試難、驗證難、線上回溯難等“疑難雜症”全都迎刃而解。
圖:流程運行圖
當然,在我們的規劃中,基于新特性的微創新才剛剛開始。流程熱力圖、觸碰分析、流程演示…将會在接下的叠代中和用戶持續見面。
2. 模型部署
前文應該介紹了規則模型和決策樹模型用途,這兩種模型都是通過寫條件表達式來實現的,如AGE0001>=20&&GPS0003!==&&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協議
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!