Airbnb France

Rshiny Web app | Data visualization | Kmeans clustering
Q2 2024
Rstudio window with lots of code

Forewords

The present article summarizes in a non technical way the the web app solution I created. To dive deeper, I kindly invite you to visit my Github repository to read the underlying R code.

Github | Airbnb France

Stack: R / Rstudio, Rshiny

Project summary

Tourism is one of the biggest sectors of the French economy. Since the early 2010s, the number of foreign tourists has almost never stopped increasing (from 83.6 million in 2013 to 90 million in 2020, source : DGE - Banque de France). In this context, what importance does a pure player like Airbnb have in France? Does the French website host many active listings or is it still rather confidential?

Using some Insideairbnb.com data, I constructed a web app that aims at summarizing Airbnb listings in 3 major French cities -Paris, Bordeaux, Lyon - as of end October 2022.

The problems at hand

Airbnb does not provide country specific statistics in its SEC annual fillings (it gives at most figures for the EMEA market). Therefore, to make a case study about the French market, I had 2 options:

This is the latter solution that I chose. I relied on the data provided by Insideairbnb.com website, a project that provides data and adovcacy about Airbnb's impact on residential communities. The project collaborators have already analyzed, cleansed and aggregated the data to facilitate public discussion.

The data on Insideairbnb.com are distinct for each city. Thus, to make a comprehensive study about the French market (global and city-comparative visions), I had to download and concatenate the detailed data and then perform my own analyses.

Screenshot of the Insideairbnb website (Paris focused)

Insideairbnb.com | Paris datasets

User goals

My goal in this project was to construct a web app that gives a broad overview of the French Airbnb market as of end of 2022. More specifically, thanks to the new dashboard, I wanted to answer the following questions:

Disclaimer

Data preparation process

Data import


Data cleaning:

Illustration of the R code to clean the format of important variables

Rshiny app creation process

My R code is separated into 2 files:

Access the app

As for the creation process, I used frequently a pen and a sheet of paper to draw the design of the app I wanted to achieve.

Final output

Access the app
Rshiny app | Overview tab (BANs)

The landing page gives an overview of the French Airbnb market thanks to colourful BANs.

Rshiny app | Listings characteristics

The "Listings" tab aims at providing statistics about:

  • Listings in each city
  • Most popular listings types
  • The neighborhoods that have the most listings associated
  • A wordcloud of the most frequent amenities
Rshiny app | Pricing analyses

The "Pricing" tab aims at providing statistics about:

  • Pricing distribution in each city and depending on the number of accommodates
  • The most and least expensive listings types
Rshiny app  Kmeans clustering results

The "Hosts segmentation" presents the results of the kmeans clustering:

  • Every cluster is characterized (descriptive interpretation and "business" interpretation)
  • Clusters are plotted to be better understood
Rshiny app | Correlations between review scores and amenities / host profiles

The "Review score" presents the correlations between the guests satisfaction scores and some listings and hosts characteristics

Rshiny app | Maps

The "Maps" tab represents all listings for each city in a map. The darker the colour the more expensive. The larger the circle the more reviews the listing has received.

A few learnings about Airbnb France

Conclusion

Possible next steps
  • Exploit the calendar data to understand the evolution of prices and bookings over time
  • Sentiment analysis on the reviews made by guests
  • Enrich the dataset by adding other European cities as benchmark
What I learnt in this project
  • Deploying a Rshiny web app: I encountered many errors during the process and learnt how to understand and solve them.
  • Coding in R all visualizations and dashboards instead of using simple drag and drop operations in a BI tool like Tableau

Explore other portfolio projects

Want to get in touch?

Send me a message

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.