億級訂單量下,美團外賣的風控設計是怎樣的?

問:誰不想成爲一個做出億級體量的產品 or 研發呢?有目標纔有前進的方向,有方向纔有一步一個腳印的實現。億級體量四個字,不僅意味着成就感與光環,更意味着壓力與責任。

今天分享的內容,來自美團外賣的風控負責人蔡敏老師。蔡老師有互聯網行業10 餘年從業經驗,先後任職於 58 到家、58 同城、百度等互聯網頂級大廠,在大數據、風控、支付等領域有多年架構和技術管理經驗。蔡老師將從自身項目經驗出發,爲大家解讀億級訂單體量下的美團外賣風控架構是如何設計的。



關於美團風控設計,可以分爲 3 個版塊:

  1. 業務的流程;

  2. 技術的架構;

  3. 常用的策略。

一、概述

風控即風險控制。

一般來講,風控分爲兩大方向:

1. 信用風控

信用風控廣泛適用於日常生活中,例如銀行貸款或者 P2P 貸款,機構會對借款人進行償還能力評估,是否有逾期或者惡意欠款等情況。

2. 反舞弊風控

目前有許多黑產活躍在互聯網上,我們的目標是魔高一尺道高一丈,與騙子之間不斷***的過程,就是反舞弊風控。



財務的風險行爲定義如圖所示:

  1. 賬戶安全;這部分很好理解,就是日常生活中常見的盜卡、盜餘額,一般公司應該都有這個模塊。

  2. 商家刷單;由於美團是平臺型,商家排名有嚴格的標準。有些商家爲了排名前進,會有刷單的行爲。商家刷單分爲刷排名、刷銷量、刷好評。

  3. 用戶作弊;這個就是「羊毛黨」啦,很多公司對羊毛黨的態度是聞之色變,其實沒有必要。我們在風控設計時對擼羊毛這一行爲要進行適當的控制,主要控制規模不可以太大;不要太混亂影響普通用戶的體驗。

二、風控的特性



風控的特性,或者說是特徵,總結了三條:

1. 高對抗性

即與上文中提到的黑產進行對抗。任何平臺只要有利可圖,黑產會不間斷 24 小時兜圈子。打遊戲的同學更容易理解一些,各種遊戲都會出現有組織有規模的工作室去找遊戲的 Bug ,刷金、刷裝備、盜號來謀取錢財。這就需要我們不斷去對抗,一直與黑產處於***階段。

美團和 58 這種平臺,黑產去發帖子刷排名,單價很可觀的,所以黑產動力很足,需要我們有這個意識,對方是不會休息的。

2. 準確性

風控領域有兩個要點,一個是準確性,另一個是召回率。準確率之所以在風控領域格外重要,是因爲所有的策略、模型都無法保證百分百的成功與正確。策略和模型的準確率低一點,用戶及商戶的投訴就會隨之上升。因此準確率要比召回率更中啊喲,一個策略的準確率應達到 99 % 才允許上線。

3. 靈活性

由於黑產打得都是持久戰,我們通過人工進行全天對抗是不太可能的,所以策略應當保證能夠隨時監控、隨時修改、及時更新,即靈活性強。

三、風控的整體架構



風控的整體架構可以分爲三個大的系統:

  1. 實時風控;

  2. 準實時風控;

  3. 離線風控。

區分的標準是根據策略的速度:

  • 實時風控:舉個例子美團的實時風控要求必須爲毫秒級同步返回,用戶下單時必須要實時監控同步調用,每天億級的調用量就要求每次調用不可以是秒級別。

  • 準實時風控:一般來講幾秒甚至幾分鐘以內返回都可以,因爲採用的是異步調用事後處理,這種方式計算的數據量和可利用的數據量資源比實時風控會多很多。

  • 離線風控:一般通過 ETL 來做。

如圖所示第二層是策略系統。策略系統時風控的核心繫統,包含着規則、管理以及監控的功能。

策略系統在設計的過程中,最關鍵的是:

  1. 配置是否方便快捷,策略能不能夠快速上線是決定性的要素。因爲我們一般在上線之前,首先需要灰度測試→人工處理→機器處理,因此要去策略系統配置一定要方便快捷。

  2. 規則引擎性能要高。

最下面一層是特徵庫,具備黑白名單、統計數據以及特徵數據等功能。特種庫對於系統的性能應該是最重要的,因爲億級體量的數據量是十分龐大的,因此在設計時要用到一些大數據框架。

圖中左側的處理系統即統一的處罰系統,無論是對商家還是用戶的處罰都會歸到這個處罰系統中;右側主要是一些公共組建,包含過載保護、報表、監控報警等等功能。這就是一個完整的風控架構。

四、風控關鍵流程



風控的流程可以分爲六個關鍵性流程:

業務啓動的初期,風控其實就隨之開始了,但是沒有必要做到上文中我們提到的那些具體動作。

  1. 從監控開始,針對業務的監控需要看看我們新上線的業務是否有黑產出現;

  2. 情報,情報指的是收集與我們業務相關的數據,需要到外部去收集,比如論壇、社羣,瞭解黑產的手段、特徵,瞭解商家的刷單行爲模式等等,這些數據可以幫助評估風控工作的效果以及後續改進方向;

  3. 評估,評估工作是風控中比較重要的一環,需要產品和技術共同對收集的數據進行評估,完成之後對應的策略及模型也就自然而然地產生了;

  4. 策略和模型,策略和模型在實際工作過程中各有利弊,策略短平快,隨着數據的收集對應的策略即可直接堵住最嚴重的漏洞,但策略的幻化能力(能夠輕易被繞過的能力)相對於弱一些,畢竟策略只是簡單、已知的規則,因此就需要模型進行填充,但模型的弊端在於開發需要週期;

  5. 處罰,這個就是字面意思;

  6. 建立知識庫,處罰完成之後將信息積累到知識庫,即可產生黑白名單、用戶/商家的畫像等等。

五、實時監控架構



隨着業務量的增多,監控不能依靠簡單的離線報表進行,離線一般來講是 T+1 ,等發現的時候已經太晚了,因此要進行實時監控。

如圖所示,實時監控分爲:

  1. 實時數據源,例如 Binlog、Kafka 等等;

  2. 流計算,目前美團採用實時指標系統 Calcite + FlinkSQL,比較方便簡單;

  3. 計算結果輸出;

  4. 數據應用,用於預警和監控等等功能。

六、風控策略的難點



如圖所示:風控的難點與風控的特性一一對應。

  • 靈活性:與黑產的對抗無處不在、無時不刻,因此需要保證策略的靈活性;

  • 可解釋性:策略及模型無法保證百分之百的準確性,因此出現投訴時需要對用戶進行解釋;客服如何清晰地抓取到用戶、用戶被處罰的理由等等,需要強有力的解釋;

  • 更新速度:策略更新速度要快,也是爲了及時止損。

七、風控模型策略



上圖列出的其實是風控策略和模型中比較基礎的:

  1. 異常檢測;

  2. 知識圖譜;

  3. 用戶畫像即風險評分。

這部分分爲兩大塊,一種是有監督評分,一種是無監督評分。很多公司在前期沒有足夠的正負樣本,可以採用無監督評分,只要有數據就可以採用這種方式,可解釋性也足夠強。



1. 異常檢測

可以簡單分爲三種:

  1. 基於數據統計,例如同一個 IP 登陸成功率非常高,這是有風險的信號,背後可能意味着是同一夥人,100 個人不可能說一次性都能輸對密碼,違反常理;同樣的,登錄成功率非常低的,可能就是暴力破解、撞庫。基於數據統計,可以找到異常特徵。

  2. 聚類,聚類完成之後會有離羣點,離羣點即可判斷爲異常。

  3. 孤立森林,這個方法在異常檢測領域效果最好,它的理論是將一個人的所有行爲想象成一棵樹,在某些分支上與其他分支出現了強不同,則該分支出現了問題。例如你同一臺設備同一個 IP,導致你的行爲都是類似的;但有的人同一個 IP 多臺設備,很容易被這種方法捕捉到異常。

2. 知識圖譜



如圖所示,知識圖譜即多對多的關係,舉登錄的例子,設備 ID 與 登錄 ID 未必是一對一的關係,同一臺設備可以有多個人登錄,同一個登錄 ID 又可以在多個設備上登錄,但重要的是一個人無法同時登錄 N 個設備,同樣 N 個設備也不可能被 N 個人登錄,因此很容易捉到異常。

3. 用戶畫像



用戶畫像就是通過採集到的基礎特徵,推測一些其他的特徵然後給用戶貼標籤,例如風險評分、信用頻評分。具體的方法每個公司略有不同,大家看圖瞭解一下即可。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章