- Search, Airbnb में Guest और Host को जोड़ने वाला मुख्य mechanism है
- Airbnb के search results दो रूपों में दिए जाते हैं
- list format (list-results, कार्ड के रूप में जहाँ stay की image, price, rating आदि दिखते हैं)
- map format (map-results, map पर price दिखाने वाले pins के रूप में)
- पहले का search ranking algorithm, दोनों formats में booking probability के आधार पर sort करके list बनाता था
- लेकिन map में results list नहीं बल्कि individual pins के रूप में दिखते हैं, इसलिए नए ranking approach की ज़रूरत पड़ी
map में क्या अलग है?
- list format में यह मान लिया जाता है कि ऊपर से नीचे जाते हुए user attention धीरे-धीरे कम होती है
- वास्तव में list में rank जितना ऊँचा होता है, CTR(Click-Through Rate) उतना ज़्यादा दिखता है
- map format में stays, map पर pins के रूप में बिखरे होते हैं, इसलिए rank के हिसाब से attention कम होने का नियम लागू नहीं होता और attention ज़्यादा समान रूप से बंटती है
- इसलिए map पर दिखने वाले stays को सिर्फ booking probability के क्रम में सीमित कर देना उतना प्रभावी नहीं है
समान user attention (Uniform User Attention) की modeling
- यह approach मानती है कि map में user attention सभी pins पर समान रूप से बंटती है
- लेकिन वास्तव में Guest सिर्फ कुछ ही pins पर click करते हैं, इसलिए बहुत ज़्यादा pins दिखाने पर अच्छे stays छूट सकते हैं, और बहुत कम pins दिखाने पर user की पसंद के stays बाहर हो सकते हैं
- समाधान:
- map पर दिखाए जाने वाले pins की संख्या सीमित करना, और सबसे ऊँची booking probability वाले items को चुनकर दिखाना
- A/B test के परिणाम:
- search करने वाले कम clicks में मनचाहा stay ढूँढ सके
- booking conversion rate बढ़ा, खासकर 5-star reviews का अनुपात बढ़ा
स्तरीकृत user attention (Tiered User Attention)
- map pins को दो tiers में बाँटा गया:
- regular pins: ऊँची booking probability वाले stays को price के साथ दिखाना
- mini pins: अपेक्षाकृत कम booking probability वाले stays को छोटे icon के रूप में दिखाना (price नहीं)
- प्रभाव:
- regular pins की CTR, mini pins से 8 गुना अधिक थी, जिससे user attention को ऊँची booking probability वाले stays पर बेहतर तरीके से केंद्रित किया जा सका
- खासकर desktop search में अधिक उपयुक्त results देना संभव हुआ
- A/B test में इस तरीके से भी booking performance बेहतर हुई
discounted user attention की modeling
- users, map में बीच में स्थित pins पर ज़्यादा click करते हैं
- इसलिए optimal center coordinates खोजने वाला algorithm विकसित किया गया, ताकि ऊँची booking probability वाले stays को map के केंद्र में रखा जा सके
- कई coordinate candidates का मूल्यांकन करके, सबसे ऊँची booking probability वाले stays के सबसे पास की location को नया center बनाया गया
- A/B test के परिणाम:
- booking conversion rate में 0.27% वृद्धि
- map को move करने की frequency में 1.5% कमी, यानी search करने वाले अपनी पसंद का stay अधिक आसानी से ढूँढ सके
निष्कर्ष और आगे की चुनौतियाँ
- users, list और map को अलग-अलग तरीके से समझते और interact करते हैं
- map search और list search में user behavior अलग होता है, इसे ध्यान में रखकर ranking approach में सुधार किया गया
- चरणबद्ध experiments के माध्यम से search experience में सुधार और booking conversion rate में वृद्धि हासिल की गई
- लेकिन अभी भी map में सभी stays को उचित तरीके से दिखाने का तरीका एक अनसुलझी चुनौती है
- इस विषय पर अधिक विस्तृत चर्चा और तकनीकी विवरण KDD ’24 में प्रस्तुत शोध-पत्र "Learning to Rank for Maps at Airbnb" में देखे जा सकते हैं
- आगे के research direction के रूप में और बेहतर तरीकों की खोज जारी रहेगी
1 टिप्पणियां
मैप पर ranking अभी भी सच में ऐसा क्षेत्र लगता है जहाँ आज़माने लायक बहुत-सी चुनौतियाँ बाकी हैं। ईमानदारी से कहूँ तो, यह थोड़ा हैरान करने वाला भी है। हाल ही में मैंने विदेश में Google Maps इस्तेमाल किया, लेकिन जिस स्तर की precision मैं चाहता था, उस स्तर तक restaurant search की conditions को संकुचित करना मुश्किल था। और मुझे जिस तरह के feel या tone वाले reviews चाहिए थे, उन्हें दिखाना तो जैसे अभी बहुत दूर की बात लगी। मैप बनाने वाली सभी इंडस्ट्री के लोगों को शुभकामनाएँ!!