Link Tableau: https://public.tableau.com/app/profile/imam.mulyana/viz/AirbnbListingsinBangkok/MainDashboard?publish=yes
Proyek ini adalah analisis berbasis Data Science untuk membongkar faktor penentu harga (pricing) dan tingkat okupansi (occupancy) pada pasar Airbnb di Bangkok. Tujuan utama dari analisis ini adalah untuk memaksimalkan profitabilitas bagi investor melalui strategi spasial berbasis data.
Lonjakan pariwisata pascapandemi di Bangkok memicu persaingan lebih dari 15.000 listing Airbnb, menciptakan ketimpangan pasar di mana fasilitas premium tidak lagi menjamin tingginya tingkat hunian. Oleh karena itu, pendekatan analisis data spasial untuk mengukur dampak strategis jarak ke pusat kota (CBD), akses transportasi, dan destinasi wisata menjadi sangat krusial guna memecahkan paradoks tersebut dan merumuskan strategi optimalisasi okupansi
" Bagaimana pengaruh jarak ke pusat kota, akses transportasi umum, dan destinasi wisata terhadap performa listing? "
Data yang digunakan merupakan kombinasi dari 3 dataset yaitu Airbnb Listing Bangkok, Public Transpotation Bangkok, dan Destination Bangkok. Dimana dalam berbagai proses explorasi berhasil bertambah beberapa data juga. Final Data:
| No | Feature | Description |
|---|---|---|
| 1 | id_listing | ID unik untuk setiap properti (listing) di Airbnb |
| 2 | listing_name | Judul atau nama properti yang ditampilkan kepada calon tamu |
| 3 | id_host | ID unik dari pemilik properti (host) |
| 4 | host_name | Nama panggilan pemilik properti |
| 5 | neighbourhood | Area, distrik, atau wilayah administratif tempat properti berada |
| 6 | latitude_listing | Titik koordinat lintang dari lokasi properti |
| 7 | longitude_listing | Titik koordinat bujur dari lokasi properti |
| 8 | room_type | Kategori ruangan yang disewakan (Entire home/apt, Private room, Hotel Room, Shared room) |
| 9 | price | Harga sewa properti per malam |
| 10 | minimum_nights | Syarat jumlah malam minimal bagi tamu untuk dapat melakukan pemesanan |
| 11 | number_of_reviews | Total ulasan kumulatif yang pernah diterima properti |
| 12 | last_review_date | Tanggal ketika tamu terakhir kali memberikan ulasan |
| 13 | reviews_per_month | Rata-rata jumlah ulasan yang diterima properti setiap bulan (indikator tingkat okupansi) |
| 14 | host_listings_count | Total jumlah properti yang dikelola oleh satu host yang sama |
| 15 | availability_days_365 | Jumlah hari kalender properti tersedia untuk disewa dalam 1 tahun ke depan |
| 16 | number_of_reviews_last_12_months | Jumlah ulasan yang diterima properti dalam 12 bulan terakhir |
| 17 | dist_to_cbd_km | Jarak garis lurus dari properti ke pusat kota / CBD dalam km |
| 18 | min_dist_to_transit_km | Jarak terdekat dari properti ke stasiun transportasi umum terdekat dalam km |
| 19 | transit_count_1km | Jumlah stasiun transportasi umum dalam radius 1 km dari properti |
| 20 | nearest_transit_name | Nama stasiun transportasi umum terdekat |
| 21 | nearest_transit_service | Jenis atau penyedia layanan transportasi terdekat (ARL, BTS, MRT) |
| 22 | nearest_transit_line | Rute spesifik dari layanan transportasi terdekat |
| 23 | nearest_transit_lat | Koordinat lintang stasiun transportasi terdekat |
| 24 | nearest_transit_lon | Koordinat bujur stasiun transportasi terdekat |
| 25 | min_dist_to_destination_km | Jarak terdekat properti ke wisata atau area komersial utama (km) |
| 26 | destination_count_3km | Jumlah wisata/komersial dalam radius 3 km dari properti |
| 27 | nearest_destination_name | Nama lokasi wisata/komersial terdekat |
| 28 | nearest_destination_lat | Koordinat lintang destinasi wisata terdekat |
| 29 | nearest_destination_lon | Koordinat bujur destinasi wisata terdekat |
| 30 | host_type | Klasifikasi tipe host |
| 31 | days_since_last_review | Jumlah hari sejak ulasan terakhir hingga data diambil |
| 32 | listing_activity | Kategori aktivitas listing di platform |
| 33 | has_transit_keyword | Boolean (True/False) apakah judul listing mengandung kata kunci transportasi |
| 34 | has_luxury_keyword | Boolean (True/False) apakah judul listing mengandung kata kunci mewah |
| 35 | availability_tier | Klasifikasi ketersediaan properti |
| 36 | cbd_radius_tier | Pengelompokan area berdasarkan jarak ke CBD |
| 37 | is_walkable_trans | Boolean apakah stasiun terdekat dapat ditempuh dengan berjalan kaki (≤ 0.5 km) |
| 38 | transit_radius_tier | Kategori jarak properti ke stasiun transportasi |
| 39 | destination_radius_tier | Kategori jarak properti ke destinasi wisata |
Proses yang dilakukan secara umum:
- Business Understanding
- Data Understanding
- Exploratory Data Analysis
- Uji Normalitas
- Uji Hipotesis
Library yang digunakan:
| No | Library | Description |
|---|---|---|
| 1 | pandas | Library untuk manipulasi dan analisis data berbentuk tabel, seperti membaca, membersihkan, dan mengolah dataset |
| 2 | numpy | Library untuk komputasi numerik dan operasi array, termasuk fungsi matematika yang digunakan dalam perhitungan seperti Haversine |
| 3 | missingno | Library untuk visualisasi data yang hilang (missing values) dalam dataset |
| 4 | matplotlib | Library dasar untuk membuat visualisasi data seperti grafik, plot, dan chart |
| 5 | seaborn | Library visualisasi data berbasis matplotlib yang menyediakan grafik statistik yang lebih informatif dan estetis |
| 6 | math | Library standar Python yang menyediakan fungsi matematika dasar |
| 7 | plotly | Library untuk membuat visualisasi data interaktif seperti grafik interaktif dan dashboard |
| 8 | scipy.stats.normaltest | Fungsi dari SciPy untuk melakukan uji normalitas data |
| 9 | scipy.stats.kruskal | Fungsi dari SciPy untuk melakukan uji statistik non-parametrik Kruskal-Wallis |
Performa listing Airbnb di Bangkok ditentukan oleh 3 faktor utama lokasi:
- Area CBD (0–2 km) punya harga tinggi (1.800 THB) tapi okupansi rendah (0.50). Sebaliknya, City Center (2–5 km) jadi “zona emas” dengan okupansi lebih tinggi (0.69) dan harga lebih seimbang (1.698 THB). Wisatawan lebih memilih keseimbangan antara harga dan manfaat dibanding prestise lokasi inti CBD.
- Akses ≤500 m ke transportasi umum menaikkan okupansi dan harga. Area walkable stabil dengan nilai okupansi 0.86 dan harga 1.679 THB, sementara titik interchange seperti Asok unggul dengan niali 1.48 booking dan harga 2.382 THB. Wisatawan lebih memprioritaskan mobilitas cepat dibanding lokasi ramai tanpa akses transit.
- Kedekatan dengan pusat wisata (≤1 km) jadi faktor kunci yang membuat properti lebih kompetitif, host bisa memasang harga premium sekitar 2.051 THB sambil tetap menjaga okupansi tinggi sekitar 93% di atas rata-rata. Area ini menjadi “zona aman” investasi karena permintaan stabil wisatawan lebih memprioritaskan akses cepat ke wisata dibanding fasilitas properti
- Strategi yang berfokus pada margin (harga premium) paling optimal dijalankan pada properti di sekitar Central World atau pusat CBD. Sebaliknya, strategi yang berfokus pada Volume (tingkat okupansi) menuntut kedekatan dengan stasiun BTS/MRT. Pada akhirnya lokasi strategis adalah fondasi utama, namun optimasi Judul Listing (SEO), tipe kamar, kepadatan tempat wisata, fasilitas dan jenis durasi bisa menjadi pengaruh lain diluar faktor spasial atau jarak

