Student's name | SCIPER |
---|---|
Harkeerat Singh Sawhney | 394887 |
Daniela Gjorgjieva | 376745 |
Imane Jennane | 310900 |
EuroBnB Insights is a web dashboard for interactive data visualization and analysis of Airbnb listings across ten major European cities: Amsterdam, Athens, Barcelona, Berlin, Budapest, Lisbon, London, Paris, Rome, and Vienna.
Our goal is to help travelers, hosts, and city planners understand how short-term rentals differ and converge across Europe, using data-driven visualizations and comparative metrics.
-
Clone the repo:
git clone https://github.com/com-480-data-visualization/eurobnb-insights.git
-
Install dependencies:
npm install
-
Start the app:
npm run dev
-
View in browser:
Go tohttp://localhost:3000
(or as instructed in your terminal).
- 📀 Dataset:
- The dataset used for this project is available in the "Dataset" folder as "eurobnb_dataset.csv" or directly via this link
- 📄 Milestone 1 Report
- The report for Milestone 1 is available in the "Milestone-1" folder as "Milestone_1_Dataviz.pdf" or directly via this link.
- 📄 Milestone 2 Report:
- Available in the "Milestone-2" folder as "Milestone_2_Dataviz.pdf" or directly via this link.
- 🌐 Prototype Website:
- Access the prototype online here.
- 📄 Process Book
- The process book for Milestone 3 is available in the "Milestone-3" folder as "Process_Book.pdf" or directly via this link
- 🌐 Final Website
- The final website is available online here.
- 📹 Screencast
- The screencast demonstrating the final dashboard can be found here. You will need to download the file to view it.
- Interactive Map: Explore spatial distribution of Airbnb listings by city and district. Filter by price, room type, satisfaction, and more.
- Colorful District Maps: Visualize listings and rental patterns by neighborhood with custom GeoJSON boundaries (Amsterdam featured).
- Scatter Plots: Analyze the relationship between price and guest satisfaction for weekdays vs weekends.
- Radar Charts: Compare cities and room types across multiple variables like price, cleanliness, and amenities.
- Bar Charts: Track pricing and satisfaction patterns across cities and between weekdays and weekends.
- Treemaps: Instantly see which districts have the most listings and how they compare on quality or affordability metrics.
- Responsive Design: The dashboard works on desktop and mobile for easy exploration.
The project is based on detailed Airbnb datasets for each city, split into weekday and weekend snapshots.
Each processed file includes variables such as:
realSum
: Price for a two-night weekend stay (in euro)room_type
: Entire home/apt, private room, shared roomperson_capacity
: Max guestshost_is_superhost
: Superhost flagcleanliness_rating
: 0–10 scaleguest_satisfaction_overall
: 0–100 scaledist
: Distance to city center (km)metro_dist
: Distance to nearest metrodistrict
: Neighborhood/district label- Plus normalized scores for nearby restaurants, attractions, and spatial coordinates (
lng
,lat
)
All data is standardized across cities for fair comparisons and smooth visual integration.
- Interactive Map: Select cities, filter listings, view tooltips for details.
- District Color Map: (Amsterdam example) Visualizes neighborhood-level patterns.
- Scatter Plots: Price vs Guest Satisfaction for Amsterdam, Berlin, Paris.
- Radar Charts: Compare cities and room types interactively.
- Bar Charts: Compare average prices and satisfaction across time/cities.
- Treemap: Listings by district (Vienna example).
- User-Focused Simplicity: Some advanced visualizations (e.g., parallel coordinates) were excluded for clarity and accessibility.
- Handling Large Data: Used clustering and filtering to keep the dashboard fast and responsive.
- Cross-City Comparisons: Standardized columns and variable definitions across all cities for fair analysis.
- Multi-Library Integration: Combined ReactJS, Mapbox, Chart.js, D3.js, and Nivo for a seamless user experience.
- Spatial Limitations: Interactive district-level maps are currently available only for cities with compatible GeoJSON boundaries.
- Frontend: ReactJS
- Visualization: D3.js, Chart.js, Mapbox, Leaflet, Nivo
- Deployment: GitHub Pages
- Data Processing: Python, Jupyter
Distributed under the MIT License.
For questions, suggestions, or feedback, please use the GitHub Issues page.
- Professor Laurent Vuillon (EPFL)
- Kaggle Dataset: Airbnb in Europe
- Open-source communities for tools and libraries
If you use this project or its data for your own work, please cite the GitHub repository above.