新用戶(hù)登錄后自動(dòng)創(chuàng )建賬號
登錄對于計劃出租房屋的房主,你應該將房屋的租金設定為多少呢?或者對于租房的顧客而言,應該給自己的租房支付多少呢?不管是對于一次有計劃的遠足,還是一次說(shuō)走就走的旅行,為租房付出多少才真正合適呢?
回答這些問(wèn)題并不容易。事實(shí)上,可以通過(guò)將潛在的租房列在我們網(wǎng)站—Airbnb上來(lái)實(shí)現,Airbnb是一家聯(lián)系旅游人士和家有空房出租的房主的服務(wù)型網(wǎng)站,它可以為用戶(hù)提供各式各樣的住宿信息。
在焦點(diǎn)小組,我們觀(guān)察到人們在我們的網(wǎng)站上填寫(xiě)房屋信息的過(guò)程中,往往在價(jià)格選項上會(huì )顯得為難。很多人會(huì )查看他們的鄰居們所設置的價(jià)碼,然后選擇一個(gè)可比較的價(jià)格;這個(gè)過(guò)程會(huì )讓用戶(hù)在瀏覽器中打開(kāi)很多標簽,然后找出那些與他們接近的房源。有些人在填寫(xiě)信息之前,腦子里已經(jīng)有了一個(gè)目標,可能是為了賺取一些額外的資金,來(lái)幫助支付抵押貸款或度假費用。于是,他們開(kāi)出的價(jià)格主要是為幫助他們實(shí)現這一目標,反而沒(méi)有考慮房子真實(shí)的市場(chǎng)價(jià)值。而對于這其中的有些人,不幸的是,通常他們的房子都沒(méi)能被租出去。
顯然,Airbnb需要為人們提供一種更好的方式—自動(dòng)化定價(jià),以幫助顧客做出正確的決定。這就是我們?yōu)槭裁丛?012年就開(kāi)始構建定價(jià)工具,并至今一直在努力地改進(jìn)它們的原因。今年6月,我們發(fā)布了我們最新的版本。我們開(kāi)始實(shí)行動(dòng)態(tài)定價(jià),也就是說(shuō),根據不斷變化的市場(chǎng)條件每天提供新的價(jià)格提示。我們調整了我們的通用定價(jià)算法以考慮市場(chǎng)上一些偶然的、甚至是令人驚訝的特征。此外,我們還增加了一種獨特的機器學(xué)習方法,讓我們的系統不僅能從自己的經(jīng)驗中學(xué)習,而且必要時(shí)還能利用人的一些直覺(jué)。
在線(xiàn)網(wǎng)絡(luò )中,許多公司使用算法來(lái)設置或建議價(jià)格。以易趣為例,它會(huì )告訴用戶(hù)哪些類(lèi)似的產(chǎn)品已經(jīng)售出,以致用戶(hù)可以基于這些信息對自己的產(chǎn)品設置價(jià)格。易趣的定價(jià)問(wèn)題是相對容易解決的,因為它不用關(guān)心賣(mài)家和買(mǎi)家在哪里,也不需要是關(guān)心產(chǎn)品在什么時(shí)候出售。雖然在搭乘共享公司Uber和Lyft中,地域和時(shí)間都是需要考慮的因素,但是這兩家公司僅僅通過(guò)法令來(lái)確定價(jià)格,在定價(jià)方面并沒(méi)有用戶(hù)選項,也不需要考慮定價(jià)的透明性。
在A(yíng)irbnb上,我們面臨著(zhù)一個(gè)異常復雜的問(wèn)題。我們網(wǎng)站上的數百萬(wàn)房源都是獨一無(wú)二的,它們有自己的地址、大小和裝飾。顧客在接待、飲食或旅游引導方面的要求也不盡相同。一些規律的(如季節性天氣變化)和不規律的(如本地的大型活動(dòng))因素都會(huì )讓問(wèn)題變得更加復雜。
三年前,通過(guò)利用房源信息中最重要的一些特征,如房間和床鋪的數量、周?chē)沫h(huán)境、以及某些特殊的設施(如停車(chē)位、游泳池等),我們開(kāi)始構建一個(gè)為潛在用戶(hù)提供價(jià)格提示的工具。我們在2013年正式將它推出,它在大多數情況下工作得很好。但它也存在局限性:
第一,其定價(jià)算法的工作方式是不變的。
舉個(gè)例子,假如我們考慮俄勒岡州波特蘭市珍珠區的情況,如果設定河邊的房子的價(jià)格比遠離河邊的房子的價(jià)格要高,除非我們手動(dòng)地對這些指標進(jìn)行變更,否則該算法將永遠這樣執行。
第二,我們的定價(jià)工具并不是動(dòng)態(tài)的,并不會(huì )根據你預定房間的時(shí)間或有多少人在同一時(shí)間預定而對價(jià)格提示做出調整。
自去年年中以來(lái),我們一直在試圖改變這種狀況。我們想構建一個(gè)工具,其能夠通過(guò)與用戶(hù)進(jìn)行交互而從錯誤中獲得提高。我們也希望使用該工具來(lái)調節需求,在必要的時(shí)候,可以在房間空余時(shí)給出價(jià)格下降的提示,或根據需求增加給出價(jià)格增長(cháng)的提示。我們現在已經(jīng)解決了這些問(wèn)題,并且在今年6月份的時(shí)候用戶(hù)已經(jīng)開(kāi)始使用這一新工具。接下來(lái),我們將告訴你這些工具是如何不斷改進(jìn)的,并且它們現在是如何工作的。我們還會(huì )告訴你,為什么我們最新的工具—Aerosolve,除了對租賃的房屋進(jìn)行定價(jià),最終還可以做的更多。這也是為什么我們將其發(fā)布到開(kāi)源社區的原因。
三個(gè)簡(jiǎn)單的例子
為了得到解決這個(gè)問(wèn)題的思路,我們首先舉三種簡(jiǎn)單的情況。
比如,去年足球世界杯期間你居住在巴西。你的家鄉會(huì )涌入大量來(lái)自于世界各地的游客,聚集在一起享受這個(gè)星球上最偉大的足球比賽。如果此時(shí)你的房子里正好有空余的房間,你也想滿(mǎn)足其他足球愛(ài)好者的需求,順便賺取一些額外的現金,就可以將它們租出去。
為了幫助你設置合理的價(jià)格,我們的工具需要考慮幾個(gè)因素:
首先,在這個(gè)國家,這是一代人才可能經(jīng)歷一次的事情,所以我們在A(yíng)irbnb上絕對沒(méi)有歷史數據可供參考。
其次,所有酒店都被預定一空,供需之間巨大的不平衡此時(shí)尤為明顯。
第三,人們來(lái)旅游的時(shí)候,他們已經(jīng)在機票和國際旅行上花了很多錢(qián),因此他們也已經(jīng)準備為住房花上一筆。
因此,除了房間大小、房間數量和位置等因素,這些因素也都應該被考慮進(jìn)去。
或者,想象你在蘇格蘭高地繼承了一座城堡,為了支付清理護城河、經(jīng)營(yíng)酒廠(chǎng)、以及飼養獵鷹的成本,你決定將炮塔改造成一個(gè)提供早餐和住宿的旅館。不同于世界杯的情況,此時(shí)你有一些可比較的數據,那就是附近的城堡。一些數據可能跨越了很多年,提供了有關(guān)旅行的一些季節性信息。而且你知道,因為該地區還有其他的住宿選擇,此時(shí),對于旅游租房的供應和需求相當平衡。然而,這種特殊的城堡在蘇格蘭是獨一無(wú)二的,其擁有獨特的雙護城河。系統應該如何評價(jià)這些特有的功能的價(jià)值呢?
再看最后一個(gè)例子:假設你在巴黎擁有一個(gè)典型的兩居室公寓。當你決定在8月份休假數周,并向南去往蒙彼利埃,此時(shí)想把房子租出去。此時(shí)存在很多可比較的房源,所以它是相對容易定價(jià)的。但是,當有很多人對你的房子產(chǎn)生興趣的時(shí)候,你決定開(kāi)始逐步提高價(jià)格,以最大限度地賺取更多的現金。但這是一個(gè)棘手的問(wèn)題,如果你定價(jià)太高,或預定日期太緊迫,將面臨賺不到任何錢(qián)的可能,這時(shí)該怎么辦?或者相反的情況,你一開(kāi)始設置了較低的價(jià)格,雖然在接下來(lái)的幾個(gè)月里就會(huì )承擔較小的風(fēng)險,可是卻賺了更少的錢(qián)。我們應該如何幫助房主獲得更好的信息,以避免這種不確定性和遺憾呢?
這些都是我們所面臨的各種各樣的問(wèn)題。我們想構建一個(gè)易于使用的工具,當用戶(hù)決定出租自己的房子的時(shí)候,為他們提供有用的信息,同時(shí)為定價(jià)提示給出明確的理由。
工具的整體架構
對于我們的工具,其整體架構出奇簡(jiǎn)單:當一個(gè)新房主開(kāi)始在我們的網(wǎng)站上添加一個(gè)房源的時(shí)候,我們的系統提取房源的關(guān)鍵屬性,查看在這區域中有相同或相似屬性的、且被成功預定的房源,同時(shí)考慮到需求要素和季節性特征,提供一個(gè)居中的價(jià)格提示。
當我們試圖將這個(gè)問(wèn)題描述清楚的時(shí)候,最棘手的問(wèn)題出現了,即房源的哪些屬性是關(guān)鍵屬性。沒(méi)有兩個(gè)房源在設計和布局上是相同的,房源也分布在城市的每一個(gè)角落,而且很多都不是公寓或別墅,而是城堡和小屋。我們的工具選擇了三大類(lèi)型的數據來(lái)設置價(jià)格:相似性、新舊程度和位置。
對于相似性數據,一開(kāi)始查看所有已知的可量化的房源屬性,然后看哪些房源與顧客計劃支付的價(jià)格最接近。之后看房間里可以住多少人,是一個(gè)大的集體宿舍還是小的私人房間,以及住房的類(lèi)型(公寓、城堡、蒙古包等)和評論數量。
這里最令人驚訝的屬性也許是評論數量。事實(shí)證明,人們愿意為有很多評論的房源進(jìn)行支付。而針對買(mǎi)什么以及向誰(shuí)買(mǎi)等問(wèn)題,亞馬遜、eBay和許多網(wǎng)站都靠評論幫助用戶(hù)進(jìn)行選擇,但評語(yǔ)數量是否會(huì )導致價(jià)格有很大的區別目前并不清楚。對我們來(lái)說(shuō),與沒(méi)有任何評論相比,即使只有一條評論也會(huì )導致房源有一個(gè)巨大的價(jià)格差異。
我們也考慮了新舊程度,因為市場(chǎng)變化頻繁,特別是旅游業(yè)。最重要的是,旅游是一種季節性很強的活動(dòng),所以在進(jìn)行分析的時(shí)候,重要的是基于現在的數據,或者去年這個(gè)時(shí)候的數據,而上個(gè)月的數據可能關(guān)聯(lián)性很小。下圖給出了一個(gè)例子,說(shuō)明季節性需求和當地的活動(dòng)會(huì )導致房屋出租價(jià)格起伏,在得克薩斯州奧斯汀市,在South by Southwest(SXSW)和Austin City Limits festivals音樂(lè )節期間,房屋出租價(jià)格會(huì )上漲。
對于像倫敦和巴黎這樣高度發(fā)達的市場(chǎng),獲得市場(chǎng)數據是很容易的,在我們的網(wǎng)站上有成千上萬(wàn)被預定的房源可供比較。對于新興市場(chǎng),我們按照大小、旅游業(yè)的發(fā)展水平以及在A(yíng)irbnb上所處的增長(cháng)階段,將它們進(jìn)行分類(lèi)。這樣,我們不僅僅能夠將其與所在城市的房源進(jìn)行比較,而且可以與其他具有相似特征的市場(chǎng)相比較。因此,如果來(lái)自于日本的一個(gè)房主第一次在A(yíng)irbnb進(jìn)行注冊,計劃出租一套位于京都的公寓,我們不妨查看來(lái)自于東京或岡山的房源,如果Airbnb上沒(méi)有這些城市的數據,我們還可以與來(lái)自于阿姆斯特丹的房源進(jìn)行比較,因為對于A(yíng)irbnb來(lái)說(shuō),阿姆斯特丹是一個(gè)比較成熟的市場(chǎng),而且它與京都具有接近的城市規模和旅游業(yè)水平。
最后,我們需要考慮位置,對我們來(lái)說(shuō),這是一個(gè)與酒店相當不同的問(wèn)題。酒店通常成片地分布在幾個(gè)主要的地點(diǎn),而我們的房源幾乎分布在城市的每一個(gè)角落。
在我們的定價(jià)算法的早期版本中,算法以房源為中心繪制一個(gè)不斷擴大的圓圈,考慮在房源位置附件不同半徑上與其特征相似的房源。這種方法有的時(shí)候工作的很好,但我們最終發(fā)現一個(gè)重要的缺陷。想象我們在巴黎有一套公寓。如果公寓是位于市中心,那么我們將圓圈不斷擴大時(shí),它會(huì )迅速開(kāi)始覆蓋塞納河兩側非常不同的街區。在巴黎,雖然在塞納河兩邊的房子都不錯,但僅僅相隔百米距離的公寓都會(huì )有非常大的價(jià)格差異。在其他的一些城市,有時(shí)這個(gè)問(wèn)題會(huì )顯得更加明顯。在倫敦,舉例來(lái)說(shuō),僅僅相隔一條泰晤士河,格林尼治地區的價(jià)格可以超過(guò)倫敦碼頭附近的兩倍。
因此,我們讓一個(gè)制圖員在世界各地主要的一些大城市中為每一個(gè)街區繪制邊界。這些信息的創(chuàng )建是非常準確的,通過(guò)使用相關(guān)的地理空間數據,如周?chē)暮恿?、公路和運輸線(xiàn),我們能夠對房源進(jìn)行準確分類(lèi)。
現在,這些問(wèn)題得到了解決。例如,在十月份的第一個(gè)周末,如果想在倫敦租住一個(gè)二人標間,泰晤士河邊上格林尼治地區的價(jià)格提示是130美元一晚,而河對岸具有類(lèi)似條件的房間的價(jià)格提示僅僅是60美元一晚。以前的算法讓系統為很多新的房源給出一個(gè)99美元的價(jià)格提示,沒(méi)有考慮它們的具體特征。雖然這不是長(cháng)時(shí)間發(fā)生,也不是在每一個(gè)地區都這樣,但我們認識到,當這種情況發(fā)生的時(shí)候,可能會(huì )導致人們質(zhì)疑我們的定價(jià)工具是否有效。
動(dòng)態(tài)定價(jià)與算法自動(dòng)學(xué)習
隨著(zhù)時(shí)間的推進(jìn),我們不斷改進(jìn)我們的算法,直到他們能夠考慮數千種不同的因素,并在非常精細的水平上理解地理位置。但該工具仍然存在兩個(gè)不足。
其一,它給出的這些價(jià)格提示是靜態(tài)的。事實(shí)上,在了解了當地的一些活動(dòng)和旅游的季節性變化之后,它應該在一年之中不同的季節為相同屬性的房源建議不同的價(jià)格。但它并沒(méi)有這樣做,然而,航空公司卻會(huì )當日期臨近的時(shí)候改變機票價(jià)格,訂單減少時(shí)將價(jià)格下調,在市場(chǎng)升溫時(shí)將價(jià)格提高。
另外一個(gè)不足是,工具本身是靜態(tài)的。事實(shí)上,當工具能夠挖掘到前所未有的歷史數據的時(shí)候,它的價(jià)格提示有所改善,但算法本身并沒(méi)有變得更好。
去年夏天,我們開(kāi)始了一個(gè)項目,以解決這兩個(gè)問(wèn)題。
在動(dòng)態(tài)定價(jià)方面,我們的目標是為每個(gè)房主,針對他們的房子計劃出租的日期,每天給出一個(gè)新的定價(jià)提示。動(dòng)態(tài)定價(jià)其實(shí)并不新鮮。航空公司開(kāi)始動(dòng)態(tài)調整機票價(jià)格已經(jīng)幾十年了,而且常常是實(shí)時(shí)的,以試圖確保最大的滿(mǎn)座率,以及每個(gè)座位賣(mài)出最高的價(jià)格。酒店業(yè)也是這樣,隨著(zhù)連鎖的規模變得越來(lái)越大,酒店的業(yè)務(wù)數據量不斷增長(cháng),酒店營(yíng)銷(xiāo)也被搬到網(wǎng)上,使得連鎖每天可以多次變動(dòng)價(jià)格。
因此,我們需要對動(dòng)態(tài)定價(jià)進(jìn)行投資,一旦我們有好幾年的歷史數據,我們就可以挖掘它們,盡管這需要大量的計算資源,但對我們來(lái)說(shuō)具有非常大的意義。
讓算法自身不斷改進(jìn)要更加困難,尤其是因為我們希望系統給出的價(jià)格提示具有高的可解釋性。在某些情況下,我們希望算法能夠有自己“思維過(guò)程”,能夠從數據中學(xué)習而獲得提高。機器學(xué)習系統通常具有一定的規模和復雜度,常常以一種神秘的方式工作。
例如,谷歌大腦學(xué)習了在網(wǎng)絡(luò )視頻中找出貓臉的能力,通過(guò)一個(gè)多層模型對數據進(jìn)行分類(lèi),然后得出一個(gè)視頻是否包含貓臉的結果,而這個(gè)工作對于人類(lèi)來(lái)說(shuō)幾乎是不可能復制的。
我們選擇了一個(gè)分類(lèi)機器學(xué)習模型。它使用房源的所有屬性以及當前市場(chǎng)的需求,然后預測其是否將被預定。系統計算價(jià)格提示是基于數百個(gè)屬性,如是否包含早餐、房間是否有一個(gè)私人浴室等。我們通過(guò)將價(jià)格提示與結果進(jìn)行比較,對系統進(jìn)行訓練??紤]房源是否以一個(gè)特定的價(jià)格被預訂,將幫助系統調整其價(jià)格提示以及評估一個(gè)價(jià)格被接受的概率。當然,房主可以選擇比價(jià)格提示更高或者更低的價(jià)格,然后我們的系統也會(huì )對估計概率做相應地調整。系統之后會(huì )檢查房源在市場(chǎng)上命運,并使用這些信息來(lái)調整未來(lái)的提示。
下面就是機器學(xué)習發(fā)揮作用的時(shí)候了。通過(guò)分析哪些價(jià)格提示獲得了成功,我們的系統開(kāi)始調整不同房源屬性的權重。我們一開(kāi)始也會(huì )做一些假設,例如地理位置非常重要,而是否有熱水浴缸沒(méi)有那么重要。我們保留了以前的定價(jià)系統中所考慮的某些房源屬性,同時(shí)又添加了一些新的屬性,如“預定日期之前的剩余天數”,這些信息對我們的動(dòng)態(tài)定價(jià)產(chǎn)生影響。所有新的信息被考慮到模型中,都是通過(guò)我們對歷史數據的分析,表明它們與我們的動(dòng)態(tài)定價(jià)能力是相關(guān)的。
例如,某些照片更可能吸引預訂??偟内厔菘赡軙?huì )讓你大吃一驚,時(shí)尚、明亮的客廳的照片,雖然易于得到專(zhuān)業(yè)攝影師的偏愛(ài),但相比于用暖色調裝飾的、舒適的臥室的照片,它們并沒(méi)能吸引更多的潛在客人。
隨著(zhù)時(shí)間的推移,我們期待各種信息的權重能不斷自動(dòng)改進(jìn),以提高我們的價(jià)格提示。如果我們相信我們所了解到的一些東西,模型并沒(méi)有刻畫(huà)清楚,我們也可以通過(guò)其他方式參與和影響權重的設置。我們的系統能夠為每個(gè)定價(jià)提示產(chǎn)生一個(gè)各種因素及相應權重的列表,提高工具的可解釋性,這也是大家所希望看到的。如果我們覺(jué)得有些信息在模型中沒(méi)有被很好地描述,我們會(huì )手動(dòng)地將它們添加到模型中。
我們的系統也在不斷地調整我們的地圖以反映街區邊界的變化。因此,系統并不是依賴(lài)于當地的地圖,比方說(shuō),一個(gè)當地的地圖可能告訴我們波特蘭開(kāi)拓者隊的恩光街區在哪個(gè)地方結束,里士滿(mǎn)街區從哪個(gè)地方開(kāi)始,但這并不是我們所關(guān)心的,我們依靠一個(gè)城市中房源的預訂和價(jià)格的分布數據來(lái)描繪各種曲線(xiàn)。這種做法也讓我們發(fā)現了我們以前所沒(méi)有意識到“微街區”。這些地區可能有大量的流行的房源,但它們并不一定與標準的街區邊界相匹配,或者可能存在一些局部特征,依據它們將一個(gè)較大的傳統街區分為一個(gè)個(gè)小的部分可能更加理想。下圖給出的例子,是我們的工具所劃分的倫敦的“微街區”分布。
今天,這些工具為來(lái)自于全球的Airbnb房源提供價(jià)格提示。但是,我們認為這些工具除了幫助潛在的房主為在線(xiàn)出租服務(wù)更好地設置合理的價(jià)格之外,事實(shí)上它還可以做得更多。這就是為什么我們將這些工具所基于的機器學(xué)習平臺(Aerosolve)作為一個(gè)開(kāi)源工具發(fā)布的原因。它將給那些還沒(méi)有接觸過(guò)機器學(xué)習的從業(yè)人員一個(gè)簡(jiǎn)單的切入點(diǎn)。通過(guò)弄清楚系統的功能,它會(huì )讓更多人使用這些工具,這也是作者寫(xiě)作本文的目的。到目前為止,我們已經(jīng)用它來(lái)構建了一個(gè)系統,能夠以一種點(diǎn)彩畫(huà)的風(fēng)格進(jìn)行繪畫(huà)。我們渴望看到我們行業(yè)以外的有創(chuàng )造性的工程師開(kāi)始使用這些工具,并期待他們最終的成果。
關(guān)于作者
Dan Hill,Airbnb的產(chǎn)品主管。Hill寫(xiě)出了Airbnb的定價(jià)算法,他還與人合伙創(chuàng )辦了家庭共享公司Crashpadder,其在2012年被Airbnb收購。Hill一開(kāi)始做Web開(kāi)發(fā)是為了支持他的小提琴手事業(yè)。他在最近的一次采訪(fǎng)中說(shuō)到,“有一天當我醒來(lái)的時(shí)候,突然意識到我真的沒(méi)有被小提琴所眷顧”。對于他的下一步想法,Hill表示,“我真的想用我的一生致力于技術(shù)和產(chǎn)品”。