This project analyzes the Airbnb market in Málaga using public data from 2024. The objective is to identify pricing patterns, estimate profitability by neighbourhood, detect seasonality in demand, and understand market professionalization. The analysis is aimed at investors, hosts, and tourism sector analysts.
The dataset contains 9,420 records across 11 neighbourhoods and was obtained from Inside Airbnb. All analysis was performed in Python.
- Quantify the relationship between price and estimated profitability across different neighbourhoods.
- Examine pricing behavior, comparing the saturated City Centre with peripheral areas.
- Detect outliers in price by neighbourhood using IQR and assess their impact.
- Build a seasonality analysis using review volume as a demand proxy.
- The City Centre concentrates supply, but not the best opportunities: Campanillas (€186), Puerto de la Torre (€144), and Churriana (€132) have higher average nightly prices than the Centre (€112). Saturation in the Centre has flattened prices.
- Western peripheral neighbourhoods show better profitability potential. Those same neighbourhoods offer the best estimated returns, partly due to lower competition and proximity to the Technology Park.
- Demand is extremely seasonal. December alone concentrates 66.4% of all reviews in 2024. The first half of the year accounts for barely 3% of annual reviews.
- The market is already professionalized. Companies like I Loft Málaga (218 properties), Remy (137), and Living4Malaga (109) dominate. The three largest hosts account for 4.9% of all listings.
None of these numbers are meant as universal rules; they come from a cross-sectional snapshot of 2024 data and should be interpreted with that in mind. The correlation between reviews and actual occupancy is weak (0.10), so reviews should not be used as the sole occupancy metric.
airbnb-malaga-analysis/
│
├── data/
│ ├── listings.csv
│ ├── neighbourhoods.geojson
│ └── reviews.csv
│
├── scripts/
│ └── airbnb_malaga_analysis_2024.ipynb
│
├── imgs/
│ ├── monthly_reviews_2024.png
│ ├── price_map_malaga.png
│ ├── properties_by_neighbourhood_roomtype.png
│ ├── reviews_by_roomtype_boxplot.png
│ ├── reviews_vs_occupancy.png
│ └── room_type_offered_vs_booked.png
│
└── README.md
The Python notebook covers the full pipeline: data loading, price cleaning (regex), outlier removal by neighbourhood using IQR, imputation with neighbourhood mean, exploratory analysis, geospatial visualization with plotly, seasonality analysis, and host profiling. All plots were generated with matplotlib and seaborn, while the interactive map was made with plotly.
The chart below shows the monthly review volume in 2024, used as a demand proxy. The extreme concentration in December (66.4% of annual reviews) is clearly visible.
It's a simple univariate analysis using review frequency as a proxy for occupancy. With more granular data (actual booked nights, cancellation rates) the seasonality analysis could be refined, but for a first pass it gives a useful directional signal.
Everything was written in Python. The main libraries used:
- Data handling:
pandas,numpy,re - Visualization:
matplotlib,seaborn,plotly - Geospatial:
plotly.express.scatter_mapbox - Statistics: IQR calculations, groupby aggregations, correlation
I wanted to analyze a real, high-density tourism market to answer a practical question: Is it still profitable to invest in the city centre, or are there better opportunities elsewhere? The project demonstrates an end-to-end analytical workflow — from messy CSV to cleaning, exploratory analysis, geospatial visualization, and actionable insights for investors and hosts.
The dataset is a 2024 snapshot from Inside Airbnb and will not be updated, so the findings reflect that specific period.
Download the dataset from Inside Airbnb - Málaga.
Note: calendar.csv is not included in this repository due to GitHub's file size limit. You can download it separately from the link above and place it in the data/ folder to run the complete analysis.
