哈囉順風車智能交易體系建設(上)

導讀:7 月 22 日,2022 年 GIAC 全球互聯網架構大會在深圳順利舉行。哈囉高級算法專家王凡老師做了《哈囉順風車智能交易體系建設》的主題分享。包括以下幾大部分:

業務背景介紹

公司背景介紹

圖片

哈囉從大家熟悉的共享單車業務起步,順風車業務上線已有三年多的時間,在從無到有的過程中算法陪伴業務一起成長。“以技術驅動更合理的司乘匹配出行供需,爲用戶提供更值得信賴的拼車服務” 提到的司乘匹配出行供需,實際上就體現出算法在產品當中的價值。

順風車產品的基本流程

圖片

上圖是順風車產品中幾個主流的頁面。第一個頁面是乘客發單,乘客會打開他的界面發出行時間和目的地,這樣就會產生一個訂單,訂單產生後我們的系統就會把訂單推送到司機這邊。司機在不同的場景下會收到不同的訂單,如果司機有自己的路線,他就會收到跟路線比較匹配的訂單;如果司機沒有自己的路線,他就會收到自己附近的訂單。司機選好單後會去接單,最後就會完單。

我們主要的功能就是發單、接單和完單的過程,還有其他一些輔助的功能。實際上這個過程是一個漏斗,每一個步驟都是會有漏損的。打開 APP 的人肯定是數量最多的,但不是所有打開的人都會發單,不是所有發完單的人都會被接單,不是所有接單的都可以完單。這當中的漏損是非常大的,我們順風車的產品就是要提高效率,把漏斗最上層的人儘量多完單。

圖片

要達成這一目標是非常複雜的,它的複雜性體現在哪裏呢?第一個方面體現在外部的市場環境特別複雜,順風車業務是全國性的業務,各個城市的特點不同,還會受到天氣等因素影響。第二個方面體現在它是涉及到三方的,拿兩輪業務來進行對比,它只涉及到我們的用戶和平臺這兩方,但順風車業務裏有司機、乘客、平臺這三方,很大程度上增加了問題的複雜性。第三個方面體現在決策環節多,順風車業務除了有發單、接單和完單,還有很多支線的環節,比如用戶發完單之後有可能取消,司機接完單之後有可能覺得路程太遠而取消,還可能會產生一些投訴而造成流失,因此這當中的決策過程很多。最後一個方面體現在目標體系非常複雜,整個過程中我們的目標是儘可能讓更多人去完單,有可能我們在做司乘匹配時由於效率優先,可能會忽略一些用戶的體驗。

順風車產品功能彙總

圖片

我們把上面的這些問題彙總一下。最左邊是市場環境,就是我們講的外部環境特別複雜,順風車產品的運營城市和競爭對手各種各樣,司機羣體和乘客羣體的行爲習慣也會不同,還會面臨營銷預算的限制,因此我們在不同類型的城市投入的資源也會不一樣,這些都是我們順風車交易系統的輸入。然後乘客就會進行發單,發單後我們有很多的決策環節,比如訂單匹配、定價營銷和仲裁,接着司機會完單。最後可以看到,我們業務的結果也是複雜的,包括平臺完單量、平臺收入、司機接單數、司機收入、乘客的留存率和投訴率。

順風車問題拆解

圖片

我們對整個過程進行了拆解,首先是訂單匹配的問題。市場環境主要看人口特性、司機羣體、乘客羣體和競爭對手。在乘客發完單後,我們需要做訂單匹配,大家可以看到有一個列表,實際上它是一個推薦系統。我們需要對訂單進行排序,排序之後司機從這個列表裏面選出他最滿意的去做完單,最後拿到的業務效果是訂單的規模和交易的規模。

圖片

拆解的第二個問題是定價和營銷,市場環境看司機的密度、乘客的密度、競爭對手和營銷預算。輸入交易系統後,我們會在乘客發單前或發單後給到一些營銷的方法,在接單的過程中會給到他一些定價。圖中定價用紅框標了出來,我們可以實時給出價格,還會有一些實時優惠,這是由營銷算法動態生成的。最後給到我們的乘客之後,乘客用這個價格進行完單。這個場景業務結果是我們平臺的完單量、平臺的收入、司機的收入和乘客的留存率。

圖片

拆解的最後一個問題是仲裁,也是我們交易系統裏比較重要的一塊。市場環境主要看司機羣體和乘客羣體,基本上我們的仲裁都發生在司機和乘客之間,當然也有單獨一方的情況。通常乘客在發單到完單的過程中會出現一些問題,我們就需要對出現的問題進行判斷,到底是誰的責任,也會做一些相應的處理。最終它會影響的業務結果就是用戶的留存率和用戶的投訴率這兩個關鍵的指標。從短期的指標來看,我們看到的是用戶的投訴率,但長期來看的話就是用戶的留存率。

定義智能應用

圖片

我們對問題進行拆解之後,會根據不同的目標產生不同算法的應用。根據交易效率和業務規模,我們推導出智能匹配的算法應用;根據收入管理,我們推導出智能定價的應用;根據營銷效率,我們推導出智能營銷的應用;根據用戶體驗,我們推導出智能判責的應用。

對於抽象的算法問題,我們也有一套方法論。首先要對價值進行分析,可以看到至少這裏有四個項目去做,先做哪個後做哪個項目,我們就需要對價值進行預估。總體來看,智能匹配的價值是最大的,所以我們在上面最先進行投入,而且投入的時間最長。從順風車上線後的短時間內,我們就開發了智能匹配的一套算法,一直迭代到今天,而且持續在給我們的業務帶來增量的價值。

一旦有了價值之後,我們就需要對目標做一些量化,就是我們怎麼樣去衡量這樣的一套指標。比方說交易效率,我們就定了發完率指標作爲一個核心指標,發單的人到完單的人中轉化效率越高,就代表交易效率更高。

接着我們需要做問題的定義,是指我們機器學習裏面是什麼樣的問題,它是一個分類問題還是迴歸問題。最後我們再小心地進行求證,就是說逐步投入資源進行驗證,我們會盡量減小操作的半徑,投入最小的人力把它的效果驗證出來。如果能不用算法來驗證,我們會用一些策略來驗證。

算法應用

訂單匹配

圖片

做智能訂單匹配前,就像剛纔講的那套方法論,我們要衡量它的價值大不大。順風車業務跟網約車不一樣,它的特殊性決定了做推薦的空間很大。首先從時效性上,網約車一般我們打了車馬上車就會過來,而順風車有可能是提前一兩天打的,至少也是提前幾個小時打的。我們在做匹配的時候,匹配範圍就發的大。其次是從司機上,一般網約車的司機約束力是比較強的,但是順風車很多是第三方或私家車的司機,約束力就沒有那麼強。第三從價格上,順風車的價格會更便宜。最後從體驗上,順風車會差一點,網約車服務的到位性會更高。

根據順風車的特點,技術上還是存在很多挑戰的。所以順風車產品不是一個標準化的產品,它的特點就是不確定性高,司機提供的服務差異比較大,用戶的期望值也參差不齊。此外它的配對範圍大,不僅體現在時間上也體現在距離上。同時它存在着大量的未知因素,規則很難保證效果。

所以順風車的技術機會就是好的匹配和不好的匹配策略產生的結果差異非常大,比如在打車裏面我們會把訂單派給距離最近的司機,這樣一個簡單的策略產生的結果也不會太差,但如果在順風車這樣的場景裏,可能產生的結果跟最優的方案效果差距會非常大。另外機器學習也是善於從不確定性中去找到確定性。還有很重要的一點就是這個場景是業務的主要流程,它的潛力是非常大的,我們的訂單非常多,每一個訂單都需要經過匹配,匹配的好壞對結果有非常重要的影響。

圖片

接下來我們來看一下智能訂單匹配系統的架構。智能匹配實際上是一個複雜的推薦系統,需要用各種各樣的數據,包括離線的數據,比如人口統計、接單偏好、聊天的記錄、職業標籤、歷史完單目的地和軌跡信息。還有實時的一些數據,比如實時點擊行爲、實時軌跡、實時地塊數據。這些都會被拿來用做特徵,放到我們的模型裏面。模型作爲一個推薦系統,會有召回、排序和規則引擎這樣的步驟,最後計算出一個結果並進行排序,這就是我們的智能訂單匹配系統的架構。

圖片

順風車的推薦系統和廣告的推薦系統也會有一些差別。廣告的推薦系統是一個廣告庫,廣告庫裏面有各種各樣的廣告,它的量級達到了百萬級。首先做一個召回,然後把它放入到一個粗排模型裏面,從召回到粗排大概就只剩下幾千條或者幾萬條了。粗排之後會得到一個截斷的結果,這個量級大約是幾千條。接着就會進入到精排模型,對數千條選中的廣告進行比較精細的排序,它的耗時會比粗排模型的耗時更長。然後選中前幾百個,再對他做一個截斷,放到重排的策略裏面去。重排會根據不同的目標,對它進行一些規則上的排序。最後會推送到用戶的前端設備裏面,數量在十條左右,這就是用戶會看到的結果。它的特點是候選集的數量更大,可以離線計算。而順風車的推薦系統是不一樣的,我們有很多東西是要實時計算的。候選集的數量也很大,比如說一個司機現在要去接單,實際上他能夠接的單是非常多的,所以召回的數量就需要我們去用一些規則進行截斷,大概有幾萬條這樣的數據。然後我們也會進行粗排,粗排之後要去對它進行一個排序,接着是重排,最後會有幾十條數據顯示給司機。與廣告不同,順風車的每一個訂單都需要有起點、終點和路徑規劃,所以需要大量調用地圖的服務,對性能也會有非常大的壓力。

圖片

接下來介紹一下算法的探索過程。我們的迭代路徑分幾個階段,順風車業務剛上線的時候是沒有算法接入的,起初是一個規則的版本,對每一個訂單是否會被完單去進行預測。在這樣的基礎上,我們首先做了算法化,由於需要快速上線,所以我們用的方法是比較簡單的,主要用了線性模型和 lightgbm 這兩種方式,在業務早期的時候就實現了一定的算法化,當時取得的效果還是比較明顯的。第二個階段是在 2020 年到 2021 年間,我們做了深度化的改造。隨着數據越來越多,模型漸漸深度化,所以我們的模型也越來越大,深度也越來越深。在我們深度模型發展的趨勢裏,Wide&Deep 是一個重要的里程碑,在這個階段我們也把它應用到系統當中,訓練出來新的模型,它比以前的線性模型和樹模型效果更好。基於 Wide&Deep,我們又去做了 DeepFM 和 xDeepFM,都是業界比較主流的模型,我們都一個個去迭代和實現,帶來了正向的效果。第三個發展階段是定製化,現有的模型已經不能滿足業務繼續增長,所以我們根據業務的特點設計了新的模型。這些模型不是通用的模型,在業界也不是通用的做法。這裏我們去進行了一些改造,根據數據的特性我們做了實時序列模型,根據模型的結構改造我們做了多任務模型,根據業務的策略我們做了智能化的順路度。通過這樣的一系列改造,我們累計給大盤的訂單量提升了超過 20%,效果非常顯著。

下篇將具體介紹訂單匹配的排序模型、營銷定價和智能仲裁,以及過程中方法經驗總結。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/7NMCSOyDVWpkh4Jhqst8Rw