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