想要愉快入住酒店?缺了它還真不行!(含PPT)

編者注:別想歪了!咱們說的是「機器學習」~算法

在攜程技術中心推出的線上公開課程[攜程技術微分享]上,來自攜程酒店研發的BI經理潘鵬舉,介紹瞭如何藉助大數據和算法,經過機器學習去克服酒店服務行業挑戰,給用戶帶來更好的預訂體驗,但願能對你有所啓發。如下爲全文實錄。微信

PS:關注攜程技術中心微信號(ctriptech),回覆「微分享」,可得到[攜程技術微分享]最新課程信息。架構

 

你們好,我叫潘鵬舉,人稱PPJ,來自攜程酒店研發BI。上圖是個人自我介紹,簡單作了一下標籤,作了詞雲可視化。機器學習

不知道各位有誰不知道攜程,我簡單介紹一下,攜程是一個在線OTA服務公司,提供酒店預訂、民宿、短租、機票預訂、度假預訂、汽車預訂、租車、郵輪、輪船預訂,火車票預訂、商旅管理、簽證、會場預訂、全球購等業務,簡單的說就是個旅遊中介,主要是想玩轉整個旅遊生態圈,從我羅列的結果上看,各類旅遊相關產品都有。工具

公司介紹完了,言歸正傳,如下是我今天要分享的主題:機器學習如何創造價值,目錄結構以下:性能

首先簡單介紹一下OTA酒店行業有哪些咱們關心的KPI及其面對的挑戰,讓你們有個簡單概念;學習

接着重點介紹一下算法在酒店行業是怎麼用的,看一下咱們的經驗對各位有沒有啓發,也想借此機會和你們交流一下怎麼才能讓算法創造出更大的價值;字體

最後分別簡單介紹一下使用算法的經驗和算法的上線架構等;大數據

1、OTA酒店行業優化

1、OTA酒店行業和其餘行業的區別和挑戰

首先咱們先說第一塊,OTA酒店行業;

 

我截取了某一個酒店的詳情頁,即咱們的產品。在上面我也羅列出了OTA酒店行業和其餘行業的最主要的區別。

首先最大的區分就是:咱們的房型是限時限購的,從圖上能夠看到,咱們只能5.11號入住,過期不候。另外每一個酒店的房間數量是相對固定的,因此若是酒店超賣的話,那麼就很差意思,酒店沒有辦法一天內加蓋房型,只能協調客人到其餘酒店去入住了。

而後是第二部分,代理(供應商)房型,這部分就是二房東,它從酒店拿到庫存,而後放到攜程售賣。,這樣有個什麼問題呢?我沒辦法從酒店打聽到任何庫存信息、訂單信息,因此咱們在管理代理方面就很謹慎,由於很差的代理會拉低攜程的服務水平,若是訂單出了問題,只能找二房東去協調,速度慢不說,還有可能解決不了問題。

第三部分,自營:指的是攜程和酒店直接談合做的房型,這些房型中有保留房、直連、直籤,自營的房型是靠譜的房型,咱們直接跟酒店要庫存,知道房價、房態信息,出了問題也能夠跟酒店直接協商,自營房源是咱們服務標杆,各項服務指標都很好。

說完了行業區別,咱們看看咱們面對哪些挑戰;

 

由於咱們的商業模式,因此第一點挑戰對咱們影響很大,咱們很依賴酒店行爲;有些酒店雖然在咱們這裏售賣,可是比較無賴,會出現不付佣金、前臺切客等行爲,形成業務損失,固然咱們對各類行爲有相應的識別方法和會有相應的懲罰措施,另外酒店服務水平良莠不齊,管理起來比較困難。

第二點提一下,有些低星酒店很落後,咱們跟它聯繫只能用小靈通,致使咱們管理一些酒店比較困難。其餘的挑戰都比較好理解,簡單的說就是低頻、長尾、季節性。

2、酒店OTA的服務KPI

說完了挑戰,咱們看看咱們有哪些關心的服務KPI。

 

服務KPI就是好、快、準。

稍微解釋一些KPI,到店無房指的是酒店發給了客人入住憑證,可是由於超賣致使客人沒法入住,這種狀況主要是酒店的違約行爲,正常狀況下攜程會幫忙協調入住其餘酒店並賠償相應的損失,在旺季的時候會有所升高。而後是到店無預約率,跟到店無房的區別是:客人到了酒店,酒店說沒有相應的訂單信息,出現這個問題主要是攜程和酒店傳真客人入住信息的過程當中有問題,出現這種狀況攜程會當即幫忙解決客人的入住問題。

目前來講,基於咱們強大的客服力量和優質的6sigma管理體系,這兩個指標都控制在極低的水準上。剩下的指標就不一一解釋了。

咱們如今面對的一個挑戰是,業務量持續的增加,咱們沒辦法持續性的增長客服人員來維持一個高標準的服務水準,所以須要藉助於算法來實現智能化、自動化。

說完了KPI,我再接着介紹一下咱們是如何評估項目收益的。

3、項目收益評估

這裏重點說一下客戶價值,這個是我以爲值得說的地方,其餘的收益和成本類,你們都拎得清。

客戶價值實際上傳達的是一個間接收益的概念,咱們會量化出每一個客人的等待成本,每一個環節的時間成本,每一個事件的客人損失成本,把全部的這些成本量化成對應的金額,因此咱們在每一個事件產生了以後,不只能夠計算出直接損失還能計算出間接損失。

我舉了一個例子:好比一個客人出現了到店無房,除了要直接賠款損失外,咱們還要額外計算間接損失,那麼咱們在作到店無房項目的時候,若是間接收益+直接收益超過了成本,那麼咱們就值得投入人力去作優化。

對於有些公司來講,單純提高客人感覺認爲價值不大,可是咱們把客人感覺貨幣化了,那麼這個價值就提升了。

行業背景就告一段落,我接着說重點,算法應用實踐。

2、算法應用實踐

在正式說應用實踐以前,咱們先簡要看看攜程的數據量。2億PV,10TB/日,數量仍是蠻大的。咱們用到的數據大致分紅四塊:業務數據、網站性能數據、用戶行爲數據和爬蟲數據,其中咱們的應用實踐主要會用到業務數據和用戶行爲數據。

1、關於數據的一些概念和觀點

接着說說數據在哪塊會產生比較大的價值。

 

我按照數據的冷熱區分了一下數據價值,通常性數據時效性越高,數據價值越大。我劃分了一下,若是隻用冷數據,那麼能夠挖到銀礦,用好了熱數據,你就挖到了金礦,若是你都直接預測了將來,那麼你就挖到了鑽石。最下面我列了一個公式,將來的人工智能就是基於過去和當前的狀態來預測將來,這樣的一個組合是將來應用的一個趨勢。按照冷熱的分類,咱們看看數據是怎麼應用的。

從這個ppt能夠看到,越冷的數據,越不能影響到線上的實時業務,起的做用也越小。如何利用好當前的數據,對於應用,效果會更好。看最下面的備註,特地說一下,這樣區分確實不嚴謹,可是從實踐的角度看,越是過去的東西對將來的指導意義是越差的。接着我說說咱們在實際應用中的一些觀點和想法;

這裏面主要是說一下分析和模型之間的差異,對公司來講,不一樣階段,重點會不一樣,對模型的態度也不一樣,咱們也花了很長的時間慢慢積累,纔會有一個又一個的應用。

右邊的圖主要是從數據應用的層面上說的,裏面沒有提到DW層,可是DW層是地基,沒有一個好的地基是沒有辦法說數據應用的。可是從價值上看,越往上,數據價值越大。

最後提一下,咱們可能會有一個誤區,我要追求100%準確的數據,實際上,咱們的數據很難100%準確,特別是像用戶行爲數據,任何一種採集方式都會有PV漏記、錯記的狀況。咱們要能容忍必定的數據採集誤差,在現有的數據中看一下怎麼利用數據創造價值。反過來講,若是數據一直都存在這個誤差,那麼對你將來的應用影響就小,數據已經適應了你的誤差。說了模型這麼多好話,咱們看看一個算法應用的完整閉環是怎麼樣的。

這裏提一下標紅色部分,人工和風控。在算法應用到線上的過程當中,人工經驗、人工過濾以及風控會起到很關鍵的做用。若是沒有作到這點,那麼在實際應用中會大打折扣。

就像我左下角寫的那樣,人是商業的CPU,決策過程當中要依賴人來調整方向。而風控是決定應用快慢的GPU,若是沒有作好風控措施,不只可能會致使業務損失也有可能讓算法沒有發揮出做用,後面的實例中我會提到一些。

2、模型評估

說了一些概念後,我先說說咱們怎麼評估模型,而後就講講咱們的實踐實例。

這裏列出了三種經常使用的模型評估方法,第一種A/BTest,用的最多,幾乎全部的項目若是沒有ABTest是不能拿出來說的。第二種是爲了替代A/BTest想到的簡單辦法,針對有些狀況下面很難作AB實驗。最後一種狀況是咱們評估+風控的方式,先上線模型,可是業務不採納模型結果,而後咱們用log來解析模型是否運轉正確,效果好很差。

說完了評估,咱們說說酒店服務用到了哪些模型;

按照預約流程,區分了預訂前、中、後流程,主要目的是爲了提高客戶體驗和提升服務效率。預訂前的主要目的是爲了讓信息更加準確、預訂中主要是爲了提高預訂效率和速度,預訂後就是爲了訂單風控、酒店風控和客人風控。左下還羅列了一些常見的算法應用,排序、推薦和畫像,這裏就不細說了。這邊說了一個總體的應用的架構,接下來我舉一些具體的例子。首先看第一個;

3、具體案例

訂單量預測的做用,咱們一個應用是用來作業務監控,作到了準實時,延遲一分鐘預測。右邊寫了應用的大體流程,跟我以前寫的算法應用閉環是同步的,從預測到應用,接下來咱們看看用了什麼算法。

其實就是簡單的ARIMA+季節係數+一些人工調整,把模型作了出來,沒有用很複雜的算法。最後的效果是平均偏差~5%。評估指標我也列了一下,主要是看漏報率,不一樣階段重點不一樣,在穩按期間,咱們比較關心誤報率,由於系統穩定了,咱們就要儘可能減小人力損失。關於預測偏差,我這裏也提到,預測老是有偏差的,不可能100%,咱們能夠根據咱們的預測的精準度來進行一些規則的設定,看最下面的規則,這個規則讓你有些彈性空間來防止預測錯誤致使的誤報。

在時效性上,咱們之前是吃過虧的,最老的版本咱們上線過T+1預測,就是預測昨天的結果,看昨天是否異常,咱們發現這個對業務一點幫助也沒有,你的業務損失已經產生了,再去看異常沒有特別大的做用,後面咱們就慢慢的提升了時效性並作了可視化,目前這塊的監控效果和可視化都很好,也監控了各關鍵KPI的異常狀況。

第一個例子說完了,接着看第二個例子。

可能有人以爲,怎麼會有怎麼長的確認時長,我在右邊的解釋了一下,而且羅列了相應的挑戰,針對這些挑戰,咱們是怎麼作的呢,繼續接着看。

咱們看一下舊流程和新流程的差異,最大的差異就是咱們在新流程中植入了一個預測模型,根據模型的預測結果來調整業務流程。這樣作的好處就是,之前回復慢的訂單要白白等待X分鐘,經過模型預測以後,咱們就調整了順序,把原來確認慢的訂單提前確認了,能夠提升確認速度。

這個應用點是個很好的一個案例,它讓咱們來思考那些流程有一樣的問題,促進咱們進行相應的優化。這個模型準確率爲93%,召回率53%,取得了一個不錯的效果。這是第二個案例,接着看第三個案例。

詢房模型,羅列了一下碰到的問題和須要解決的問題。針對這麼龐大的房態數據,若是用人肉的辦法確定是沒辦法作的很好的。針對這些問題和困難,咱們也花了很長的時間來去解決這個問題,最後的解決方案請接着看PPT。

咱們的解決方案見右邊的流程圖,核心是兩個模型和IVR自動化工具。

我稍微簡單的描述一下,簡單的說,針對關掉的房型,咱們會用自動開房模型預測出當前狀態下每一個房型的可定的機率score,咱們統計出score的準確率,在可接受的準確率下,把高於這個分數的房型所有自動打開,而後讓客人在網站上能夠進行預訂。針對那些不能自動打開的房型,咱們會把這些房型放在詢房看板上去。

另一邊,針對如今可訂的房型,咱們去預測房型無房的機率,而後把這些數據放在詢房看板上。

這樣咱們的詢房看板上就有兩部分的得分結果,開房分數和關滿房分數,針對這些房型,咱們有個IVR自動外呼工具把機率高的房型優先外呼到酒店,若是酒店告知房態有變化,咱們會作對應的房態變動。

經過這一整套流程,咱們徹底實現的開房和關房的自動化,針對高準確率的房型,系統自動操做。對準確率不高的房型,咱們採用酒店介入(即人工介入)的方式來平攤風險,把損失降到最低。

因此決策過程當中,會有不少人工的接入,而後針對風險的高低,咱們會有不一樣的風控和措施,這樣的結合才能讓算法的做用最大化。這個案例針對那些數據量大,花費人力多,重複性工做多的事情具備很大的啓發意義。

案例三說完了,接着說第四個案例吧。

用戶價格偏好,是用戶畫像的一個很小的子集。爲何會單獨拎出來講,我等會講。

咱們先看看咱們碰到了什麼問題,一個用戶根據不一樣場景,價格是一直在波動的,我提供了一個例子,某個客人在歷史上的消費價格。咱們後面用了一個算法來進行預測,沒有用簡單的規則來刻畫用戶價格偏好,花這麼多力氣作這個預測是由於猜中了客人的價格偏好,對產品和推薦都頗有幫助。

看一下咱們是怎麼作的,圖裏面羅列了相應的思考維度,用了xgboost來進行預測。咱們考慮了不少的實時場景,包括了客人的入住天距離節假日的天數,區域、星級緊張度等,這都是爲了刻畫客人在當前狀態中會變成什麼樣。

最後這個模型的效果還能夠,77%的用戶預測價格和實際價格誤差在50元之內。模型說完了,看看這個應用給咱們的啓示。

這上面說了一件事情,畫像不是一成不變的,一直在變,要場景化。因此若是隻是爲了畫像而畫像的話,意義不大,咱們會根據應用場景的不一樣進行調整。

3、算法經驗分享

以上就是第二部分,算法的應用實踐分享,接着我分享一下在算法方面的經驗。

 

這個是咱們實驗下來比較好的模型項目流程,給你們參考一下,其中標黃色字體是咱們比較關心的,數據校驗是爲了讓模型產生效果,由於俗話說的好:垃圾進,垃圾出。接着說一下Feature Engineering的事情;

這個沒有特別好說的,跟其餘人的作法雷同。

提一下缺失值預測。若是咱們以爲某些變量對業務幫助很大,可是有必定量的缺失值,那麼咱們就會用另外一個模型來預測缺失值,作法就是取出關鍵變量不存在缺失值的樣原本進行訓練,而後再對有缺失值的變量進行預測。

而後說一下歸一化,咱們這裏沒有羅列,由於咱們如今用的經常使用的機器學習方法gbm,xgboost對量綱不敏感,因此咱們爲了減小數據分佈的損失較少作歸一化。大家在實際應用中,有些模型是必定要求你歸一化的,因此仍是須要進行歸一化處理。

類別變量處理方法羅列了一些,你們能夠找資料看一下。

這裏說一下模型融合方法,咱們經常使用這兩種,有對應的連接,你們看看資料,這裏不細說。

對整個模型的總結見圖。特地提一下倒數第二點,線下模型上線,根據線上數據進行調優。主要是擔憂線上上線過程當中有人爲失誤致使數據計算有誤差,因此能夠直接根據線上模型來進行模型優化來適應線上的開發錯誤,而且可以快速的定位出開發中的數據錯誤。

列了一下通常狀況下,分類算法的優劣對比,你們能夠試驗一下。算法經驗分享結束,咱們最後說一下上線架構。

4、模型上線架構

你們看一下模型API架構簡圖,咱們的開發語言是Java,咱們會用Java封裝模型的全部輸入參數,而後把模型訓練的結果存儲成文件xx.Rdata或者xx.Py文件,最後Java把模型結果常駐內存,最後去調用Rserver和Pyserver來進行預測。整個過程涉及的角色比較多。

最後說一下數據校驗,咱們很是關注的,羅列了一下咱們的經常使用校驗邏輯,供你們參考。個人分享就是這些,謝謝你們。

 

相關文章
相關標籤/搜索