戰(zhàn)復(fù)盤(pán):從支付架構(gòu)到風(fēng)控合規(guī)的深度拆解)
我一直覺(jué)得“financial-services”這個(gè)提法在行業(yè)里有點(diǎn)被用濫了——一說(shuō)金融服務(wù)好像就是銀行柜員、保險(xiǎn)推銷、理財(cái)銷售這三件套。但真正在這個(gè)賽道里摸爬滾打過(guò)的人都知道金融服務(wù)是一個(gè)包羅萬(wàn)象的復(fù)雜生態(tài)從支付清算到財(cái)富管理從風(fēng)控建模到合規(guī)審計(jì)每一層都有自己的門(mén)道。這篇文章不打算寫(xiě)那種“金融行業(yè)入門(mén)指南”式的綜述而是想把我在金融科技FinTech一線做項(xiàng)目、做產(chǎn)品、踩坑填坑的真實(shí)經(jīng)驗(yàn)整理出來(lái)。內(nèi)容覆蓋服務(wù)設(shè)計(jì)、系統(tǒng)架構(gòu)、風(fēng)控策略、監(jiān)管合規(guī)四個(gè)核心板塊既適合剛?cè)胄邢虢⑷忠曇暗男氯艘策m合已經(jīng)在做具體業(yè)務(wù)、想回頭看看整體邏輯的從業(yè)者。我會(huì)把每一個(gè)關(guān)鍵決策背后的“為什么”講透比如為什么支付系統(tǒng)要這么設(shè)計(jì)、為什么風(fēng)控模型要這樣調(diào)參、為什么合規(guī)不是法務(wù)部門(mén)一個(gè)部門(mén)的事——這些東西教科書(shū)里不會(huì)講只有真刀真槍做過(guò)項(xiàng)目才會(huì)有體感。1. 金融服務(wù)到底在解決什么問(wèn)題1.1 拆掉“金融服務(wù)”的行業(yè)濾鏡很多人對(duì)金融服務(wù)的第一印象是“離錢(qián)近、門(mén)檻高、規(guī)則多”。這話對(duì)了一半。金融服務(wù)的本質(zhì)其實(shí)是在解決三個(gè)最基本的問(wèn)題信任缺失、信息不對(duì)稱、風(fēng)險(xiǎn)錯(cuò)配。你愿意把錢(qián)存進(jìn)銀行而不是藏在床底下不是因?yàn)榇驳撞话踩且驗(yàn)殂y行給了你一個(gè)“本金可兌付”的信任承諾。你借錢(qián)給一個(gè)陌生人做生意最大的顧慮不是他有沒(méi)有商業(yè)頭腦而是他會(huì)不會(huì)還錢(qián)——這就是信息不對(duì)稱。而風(fēng)控要做的事就是在這個(gè)不對(duì)稱的信息場(chǎng)里把“他會(huì)不會(huì)還錢(qián)”這件事從玄學(xué)變成概率學(xué)。所以做金融服務(wù)的人做的不是“錢(qián)生錢(qián)”的魔術(shù)而是用制度、技術(shù)和數(shù)據(jù)去壓縮不確定性。想明白這一點(diǎn)很多產(chǎn)品設(shè)計(jì)、系統(tǒng)架構(gòu)上的決策就會(huì)變得清晰起來(lái)一切為降低不確定性服務(wù)的功能都值得投入資源一切讓不確定性增加的流程都應(yīng)該被砍掉或者加一道閘。1.2 金融服務(wù)的技術(shù)棧演變從IOE到分布式國(guó)內(nèi)金融系統(tǒng)的技術(shù)棧演進(jìn)本身就是一部濃縮的行業(yè)史。早年的大型機(jī)集中式數(shù)據(jù)庫(kù)典型的IOE架構(gòu)IBM小型機(jī)、Oracle數(shù)據(jù)庫(kù)、EMC存儲(chǔ)統(tǒng)治了金融核心系統(tǒng)將近二十年。這套架構(gòu)的優(yōu)勢(shì)是穩(wěn)定、可靠單機(jī)性能強(qiáng)悍維護(hù)起來(lái)也有成熟的標(biāo)準(zhǔn)流程。但它的劣勢(shì)同樣明顯貴、擴(kuò)展性差、被廠商綁定。我記得剛?cè)胄袝r(shí)帶我的老前輩說(shuō)過(guò)一句話“銀行系統(tǒng)的第一原則不是快是穩(wěn)。一臺(tái)機(jī)器掛了整個(gè)分行網(wǎng)點(diǎn)都取不了錢(qián)這個(gè)責(zé)任誰(shuí)扛得住”這句話解釋了為什么金融行業(yè)對(duì)新技術(shù)總是慢半拍——不是守舊是真的經(jīng)不起折騰。但這幾年趨勢(shì)已經(jīng)變了。隨著移動(dòng)支付、消費(fèi)信貸、線上理財(cái)這些業(yè)務(wù)的爆發(fā)集中式架構(gòu)的瓶頸越來(lái)越明顯。雙十一這種量級(jí)的峰值流量IOE架構(gòu)幾乎不可能扛住。于是行業(yè)開(kāi)始大規(guī)模轉(zhuǎn)向分布式架構(gòu)用一堆普通的x86服務(wù)器替代昂貴的小型機(jī)用分布式數(shù)據(jù)庫(kù)替代Oracle用消息隊(duì)列做異步解耦用微服務(wù)拆散巨石應(yīng)用。這個(gè)轉(zhuǎn)型過(guò)程我完整經(jīng)歷過(guò)感受最深的一點(diǎn)是分布式架構(gòu)解決的不僅是性能問(wèn)題更是組織問(wèn)題。集中式架構(gòu)下所有業(yè)務(wù)邏輯都耦合在一個(gè)系統(tǒng)里改一個(gè)理財(cái)產(chǎn)品需求要牽動(dòng)十幾個(gè)團(tuán)隊(duì)的排期。拆成微服務(wù)之后每個(gè)團(tuán)隊(duì)可以獨(dú)立迭代自己負(fù)責(zé)的服務(wù)效率提升是幾何級(jí)的。但分布式也帶來(lái)了新麻煩數(shù)據(jù)一致性、分布式事務(wù)、鏈路追蹤、服務(wù)治理。原來(lái)在一臺(tái)機(jī)器里能靠數(shù)據(jù)庫(kù)事務(wù)搞定的事拆到幾十個(gè)服務(wù)里之后就得靠TCC、SAGA、消息補(bǔ)償這些“反人類”的方案去實(shí)現(xiàn)。這個(gè)代價(jià)很多團(tuán)隊(duì)在拆之前是沒(méi)想清楚的。2. 核心業(yè)務(wù)域拆解支付、信貸、財(cái)富管理2.1 支付系統(tǒng)金融服務(wù)的“水電煤”如果說(shuō)金融服務(wù)是一棟大廈支付系統(tǒng)就是大廈的水電煤管道——平時(shí)沒(méi)人注意一旦出問(wèn)題就是大事。支付系統(tǒng)的核心不是“把錢(qián)從A轉(zhuǎn)到B”這么簡(jiǎn)單而是一套嚴(yán)謹(jǐn)?shù)臓顟B(tài)機(jī)在背后運(yùn)轉(zhuǎn)。一筆支付從用戶點(diǎn)擊“確認(rèn)支付”到最終結(jié)算完成中間會(huì)經(jīng)歷交易創(chuàng)建、支付請(qǐng)求、渠道受理、銀行/第三方扣款、回調(diào)通知、對(duì)賬、結(jié)算。每一步都有對(duì)應(yīng)的狀態(tài)待支付、支付中、成功、失敗、退款中、已退款??雌饋?lái)很簡(jiǎn)單但真正復(fù)雜的場(chǎng)景是部分成功——比如用戶的錢(qián)已經(jīng)被銀行扣了但回調(diào)通知因?yàn)榫W(wǎng)絡(luò)超時(shí)丟了你這邊顯示支付失敗用戶的錢(qián)卻少了。這個(gè)場(chǎng)景怎么解靠的是支付對(duì)賬和最終一致性。每天晚上系統(tǒng)自動(dòng)拉取銀行側(cè)的清算文件和自己數(shù)據(jù)庫(kù)里的交易記錄做逐筆比對(duì)。發(fā)現(xiàn)不一致的單子再走差錯(cuò)處理流程。做了三年支付項(xiàng)目之后我對(duì)“對(duì)賬”這件事的敬畏心是拉滿的它不性感不炫酷但沒(méi)了它支付系統(tǒng)再穩(wěn)也是空中樓臺(tái)。2.2 信貸風(fēng)控從人工經(jīng)驗(yàn)到模型驅(qū)動(dòng)的進(jìn)化信貸業(yè)務(wù)是整個(gè)金融服務(wù)體系里利潤(rùn)最厚、風(fēng)險(xiǎn)也最高的板塊。早年做信貸審批靠的是信貸員跑線下、查征信、看流水、問(wèn)鄰里一套流程下來(lái)少則一周多則一個(gè)月。這套模式的問(wèn)題不是不準(zhǔn)而是太慢、太貴、太依賴個(gè)人經(jīng)驗(yàn)?,F(xiàn)在的消費(fèi)金融和中小微貸款業(yè)務(wù)基本已經(jīng)轉(zhuǎn)向自動(dòng)化審批 人工兜底的模式。核心是構(gòu)建一套風(fēng)險(xiǎn)評(píng)分體系反欺詐模型識(shí)別團(tuán)伙欺詐、身份冒用、設(shè)備指紋異常信用評(píng)估模型依據(jù)征信、電商消費(fèi)、社交行為等數(shù)據(jù)預(yù)測(cè)違約概率額度定價(jià)模型根據(jù)風(fēng)險(xiǎn)等級(jí)動(dòng)態(tài)匹配額度與利率模型用什么算法傳統(tǒng)邏輯回歸和決策樹(shù)XGBoost、LightGBM依然占據(jù)主流地位。原因很簡(jiǎn)單金融行業(yè)對(duì)模型的可解釋性要求極高——監(jiān)管問(wèn)你“為什么拒絕這個(gè)客戶”你不能答“因?yàn)樯疃葘W(xué)習(xí)模型說(shuō)不行”。這也是為什么很多互聯(lián)網(wǎng)公司引以為傲的深度學(xué)習(xí)模型到了金融場(chǎng)景反而落不了地。2.3 財(cái)富管理從賣(mài)產(chǎn)品到做配置財(cái)富管理這個(gè)板塊在金融行業(yè)里的地位過(guò)去十年發(fā)生了根本性變化。早年的理財(cái)銷售邏輯是“產(chǎn)品銷售導(dǎo)向”行員有銷售指標(biāo)哪個(gè)產(chǎn)品提成高就推哪個(gè)客戶只是被當(dāng)成銷售渠道的終端。這種模式有天然的缺陷——不管客戶的風(fēng)險(xiǎn)承受能力如何都推激進(jìn)型產(chǎn)品一旦市場(chǎng)波動(dòng)客戶虧損信任關(guān)系就徹底崩塌?,F(xiàn)在行業(yè)普遍在往買(mǎi)方投顧轉(zhuǎn)型。核心是先把客戶的風(fēng)險(xiǎn)偏好測(cè)清楚KYC再基于資產(chǎn)配置模型去做組合建議。說(shuō)白了不是幫客戶買(mǎi)“最好的”產(chǎn)品而是幫客戶買(mǎi)到“最適合他的風(fēng)險(xiǎn)收益結(jié)構(gòu)”。這個(gè)理念的轉(zhuǎn)變對(duì)系統(tǒng)建設(shè)提出了很高要求需要客戶畫(huà)像系統(tǒng)、資產(chǎn)配置模型、組合再平衡引擎、投后跟蹤報(bào)表——一套完整的數(shù)字化基建才能支撐起來(lái)。3. 風(fēng)控基建從策略到模型的系統(tǒng)工程3.1 風(fēng)控不是一堆規(guī)則的堆砌很多業(yè)務(wù)方對(duì)風(fēng)控的理解是“越多規(guī)則越安全”——命中任何一條風(fēng)控規(guī)則就拒絕交易。這種思路在業(yè)務(wù)量小的階段沒(méi)什么問(wèn)題但一旦業(yè)務(wù)規(guī)模上來(lái)規(guī)則之間的沖突和誤殺率就會(huì)失控。我見(jiàn)過(guò)一個(gè)真實(shí)案例某平臺(tái)為了防套現(xiàn)加了一條“同一設(shè)備一天內(nèi)綁定超過(guò)3張信用卡則觸發(fā)人工審核”的規(guī)則。結(jié)果上線之后正常代購(gòu)用戶大量中招客訴率暴漲。原因很簡(jiǎn)單——代購(gòu)用戶本來(lái)就要頻繁更換支付卡這條規(guī)則把正常行為誤判成了風(fēng)險(xiǎn)行為。好的風(fēng)控體系應(yīng)該是一個(gè)分層遞進(jìn)的漏斗第一層實(shí)時(shí)反欺詐攔截處理高置信度風(fēng)險(xiǎn)事件盜刷、薅羊毛第二層風(fēng)險(xiǎn)評(píng)分和動(dòng)態(tài)決策將中低風(fēng)險(xiǎn)訂單轉(zhuǎn)入人工復(fù)核第三層離線規(guī)則和模型調(diào)優(yōu)基于歷史數(shù)據(jù)持續(xù)優(yōu)化策略這套體系的關(guān)鍵不是“更嚴(yán)”而是“更準(zhǔn)”。每新增一條規(guī)則都要同步評(píng)估它的攔截率和誤殺率——攔截率再高如果誤殺了一堆正常客戶那也是虧的。3.2 樣本、特征與模型風(fēng)控工程師的日常風(fēng)控模型的落地過(guò)程說(shuō)穿了就四步樣本準(zhǔn)備、特征工程、模型訓(xùn)練、效果評(píng)估。樣本準(zhǔn)備是第一步也是最花時(shí)間的。在信貸場(chǎng)景里好樣本按時(shí)還款和壞樣本逾期90天以上的定義要清晰而且要處理好樣本的時(shí)間切片——你用2018年的數(shù)據(jù)訓(xùn)練模型去預(yù)測(cè)2023年的客戶行為中間經(jīng)濟(jì)環(huán)境、客群結(jié)構(gòu)早就變了模型效果必然會(huì)衰減。這就是金融模型特有的樣本時(shí)效性問(wèn)題。特征工程的核心是從數(shù)據(jù)里挖出有區(qū)分度的變量。常用的有用信比客戶用了多少授信額度、近六個(gè)月查詢次數(shù)申了多少次貸款、夜貓子指數(shù)凌晨交易占比這類指標(biāo)常用于反欺詐場(chǎng)景。特征的區(qū)分度可以用IV值Information Value來(lái)量化行業(yè)慣例是IV值在0.1到0.3之間的特征是“中等預(yù)測(cè)力”小于0.1的基本可以放棄。模型訓(xùn)練完成之后的復(fù)盤(pán)同樣重要。KS值Kolmogorov-Smirnov檢驗(yàn)和AUC是風(fēng)控模型最常用的兩個(gè)評(píng)估指標(biāo)但實(shí)操里我建議多關(guān)注一個(gè)東西策略回放。拿過(guò)去一段時(shí)間的真實(shí)交易數(shù)據(jù)把新模型跑一遍看看如果當(dāng)時(shí)就上線這個(gè)模型哪些交易結(jié)果會(huì)不一樣?;胤抛鐾曛竽銜?huì)發(fā)現(xiàn)模型在離線評(píng)估里看著很亮眼一放到真實(shí)線上場(chǎng)景就各種水土不服——這就是理論和實(shí)操的溫差。4. 合規(guī)與安全做金融服務(wù)的“高壓線”4.1 數(shù)據(jù)合規(guī)不是法務(wù)一個(gè)人的事這幾年金融行業(yè)對(duì)數(shù)據(jù)合規(guī)的要求越來(lái)越嚴(yán)尤其是個(gè)人隱私保護(hù)相關(guān)的法規(guī)落地之后整個(gè)行業(yè)都在補(bǔ)課。但很多公司把數(shù)據(jù)合規(guī)當(dāng)成法務(wù)部門(mén)的事業(yè)務(wù)和技術(shù)部門(mén)就看個(gè)熱鬧這是大錯(cuò)特錯(cuò)的。數(shù)據(jù)合規(guī)必須貫穿到系統(tǒng)的每一個(gè)設(shè)計(jì)決策里數(shù)據(jù)采集環(huán)節(jié)不能偷雞。拿到了超出業(yè)務(wù)場(chǎng)景必要范圍的數(shù)據(jù)就是違規(guī)。很多App被通報(bào)下架問(wèn)題都出在“超范圍采集個(gè)人信息”上。數(shù)據(jù)傳輸環(huán)節(jié)加密是標(biāo)配。不管是客戶端到服務(wù)端還是服務(wù)到服務(wù)之間數(shù)據(jù)都要加密傳輸。密鑰管理要單獨(dú)一套體系不能寫(xiě)死在代碼里。數(shù)據(jù)存儲(chǔ)環(huán)節(jié)敏感字段必須脫敏加密。手機(jī)號(hào)、身份證號(hào)不能明文存庫(kù)。哪怕數(shù)據(jù)庫(kù)被拖走了拿到的也是密文。我在實(shí)際項(xiàng)目中踩過(guò)一個(gè)坑某業(yè)務(wù)方為了開(kāi)發(fā)調(diào)試方便要求數(shù)據(jù)庫(kù)里的手機(jī)號(hào)明文返回給前端。開(kāi)發(fā)圖省事就同意了結(jié)果被安全團(tuán)隊(duì)掃描出來(lái)要求整改。來(lái)回折騰了兩周才搞定。這個(gè)教訓(xùn)的核心是數(shù)據(jù)合規(guī)如果不在架構(gòu)設(shè)計(jì)階段就考慮進(jìn)去后面再補(bǔ)就是災(zāi)難級(jí)的成本。4.2 技術(shù)安全從滲透測(cè)試到安全運(yùn)營(yíng)金融系統(tǒng)是黑客眼中的“高價(jià)值目標(biāo)”所以安全建設(shè)標(biāo)準(zhǔn)也比一般行業(yè)高得多。常規(guī)的安全工作包括滲透測(cè)試定期請(qǐng)外部團(tuán)隊(duì)模擬攻擊、安全開(kāi)發(fā)SDL把安全檢測(cè)嵌入到開(kāi)發(fā)流程、安全監(jiān)控SIEM/SOC運(yùn)營(yíng)、應(yīng)急響應(yīng)出事了怎么快速止血。這里我想特別糾正一個(gè)誤解很多團(tuán)隊(duì)以為上了Web應(yīng)用防火墻WAF就高枕無(wú)憂了。實(shí)際上WAF只能攔已知的、特征明顯的攻擊。對(duì)于業(yè)務(wù)邏輯漏洞比如越權(quán)訪問(wèn)、支付金額篡改這種只要改個(gè)參數(shù)就能出的問(wèn)題WAF一點(diǎn)忙都幫不上。安全的核心還是靠“開(kāi)發(fā)自己寫(xiě)安全代碼 安全團(tuán)隊(duì)做審查兜底”這條雙保險(xiǎn)路線。5. 金融服務(wù)的未來(lái)趨勢(shì)與個(gè)人建議5.1 銀行核心系統(tǒng)國(guó)產(chǎn)化替代的進(jìn)程前面提到的IOE架構(gòu)現(xiàn)在整個(gè)行業(yè)都在做國(guó)產(chǎn)化替代。這個(gè)替代不是簡(jiǎn)單的“換一個(gè)數(shù)據(jù)庫(kù)軟件”那么簡(jiǎn)單背后牽扯的是整個(gè)生態(tài)鏈的遷移操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、芯片每一層都要適配。我在實(shí)際項(xiàng)目里最深的感覺(jué)是一套核心系統(tǒng)跑得好好的本來(lái)沒(méi)必要?jiǎng)拥咭缶褪亲畲笮枨笏灾荒苡仓^皮上。這條賽道的技術(shù)難度在于分布式數(shù)據(jù)庫(kù)的強(qiáng)一致性方案還不成熟尤其是金融核心場(chǎng)景里“轉(zhuǎn)賬1分錢(qián)都不能錯(cuò)”這種強(qiáng)要求對(duì)分布式事務(wù)處理能力提出了極高要求。不過(guò)換個(gè)角度看這也是技術(shù)產(chǎn)品團(tuán)隊(duì)的機(jī)會(huì)——誰(shuí)能在兼容性和性能上把這套基建做穩(wěn)誰(shuí)就能吃到未來(lái)五年最大的技術(shù)紅利。5.2 當(dāng)下最值得做的三件事如果你在金融服務(wù)業(yè)做技術(shù)或產(chǎn)品我個(gè)人建議把精力放在這三塊數(shù)據(jù)治理搞清楚你有哪些數(shù)據(jù)、數(shù)據(jù)質(zhì)量如何、模型風(fēng)控從規(guī)則體系升級(jí)到模型驅(qū)動(dòng)、開(kāi)放生態(tài)通過(guò)API把金融服務(wù)嵌入到更多場(chǎng)景里。數(shù)據(jù)治理看起來(lái)不“炫技”但它是一切模型和AI應(yīng)用的基礎(chǔ)。你連客戶到底在系統(tǒng)里有多少個(gè)重復(fù)ID都查不清楚還談什么千人千面的精細(xì)化運(yùn)營(yíng)模型風(fēng)控是利潤(rùn)與風(fēng)險(xiǎn)的平衡器做得好壞直接影響業(yè)務(wù)能不能賺到錢(qián)。開(kāi)放生態(tài)則是未來(lái)的增長(zhǎng)點(diǎn)金融服務(wù)的邊界會(huì)被場(chǎng)景需求切割得越來(lái)越細(xì)誰(shuí)先卡住場(chǎng)景誰(shuí)就有話語(yǔ)權(quán)。5.3 最后分享一個(gè)實(shí)操中的坑和心得文章末尾分享一個(gè)我這幾年做過(guò)最有價(jià)值的決定給每一個(gè)金融業(yè)務(wù)系統(tǒng)都加了“全鏈路追蹤”能力。一開(kāi)始很多同事不理解覺(jué)得這玩意兒又不能直接產(chǎn)生業(yè)務(wù)價(jià)值純粹增加開(kāi)發(fā)工作量。但到線上出問(wèn)題的時(shí)候這套東西的價(jià)值就體現(xiàn)出來(lái)了——用戶報(bào)障說(shuō)“支付成功了錢(qián)沒(méi)到賬”你沿著traceID一查發(fā)現(xiàn)卡在渠道服務(wù)對(duì)賬失敗的環(huán)節(jié)幾分鐘就能定位到根因。沒(méi)有全鏈路追蹤之前這種問(wèn)題排查至少半天起步還得拉上好幾個(gè)團(tuán)隊(duì)的負(fù)責(zé)人一起開(kāi)會(huì)復(fù)盤(pán)。能上系統(tǒng)的都盡量做可觀測(cè)不要為了眼前的一點(diǎn)點(diǎn)開(kāi)發(fā)效率犧牲運(yùn)維期的時(shí)間和精力。這個(gè)原則從我做了第一代支付系統(tǒng)沿用至今適用于金融服務(wù)也適用于任何復(fù)雜業(yè)務(wù)系統(tǒng)。做金融這行穩(wěn)比快重要看得清比藏得住重要。