«Скрізь як вдома»: Які технології використовує сервіс Airbnb

Компанія Airbnb була заснована в 2008 році в Сан-Франциско. Брайан Но і Джо Геббиа, засновники сервісу, ледве зводили кінці з кінцями, і щоб нашкребти грошей на оренду житла, вони дозволили незнайомцям ночувати на надувних матрацах у своїй квартирі.

Вже через рік Airbnb отримала $7 млн і повідомила про 700 тисяч операцій бронювання житла. Сервіс продовжив своє інтенсивний розвиток і на сьогоднішній день пропонує понад 2 000 000 будинків, квартир або кімнат у 192 країнах і 33 000 містах.

Однак щоб управляти такою величезною системою і контактувати з великою кількістю клієнтів і домовласників, складно обійтися без використання розумних алгоритмів і комп'ютеризованих систем. Ця тема здалася нам цікавою, тому ми підготували матеріал про те, які алгоритми та методики роблять життя компанії та її клієнтів простіше.


/ фото Lukas CC

Географічне моделювання

Одне з питань, на який Airbnb хоче надати відповідь – «Як дізнатися як там, де ви ніколи не були раніше?». На даний момент Airbnb відповідають на це питання наступним чином. Інженери компанії запровадили так звану модель визначення значущих місць, яка інформує клієнтів про цікавих пунктах, які знаходяться неподалік від зазначеної точки.

А щоб дізнатися, що ж такого цікавого в цих місцях, компанія пропонує скористатися гідом по районам, який дозволяє дізнатися про них кілька цікавих фактів і подивитися фотографії. Більш того, туристи можуть отримати рекомендації від самих домовласників, скориставшись написаними ними путівниками.

Ці сервіси, у створенні яких враховується думка клієнтів компанії, допомагають побудувати маршрут і відвідати всі місця, якими славиться той чи інший місто. Однак на картах зазначаються не всі точки. Часто пам'ятки «формують» самі жителі, позначаючи райони, наприклад, пов'язані якоюсь спільною історією.

Пошуком таких місць займається команда Зака Уолкера (Zack Walker), що досліджує історичні та поточні дані, обговорення на форумах і листи від власників будинків. Наприклад, якщо ви шукаєте «винний округ» в Північній Каліфорнії, то сервіс надасть на вибір або округ Напа, або округ Сонома зі списками відмінностей і переваг.

Щоб спростити роботу нанесення таких «народних» районів на карту, компанією використовується система AT-AT, названа на честь All-Terrain Armored Transport – крокуючого танка зі всесвіту «Зоряних Воєн». Вона дозволяє вручну задавати полігони різних форм на карті, позначаючи в їх властивостях такі параметри, як континент, країна, область, місто і т. д.

Однак керувати картою вручну не завжди зручно і ефективно, тому Airbnb створили для автоматичної розмітки карти по районах із застосуванням технологій машинного навчання. Перевагою такої системи є те, що вона працює швидше, ніж ручна версія, бо здатна оперативного розмічати райони для нових ринків.

Для цього використовується спеціально написана бібліотека aerosolve. Вона добре підходить для роботи з розрядженими інтерпретуються ознаками, які часто застосовуються в пошуку (наприклад, ключові слова, фільтри). Код бібліотеки, варіанти застосування, а також приклади, ви можете знайти за посиланням на GitHub.

Передбачення попиту і ціноутворення

Компанія Airbnb використовує алгоритми динамічного ціноутворення, коли орієнтовні ціни перераховуються щодня виходячи з поточної ринкової ситуації. Алгоритм налаштований таким чином, щоб враховувати наявність особливих властивостей виставляється житла.

Пропоноване житло в межах одного міста «розкидано» по різним районам, а інші позиції в списку можуть опинитися дачами, хатинами, замками або юртами, тому алгоритми компанії враховують три основних типи даних: подібність, новизну і місце розташування.

Для визначення подібності збираються і аналізуються кількісні параметри: скільки людей житло здатне вмістити, здається об'єкт цілком, кількість відгуків і т. д. Після цього ведеться оцінка того, скільки гості готові платити за конкретні позиції.

Параметр новизна потрібен тільки тому, що в туристичному бізнесі все дуже швидко змінюється, а при оцінці місця розташування житла складаються схематичні карти кварталів та районів у великих містах по всьому світу з урахуванням місцевих умов. Наприклад, у Лондоні вартість квартир в районі Грінвіч може в два рази перевищувати вартість житла в районі доків, розташованому на іншому березі річки. Такий підхід дозволяє точно визначати вартість позицій в базі даних з урахуванням географічних особливостей і структур: річок, озер, залізничних шляхів та інших.

Більше того, компанія перейшла до динамічного ціноутворення, вибравши модель машинного навчання, що називається класифікатор. Вона аналізує всі параметри позицій в БД виходячи з поточних вимог ринку, а потім прогнозує, наскільки успішно буде здаватися те чи інше житло.

Система вираховує рекомендовану вартість на підставі сотень параметрів зразок включеного в ціну сніданку, наявності ванни і навіть локальних свят. Наприклад, в місті Остіні проводиться щорічний фестиваль SXSW, тому у дні його проведення компанія очікує підвищення числа пропозицій від домовласників в цьому районі.

Виявлення аномалій в платіжній системі

Оскільки Airbnb працює в 190 країнах, компанії доводиться підтримувати величезну кількість валют і процесорів. Велику частину часу системи функціонують без проблем, але іноді доводиться стикатися з ситуаціями, коли, наприклад, певна валюта не може бути оброблена.

Щоб відловлювати ці відхилення так швидко, як це можливо, команда компанії створила систему виявлення аномалій, що працює в реальному часі. Це дозволяє відслідковувати помилки прямо в момент A/B-тестування нових методів платежів або під час запуску нових продуктів.

Основним завданням системи виявлення аномалій є пошук викидів у вибірці часових рядів. Для цього проводиться регресія методом найменших квадратів з введенням фіктивних змінних.

модель досить проста, і, як правило, досить точно визначає поточний тренд, однак у цьому випадку передбачається, що часові ряди налаштовані на щотижневу сезонність – модель не буде працювати з товарами, орієнтованими на інші сезонні патерни.

Якщо потрібно побудувати модель часових рядів, враховуючи і тренд, і сезонність, то використовується інша модель. Щоб показати, як вона працює, в блозі компанії наводиться приклад з комп'ютерними мишками і клавіатурами – автор проводить моделювання сезонність і трендів, намагається виявити аномалії.

Така велика компанія, як Airbnb, просто не може обійтися без постійного вдосконалення технологій і алгоритмів передбачення бажань користувачів і розподілу ресурсів. На виручку в цих питаннях їй приходять математика і машинне навчання – з їх допомогою сервіс здатний робити більше, забезпечуючи високий рівень сервісу і зручностей для клієнтів.

P. S. Додаткове читання:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.