中國商旅管理于2000年外資TMC(Travel Management Company,商旅管理公司)進(jìn)入中國市場后興起[1],前期目標(biāo)客戶多為大型企業(yè)。2014年后,中小企業(yè)的商旅管理意識逐漸覺醒,商旅行業(yè)進(jìn)入快速發(fā)展期。2018年,中國商旅行業(yè)的年復(fù)合增長率達(dá)20%[2]。商旅行業(yè)的參與者除了專業(yè)的TMC外,還存在OTA(Online Travel Agency,在線旅行社)、傳統(tǒng)旅行社、機(jī)票代理商等非專業(yè)化差旅機(jī)構(gòu)。2018年中國商旅管理市場前8位的差旅管理公司,占比為21.4%[2]。TMC的產(chǎn)品結(jié)構(gòu)豐富、差旅管控智能、結(jié)算方式靈活、服務(wù)項目多樣,能幫助企業(yè)實現(xiàn)降本增效的目標(biāo),優(yōu)勢明顯。隨著商旅管理理念的深入,商旅管理市場將越來越集中于大型的TMC。
TMC的SaaS(Software-as-a-Service)系統(tǒng)優(yōu)勢在于差旅標(biāo)準(zhǔn)在線管控,個性化的流程配置,差旅數(shù)據(jù)報告分析等。隨著企業(yè)費(fèi)用控制、成本管理意識的加強(qiáng),大企業(yè)對TMC系統(tǒng)的要求越來越高,除越來越個性化的差旅標(biāo)準(zhǔn)、審批流程外,還希望能與企業(yè)內(nèi)部辦公系統(tǒng)、報銷系統(tǒng)對接,完成全流程管控。不少大企業(yè)開始自建差旅系統(tǒng),打造完整的出差申請、差旅預(yù)訂、費(fèi)用管控、費(fèi)用報銷全流程。自建的差旅系統(tǒng)的難點(diǎn)之一在于整合商旅的產(chǎn)品資源。因存在系統(tǒng)成本、行業(yè)壁壘及專業(yè)性問題,企業(yè)更希望與TMC合作,由TMC提供產(chǎn)品資源接口。商旅行業(yè)一般性的產(chǎn)品如國內(nèi)機(jī)票、國際機(jī)票、國內(nèi)酒店、國際酒店、租車等,都屬于非標(biāo)準(zhǔn)產(chǎn)品。其中國內(nèi)機(jī)票產(chǎn)品最規(guī)范。由TMC提供合乎公司差旅標(biāo)準(zhǔn),同時又能滿足員工需求的機(jī)票選項,企業(yè)可以免除在自建的差旅系統(tǒng)中完成整個機(jī)票全流程的開發(fā)。
國內(nèi)機(jī)票熱門航線一天可能存在30多個航班,每個航班下可能會有20多個艙位價格,組合起來用戶會難以選擇。推薦機(jī)票時既需要考慮公司差旅標(biāo)準(zhǔn),也需要考慮員工出行體驗。本文提出了一種改進(jìn)的機(jī)票混合推薦算法,以乘機(jī)人為基準(zhǔn),在員工常飛航線上,過濾超過差旅標(biāo)準(zhǔn)機(jī)票,采用基于航線的用戶偏好推薦算法向用戶推薦。針對不常飛的航線,或無飛行歷史航線,即冷啟動問題,考慮可解釋性,采用了基于差標(biāo)的近鄰?fù)扑]算法。
隨著經(jīng)濟(jì)的不斷發(fā)展,企業(yè)的差旅費(fèi)用逐漸增高,企業(yè)差旅費(fèi)用已經(jīng)成為企業(yè)繼人力資源費(fèi)用外的第二大可控費(fèi)用。越來越多的企業(yè)聚焦企業(yè)差旅費(fèi)用控制,統(tǒng)一管理,集中采購。企業(yè)差旅費(fèi)用主要包括機(jī)票費(fèi)用、住宿費(fèi)用、火車票費(fèi)用、用車費(fèi)用等,其中以機(jī)票費(fèi)用最高。2018年中國商旅管理市場中,機(jī)票的交易規(guī)模占總商旅支出的比例為81.2%[2]。企業(yè)目前對TMC(Travel Management Company,商旅管理公司)的需求主要以機(jī)票為主。國內(nèi)機(jī)票因行業(yè)規(guī)范,是各大TMC系統(tǒng)中的基礎(chǔ)產(chǎn)品。按員工職級的不同設(shè)置好國內(nèi)機(jī)票的不同差旅標(biāo)準(zhǔn),由企業(yè)員工或企業(yè)行政人員登錄TMC系統(tǒng)預(yù)訂機(jī)票,根據(jù)差標(biāo)選擇適合自己的機(jī)票,是TMC系統(tǒng)中的基礎(chǔ)功能。
中國民航信息網(wǎng)絡(luò)股份有限公司為有資質(zhì)的機(jī)票代理人提供了標(biāo)準(zhǔn)的IBE(Internet Booking Engine)接口,通過該接口,可實時查詢某條航線下的航班、艙位價格、剩余座位數(shù),并可為旅客訂座及出票。航司在每條航線都設(shè)有一個經(jīng)濟(jì)艙全價,一定時期內(nèi)穩(wěn)定,在此基礎(chǔ)上,建立艙位價格體系,不同的艙位代碼(如Y、W、P、H、B等)代表了不同的折扣,對應(yīng)了不同的價格、不同的退改簽政策、不同的行李額度。國內(nèi)機(jī)票的定價體系決定了機(jī)票選擇的復(fù)雜性。自建差旅系統(tǒng)的企業(yè),普遍不具備行業(yè)資質(zhì),通過與TMC的合作,可獲取實時機(jī)票接口,并希望通過TMC對差旅的管理,得到精準(zhǔn)又能讓員工滿意的機(jī)票推薦。
OTA因發(fā)展早、宣傳力度廣、用戶體驗好及會員體系等多方面的原因,成為企業(yè)在選擇TMC的一個重要參考標(biāo)準(zhǔn),尤其是中國OTA市場的領(lǐng)頭者攜程。以下介紹OTA與TMC系統(tǒng)在現(xiàn)有的一些機(jī)票推薦方法及遇到的一些問題。
目前OTA(如攜程、飛豬)及TMC(如攜程商旅、阿里商旅)的機(jī)票航班的推薦排序規(guī)則僅有兩個:時間排序和價格排序。所有用戶點(diǎn)擊查詢航線后顯示的界面均一致,是從登錄用戶的角度而非乘機(jī)人的角度顯示。機(jī)票的推薦與電商平臺不一樣,從以下的兩個圖中也可以看出,每張機(jī)票的信息有航班信息,同時也有航班下對應(yīng)的艙位價格信息。查詢航班和航班艙位價格如圖1和圖2所示。查詢航線,先顯示航班,再顯示航班艙位價格是目前OTA與TMC系統(tǒng)常用的UI交互。
圖1 查詢航班
圖2 航班艙位價格
此種推薦方法損害了用戶體驗,增加了開發(fā)難度,不符合企業(yè)的需求。員工查詢機(jī)票需要操作兩次點(diǎn)擊流程,第一次選航班,第二次選艙位價格,并且需要自主甄別出哪些是符合差旅標(biāo)準(zhǔn)的機(jī)票。如果在選中乘機(jī)人后,發(fā)現(xiàn)該機(jī)票超標(biāo)后需要重新進(jìn)行選擇。從企業(yè)自建差旅系統(tǒng)角度來看,這兩個界面融合了航線查詢、航班查詢、比價以及差旅標(biāo)準(zhǔn)的管控提醒等,增加了系統(tǒng)的開發(fā)難度。
文獻(xiàn)[3]中提出了行業(yè)內(nèi)采用的一種差旅行程安排推薦方法,由員工填寫好具體的機(jī)票需求信息(如出發(fā)機(jī)場、到達(dá)機(jī)場、出發(fā)日期、出發(fā)時間段),按照價格升序排列做推薦。這其中可以加入一些差標(biāo)需求(如必須是經(jīng)濟(jì)艙,折扣必須低于8折等)。核心算法仍然是低價推薦。
在差旅管控中,有7種常用的使員工遵守公司差旅政策的策略,其中,“強(qiáng)制性順從”是Travel Managers(差旅負(fù)責(zé)人)采用優(yōu)先級排名第4的策略[4]。這說明,很多企業(yè)并不強(qiáng)制要求員工服從公司差旅政策。僅以低價的方式推薦,忽略員工感受,并不是一個好的差旅推薦。
另外,退改簽費(fèi)用也是公司差旅費(fèi)用控制的一項重要指標(biāo)。低價的機(jī)票退改簽費(fèi)用更高。如果公司差旅行程變動較大,推薦低價可能會適得其反,并不會帶來差旅費(fèi)用的節(jié)省。
文獻(xiàn)[5]中提出了OTA機(jī)票的個性化推薦,對用戶的歷史訂單統(tǒng)計,將訂單中的變量離散化,并以信息熵表示權(quán)重,形成用戶的個人偏好標(biāo)識。在此基礎(chǔ)上,計算每次搜索出來的航班與用戶個人偏好的相似度進(jìn)行推薦排序,也是一種基于內(nèi)容的推薦。針對冷啟動問題,提出了基于航線的協(xié)同過濾算法,在當(dāng)前用戶遇到無歷史記錄的航線時,分析其他用戶在該航線的歷史訂單,分析該航線上的一個偏好分布,再與當(dāng)前用戶有歷史記錄的航線做遷移學(xué)習(xí),將相似航線上的偏好整合到目標(biāo)航線。
此種推薦方法是在中國OTA市場占有率第一的攜程數(shù)據(jù)上測算得來,偏好的計算值得借鑒。該算法目前已申請專利。但在攜程網(wǎng)站上尚未應(yīng)用。
OTA與TMC的差別很明顯。OTA的用戶僅指注冊人,也稱為預(yù)訂人,預(yù)訂人可能與實際的乘坐航班的用戶,即乘機(jī)人并不是一人,有多個常用旅客的更為如此。在企業(yè)中,不同乘機(jī)人的差旅標(biāo)準(zhǔn)不一樣,以預(yù)訂人的身份統(tǒng)計其訂單偏好,不準(zhǔn)確,誤差概率高。
OTA中的用戶平均活躍度遠(yuǎn)遠(yuǎn)低于TMC中的客戶。文獻(xiàn)[5]在做OTA用戶個性化推薦的數(shù)據(jù)分析時,將兩年內(nèi)的出行次數(shù)大于10次的用戶數(shù)據(jù)去掉,因為這類數(shù)據(jù)不像是真正訂票的直客,而更像是一個集中采購第三方,如代理商的預(yù)訂。用戶的訂單量非常少,在同一條航線上的訂單更少,而采用所有歷史訂單預(yù)測所有航線上的偏好存在難度。主要是不同航線下的航班不一樣,對用戶的偏好有影響。如用戶在A航線下有4個南航的訂單,在B航線下有2個深航的訂單,該用戶總的偏好中,南航的權(quán)重高于深航。實際上A航線下無深航的訂單,這種情況得出的用戶偏好有一定誤差。同時在TMC中,用戶在歷史訂單中呈現(xiàn)的偏好被差旅標(biāo)準(zhǔn)影響,不同差標(biāo)時期的訂單表現(xiàn)出來的偏好不一樣。冷啟動時,采用基于航線的協(xié)同過濾算法,將目標(biāo)航線上的訂單與用戶的歷史訂單偏好分布做比較并學(xué)習(xí),存在可解釋性差的問題。
針對上述這些問題,本文提出了以下推薦方案。
員工輸入出發(fā)地、到達(dá)地、出發(fā)日期等基礎(chǔ)查詢條件后,點(diǎn)擊查詢,直接向企業(yè)自建差旅系統(tǒng)推薦出具體的航班艙位,不再需要先選擇航班,再選擇艙位價格。
TMC單個用戶的年平均飛行次數(shù)大于OTA的用戶,出行更高頻,高頻使得用戶的行為更為集中可預(yù)測。TMC用戶因公司業(yè)務(wù)往來,飛的航線一般比較集中。針對有歷史機(jī)票訂單的乘機(jī)人,基于航線計算歷史機(jī)票訂單的偏好,采用基于航線的用戶偏好推薦。
從某TMC的訂單數(shù)據(jù)中可以看出,熱門航線的訂單數(shù)遠(yuǎn)遠(yuǎn)高于非熱門航線。對于單個差旅用戶,這種差別更大,一般只有固定的幾條航線,大部分航線都無訂單記錄。冷啟動問題非常明顯。這種情況下,我們采取了基于用戶的內(nèi)容推薦,利用KNN(K-NearestNeighbor)算法計算基于差標(biāo)的近鄰。從用戶的屬性中,計算出與當(dāng)前用戶差旅標(biāo)準(zhǔn)相似度高的TOP K位用戶。匯總該K位用戶在當(dāng)前差標(biāo)期間內(nèi)在相同航線內(nèi)的機(jī)票選擇,推薦重復(fù)率較高的機(jī)票。該推薦方法可解釋性強(qiáng)。
具體流程如圖3所示機(jī)票混合推薦算法流程圖。
圖3 機(jī)票混合推薦算法流程圖
以航線(出發(fā)機(jī)場-到達(dá)機(jī)場)為基礎(chǔ),分析用戶名下是否有該航線的歷史機(jī)票訂單,此處的用戶指的乘機(jī)人,非注冊用戶。若航線下歷史訂單>3,根據(jù)歷史訂單的相似性,推薦符合差標(biāo)的機(jī)票。此處的歷史訂單有限制:訂單發(fā)生時期的差標(biāo)與當(dāng)前用戶的差標(biāo)一致;相同航線下的訂單。
機(jī)票的偏好特性有:出發(fā)時間、航司、艙位等級、艙位代碼、艙位折扣、特殊艙位、機(jī)型大小。
在機(jī)票的偏好特性中,未加入價格與退改簽政策。這主要是因為差旅用戶對價格不敏感。機(jī)票的價格實時動態(tài)變化,難以把握,公司通常采用艙位等級、艙位代碼、艙位折扣來控制差旅費(fèi)用。退改簽政策基本由航司+航位代碼固定,不同的艙位代碼對應(yīng)了不同的退改簽政策。
出發(fā)時間、折扣為連續(xù)變量,需要做離散化處理。出發(fā)時間劃分為7個時間段:0點(diǎn)-6點(diǎn)、6點(diǎn)-9點(diǎn)、9點(diǎn)-12點(diǎn)、12-14點(diǎn)、14-18點(diǎn)、18點(diǎn)-21點(diǎn)、21點(diǎn)-24點(diǎn)。將艙位折扣劃分為4個區(qū)域:0-4折、4-6折、6-8折,8-10折。
采用文獻(xiàn)[5]中偏好的權(quán)重公式及相似函數(shù),計算實時查詢得出的當(dāng)前航線的機(jī)票與用戶歷史訂單中的機(jī)票相似度,按相似度大小倒序排,推薦排名前N的機(jī)票。
相似函數(shù)Similarity(i,j)見公式1。
實時查詢到的機(jī)票集合為T,t為其中的一條航班艙位記錄;歷史機(jī)票集合為U,u為其中的一條航班艙位記錄。數(shù)組Arr[],用于臨時存儲相似度值。數(shù)組Arr_score,用于存儲相似度評分。算法如下。
差旅標(biāo)準(zhǔn)制度有:提前N天預(yù)訂、預(yù)訂N小時內(nèi)最低價提醒、不允許預(yù)訂N小時內(nèi)最低價、是否需要價格授權(quán)、是否允許預(yù)訂頭等/公務(wù)艙、最高可預(yù)訂折扣、是否綠色通道、是否有項目預(yù)算管控、是否強(qiáng)制預(yù)算管控。
按照乘機(jī)人差旅標(biāo)準(zhǔn)計算乘機(jī)人相似度。因存在部分差旅標(biāo)準(zhǔn)為空的情況,故采用歐氏距離公式測量相似度,如公式5。
其中,i為差標(biāo)制度的一項特征值。I為差旅制度集合。x、y為不同的乘機(jī)人。
根據(jù)差標(biāo)相似度獲取的前K位鄰居算法如下。
當(dāng)前用戶為a,算法如下。
我們選取了某TMC公司2019年4月到10月的國內(nèi)機(jī)票數(shù)據(jù)作為歷史訂單數(shù)據(jù),11月的國內(nèi)機(jī)票數(shù)據(jù)為測試集。因機(jī)票為實時查詢,無預(yù)訂時其他的實時機(jī)票艙位價格數(shù)據(jù),因熱門航線一般價格較為穩(wěn)定,且訂單較多,本文采用熱門航線預(yù)訂一段時間內(nèi)所有訂單里的航班艙位價格匯總,去掉重復(fù)的數(shù)據(jù),模擬出當(dāng)時的艙位價格列表。采用本文的算法對機(jī)票進(jìn)行預(yù)測排序,再與實際的訂單比較,計算平均準(zhǔn)確率MAP(Mean Absolute Precision)。測試數(shù)據(jù)的MAP是其中每個訂單的MAP的平均值。MAP計算公式見公式(6)。
本次測試,選用了熱門航線深圳—北京、深圳—上海虹橋、廣州—北京一段時間內(nèi)的訂單。模擬得出的深圳—北京實時艙位價格列表數(shù)約30條,深圳—上海實時艙位價格列表數(shù)約30條,廣州—北京實時艙位價格列表數(shù)約15條。因?qū)崟r航班數(shù)據(jù)為模擬數(shù)據(jù),本次評測存在一定的系統(tǒng)誤差。
表1列出了評測MAP值,其中第四列基于用戶偏好的算法,采用的是預(yù)訂人的偏好,計算所有歷史訂單的偏好。故改進(jìn)的企業(yè)差旅機(jī)票混合推薦有效。基于用戶偏好的推薦效果非常不理想的原因是,樣本數(shù)據(jù)里,代訂的比例較高,而不同的員工差旅標(biāo)準(zhǔn)相差較大,導(dǎo)致預(yù)訂人身上的偏好標(biāo)簽太散。代訂的這類公司差旅雖然有集中管理,但是仍由行政人員統(tǒng)一預(yù)訂。
表1 評測MAP值表
針對企業(yè)自建差旅系統(tǒng)的需求,本文在OTA的基礎(chǔ)用戶偏好算法上,添加了以航線為基礎(chǔ)的區(qū)分,同時以乘機(jī)人分析,而非預(yù)訂人分析,更為準(zhǔn)確。在員工無歷史訂單的航線上,采用了可解釋更強(qiáng)的基于差標(biāo)的近鄰?fù)扑],推薦理由如“80%的員工選擇了該機(jī)票”。但改進(jìn)后的企業(yè)差旅機(jī)票混合推薦算法還是存在一些不足。表現(xiàn)在以下幾個方面。
(1)因TMC訂單存在航線集中的情況,或航司開辟新航線,對于無任何訂單歷史記錄的航線,仍然會存在冷啟動的問題。對這類行程,我們難以去判斷出準(zhǔn)確的偏好。
(2)該算法對于新產(chǎn)品不友好。若航空公司想推出新的產(chǎn)品,相同的價格基礎(chǔ)上,新的產(chǎn)品有增值服務(wù)項,且給機(jī)票代理人的代理費(fèi)用更高。既能給用戶帶來收益,也能給TMC帶來利潤。用此算法難以推薦出新產(chǎn)品。
(3)企業(yè)差旅管控與員工出行體驗?zāi)承┣闆r下是相悖的。在做企業(yè)機(jī)票推薦時,需要時刻關(guān)注企業(yè)本身的需求,如某些企業(yè)強(qiáng)制要求員工必須購買低價,此種情況下,在差標(biāo)范圍內(nèi)的低價推薦更為合適。在實際運(yùn)用過程當(dāng)中,應(yīng)該根據(jù)企業(yè)的實際需求定制。
綜上,企業(yè)差旅的國內(nèi)機(jī)票混合推薦算法在實際應(yīng)用中,后續(xù)會根據(jù)員工反饋與差旅報告分析數(shù)據(jù),不斷調(diào)整與改進(jìn)。
本文所涉及到的方案驗證實驗在大灣區(qū)未來網(wǎng)絡(luò)試驗與應(yīng)用環(huán)境(PCL2018KP001)、深圳市科創(chuàng)委項目號(JSGG20170824095858416,JCYJ201908081556 07340)的項目中進(jìn)行。感謝老師在選題方向的指導(dǎo),感謝項目組成員對論文的審閱并提出重要修改意見。