酒店用機器學習,預測哪些客人會放鴿子
如今, 各大 OTA(Online Travel Agency)平臺極大地方便了人們的出行,酒店住宿、景點門票等,只需要動動手指就可以輕松完成預訂。
國內外酒店民宿預訂平臺,多達數十種
為了吸引更多用戶預訂,這些平臺會鼓勵商家設定較為寬松的取消預訂政策,比如可隨時免費取消,或限時免費取消等。
全球客房銷售量最大的網上酒店預訂網站 Booking(繽客網),就憑借可免費取消的優勢,深受廣大驢友喜愛。
不過,對于用戶來說,「免費取消」非常 nice,但對酒店來說,就很頭大了。訂單臨時被取消,通常會給酒店帶來以下損失:
- 被取消房間無法及時出售,酒店損失收入;
- 酒店降低價格出售被取消房間,減少了利潤
- 為了盡快訂出這些房間,酒店需要增加額外的宣傳、分銷渠道的費用;
在用戶可以隨時放酒店鴿子的情況下,酒店有沒有什么辦法,盡可能減少損失呢?
一位葡萄牙業務分析師(Business Analyst,簡稱 BA,這一職位相當于 IT 公司的產品經理) Manuel Banza,有超過 5 年的酒店管理從業經驗。他利用公開的歐洲酒店預訂平臺數據,發現了更容易取消訂單的用戶特點,以幫助酒店及時進行止損。
從近 12 萬條酒店預訂數據中,發現規律
作為一名數據科學愛好者,Manuel Banza 從數據科學和機器學習入手。
他首先對一個「酒店預訂需求數據集」(Hotel booking demand)進行了全面分析。該數據集包含了普通酒店和度假酒店共 32 個維度的數據,具體包括:
用戶國籍、預訂時間、住宿時間、成人和兒童或嬰兒的數量、訂單最終是否取消、用戶在此次訂單之前共取消訂單次數等信息。
Hotel Booking Demand
酒店預訂需求數據集
發布機構:葡萄牙里斯本大學
包含數量:共 119390 條數據,32 個維度
數據格式:csv
數據大小:16.9 MB(壓縮文件 1.3 MB)
地址:https://hyper.ai/datasets/14866
部分數據展示
通過統計,Manuel Banza 發現一年時間里,取消酒店訂單的用戶真不少。
2018 年 OTA 平臺 Booking 上的預訂訂單中,有 49.8% 的用戶取消了訂單;在 HRS Group 上,這一比例甚至高達 66%。整體來看,多家平臺在 2018 年平均預訂訂單取消率達到 39.6%。
各類預訂渠道被取消的訂單比例
接著,作者對數據進行了探索性分析,有以下幾個發現:
- 普通酒店和度假酒店相比,訂單更容易被客人取消;
- 春節和夏季的取消比例更大,而冬季的取消比例最低;
- 各種預訂渠道中,用戶在 OTA 平臺下單最多,同時 OTA 平臺上被取消訂單的也最多;
- 用戶預訂時間越早,不確定性越大,取消的概率越大
作者表示,預訂時間是分析酒店收益表現時,最重要的指標之一。分析結果表明,提前 1 年以上預訂的取消概率最高,為 57.14%;一周內預訂取消概率最低,為 7.73%。
預訂提前的天數(橫軸)與取消訂單概率(縱軸)成正比
看來,計劃越早越趕不上變化啊
機器學習模型:預測誰最可能「放鴿子」
對數據集進行全面分析后,作者開始建立預測訂單取消的模型。
第一步:數據清洗
首先,對數據集中缺失的值進行處理。如果該變量是數字變量,則必須用該特征的均值替換這些缺失值;如果該變量是分類特征,則必須用常數替換。
然后刪除 reservation_status(預訂狀態,該變量代表訂單是否被取消,0 為未取消,1 為取消),因為這是機器學習模型將要預測的值。
第二步:選擇最佳模型
在開始為數據測試最佳算法之前,將數據集按 8:2 的比例分開。之后將用 80% 的數據來訓練模型,并將 20% 的數據作為驗證集。
在數據科學領域,預測訂單取消是一個監督分類問題,也叫做二元分類。因此,作者選取了幾個現有的二分類模型如 LightGBM,CatBoost、XGBoost 及 H2O 等,進行訓練及對比,最終選出了實驗結果最佳的模型 CatBoost。
通過 CatBoost 預測結果,發現以下幾點:
- 如果用戶的國籍是葡萄牙,則取消訂單的可能性很高。不過,對于團體訂票來說,酒店一般不會事先得到每個人的國籍信息。如果訂單被取消,大多數酒店都會將其國籍默認為酒店所在的國家。所以,這項信息只作為參考,并不一定準確;
- 與至少提出一個特殊要求的用戶相比,未提出任何特殊要求的用戶,取消訂單的可能性更高;
- lead_time(預訂時間與入駐時間間隔天數)值越低,預訂被取消的可能性就越低(這一點預測結果與之前數據分析結果相一致)。
葡萄牙人氣酒店歐洲之星博物館,店內以考古展覽為特色
上線多個 OTA 平臺,支持在線預訂及免費取消
CatBoost 模型在驗證集上的表現:
在整個「酒店預訂需求」數據集上的表現:
酒店:在取消之前,讓我先搶救一波
使用這一預測模型,酒店就可以提前獲知哪些用戶可能取消訂單,及時采取補救措施。
比如,提前聯系取消可能性較大的用戶,通過溝通,讓他們盡可能更早地取消,給酒店預留更多的時間出售房間。
或者,也可以與有取消傾向的用戶聯系,向其介紹酒店的優點,給出一些入住獎勵,力挽狂瀾挽留他們。