SlideShare a Scribd company logo
1 of 13
Profile Based Recommendation System for Airbnb
Problem Statement:
Airbnbisanonline marketplace thatenablesuserstolist,findandrentvacationhomes. Airbnbconnects
people to unique travel experiences, at any price point, in more than 34,000 cities and 191 countries.
Airbnb has a diverse customer base, it is used by people from different age groups, professions and
interests. Some customers prefer placeswhich are closer to the city whereassome others love to enjoy
the natural beautybylivingincottages.Since everycustomerhasdifferentinterestsitisessentialthatthe
user is recommended houses on the basis of their profile.
Proposed System:
We have developedaprofile basedrecommendationsystemusingsupervisedlearningtechniqueswhere
user’s future trips are predicted on the basis of their past trips and preferences. User's age group,
profession,interestsand most frequently traveledseasons are taken into considerationfor building a
more accurate model. The proposed system would build a good customer experience by reducing the
average time of booking and better demand forecasting
Approach:
Step 1: Data Cleaning and Data Transformation
Airbnb provides an open source dataset which contains the 1.3 million listings that are posted on their
website and Airbnb users and their profile details. The listings data contains information like number of
bed rooms, amenities, ratings, house rules, GPS location, etc. The users data contains information like
age, profession, past trip details, etc.
Data Cleaning: We performed data cleaning on the dataset using Alteryx tool. Data cleaning included
handling missing values and garbage values, outlier detection and data normalization.
Data Transformation: Using the user’s travel history, we computed the seasons in which the user most
frequently travels in. We identified the type of apartments the user stays in to identify user’s interests
and preferences.
Step 2: Calculating weights for every listings using Neural Network
For every listing we computed weights to assign how suitable a listing is on the basis of age-group,
profession, seasons and interests
Step2.1. For everylistingwe gatheredthe user’sthathave alreadystayedinthem.We identifiedthe age
group they belonged to, their profession, the seasons in which they like to travel and their hobbies.
Onthe basisof minmax normalizationtechniquewe computed weightsforeachof these parametersand
fed it as the training data for our neural network.
Min max normalization=
This technique ensures that the data is scaled within the range of 0-1.
We usedMulti LayerPerceptron withBackPropagationwhichhad42 inputsand13 outputs,We used12
hidden layers for training the Neural Netwrok.
Our Neural Network was trained with the root mean squared error of 0.022119.
Training model for computing Hobbies Weight
Predicted results on the Trained Model
Step2.2. Once ourneural networkwastrained awebservice wascreatedwiththe trainedNeural Network
Algorithm. Using an R script we consumed the web service, which computed the results on the basis of
trained model, thus computing the weights for every listing.
Creating a web service for running our test data on the Trained Model
R Script for consuming the web service and computing the weights on the entire dataset
Thus by computing the weights for every listings we identified the most suitable listings for every age
group, profession, seasons and hobbies.
Step 3: Predicting user’s future trips
Step 3.1 Using Matchbox recommendation algorithmprovided by ML studio, we computed triplets of
UserId, ListingId and AgeWeights. The age weights are the weights that were computed by our neural
network for every listings. We chose AgeWeights of the age group in which the user belongs to.
Choosing the AgeWeight for every listing in which the user belongs to
We trainedourdata onthe trainingdata set.We alsofedthe user’sdata andlistingsdatafortrainingthe
model. We computed top 25 recommendations for the user based on their age weights.
Top 25 listing recommendations on the basis of AgeWeight
Step 3.2
Once we got the top 25 recommendations,we sortedthese recommendationsbytheirage weightsand
top 15 listings were chosen for the user. This was performed in R
Sorting data on the basis of Age Weights
Top 15 listing recommendations sorted on the basis of AgeWeight
Amongthose top 15 recommendations,we mappedthe hobbiesweightforeveryuserandidentifiesthe
top 10 listings for the user
Top 10 listing recommendations on the basis of HobbiesWeight
Amongthese top10recommendations,wemappedthe professionweightandidentifiedthe top7listings
for the user.
Top 7 listing recommendations on the basis of ProfessionWeight
Top 7 listing recommendations on the basis of AgeWeight, HobbiesWeight and ProfessionWeight
These 7 listings were perfectly in sync with user’s profile and were recommended to the user. We
observed 89% accuracy in the user’s profile and listings that were recommended.
Implementation:
We build a live spring application using Mongo DB and Morphia. 1.3 million listings and the users data
were storedin MongoDB. The listingsthatwere recommendedtothe user were fedintoMongo DB and
were displayed in the application on Google Maps.
We implementedGoogle MapsAPI to displaythe detailsof the recommendedlistingsforeveryuser.An
asynchronouscall wasmade usingAjaxtofetchall the listingobjectsasJSON.Byiteratingonall the listing
objectswe extractedeach and everylisting’slatitude andlongitude andfedthemto the marker objects
of the google maps.These markerswere sendto the API so that theycan be displayedonthe map.Each
marker wasbindedwitha click eventwhichwasdone usingclosures.Thisentire function wasperfirmed
by JavaScript alone (Functional Programming).
Project Demo:
Login screen
Personalized profile based recommendations for user Keith
Data stored in MongoDB
Challenges Faced:
The projectwasreallychallengingtoworkwithsince weused adifferentapproachforrecommendations.
Below are few of the challenges and how we overcome each of them.
1. Choosing the parameters for profile based recommendation: Choosing the parameters of the
user’sdataandperformingdatatransformation wasoneof theinitialtransformation.We referred
to the profile basedrecommendationsystembuildbySpotifytoanalyze the techniquestheyuse
to segregate their customers based on their profile
2. Normalizing data: Since the Neural network requires the data to be normalized. We performed
several types of normalizationtechniques like Min Max normalization, Z score normalization, to
name a few
3. Computing the results for multiple parameters in one Neural Network with minimum mean
square error: Since Neural Network provides predictionon only parameter at a time we had to
segregate ourdata and compute the weightsforeveryparametersindividually.We usedseveral
combinations of hidden layers, learning rate and momentum to get accurate results
4. Using Morphia: Learning Morphia in order to connect with Mongo Server was challenging
5. Modelling the data model for the application: Since our project involved many fields and
relationships, it was challenging to model the back end data model to fit our application
6. Transforming data before inserting in Mongo: The data had to be cleaned and transformed at
several layersbeforeinsertingintoMongoDB. Also,there were numerousdebuggingattemptson
the data to find junk data being fed to the application, causing it to the crash
Future Scope:
 Add REST API - We already have a web service deployed by azure. We need to connect our
application with the web api, so that we can compute real time recommendations for a user.
 Add Neo4j - Connecting mongo server with the neo4j server, so that instant virtualization is
achieved.
Conclusion:
Despite of the challengesfacedwhile buildingprofile basedrecommendation,butthe suggestedlistings
were approximately89% accurate. Being Airbnb user's ourselves, we wouldlike Airbnbto provide such
profile based recommendations for better customer experience

More Related Content

What's hot

Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
Customer Satisfaction in Online Shopping: a study into the reasons for motiva...Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
IOSR Journals
 
Marketing Communication-2.1 - MarCom theories
Marketing Communication-2.1 - MarCom theoriesMarketing Communication-2.1 - MarCom theories
Marketing Communication-2.1 - MarCom theories
www.marketingPlanMODE.com
 

What's hot (20)

Digital Marketing Strategy for a Cosmetic Brand - Love Beauty and Planet (A U...
Digital Marketing Strategy for a Cosmetic Brand - Love Beauty and Planet (A U...Digital Marketing Strategy for a Cosmetic Brand - Love Beauty and Planet (A U...
Digital Marketing Strategy for a Cosmetic Brand - Love Beauty and Planet (A U...
 
Online branding: Digital Marketing
Online branding: Digital MarketingOnline branding: Digital Marketing
Online branding: Digital Marketing
 
Integrating Communications into CRM
Integrating Communications into CRMIntegrating Communications into CRM
Integrating Communications into CRM
 
Consumer behaviour in online shopping
Consumer behaviour in online shoppingConsumer behaviour in online shopping
Consumer behaviour in online shopping
 
Customer relationship management
Customer relationship      managementCustomer relationship      management
Customer relationship management
 
Strategic Analysis of Airtel Limited in Indian Telecom Sector
Strategic Analysis of Airtel Limited in Indian Telecom SectorStrategic Analysis of Airtel Limited in Indian Telecom Sector
Strategic Analysis of Airtel Limited in Indian Telecom Sector
 
E commerce in india
E  commerce in indiaE  commerce in india
E commerce in india
 
Telecom Industry in India- A Brief Review
Telecom Industry in India- A Brief ReviewTelecom Industry in India- A Brief Review
Telecom Industry in India- A Brief Review
 
E-Governance
E-GovernanceE-Governance
E-Governance
 
Social media marketing and brand equity
Social media marketing and brand equitySocial media marketing and brand equity
Social media marketing and brand equity
 
Marketing Plan of Parking Space App - The ParkingBOT
Marketing Plan of Parking Space App - The ParkingBOTMarketing Plan of Parking Space App - The ParkingBOT
Marketing Plan of Parking Space App - The ParkingBOT
 
eCommerce Business Strategies
eCommerce Business StrategieseCommerce Business Strategies
eCommerce Business Strategies
 
Customer Relationship Management
Customer Relationship ManagementCustomer Relationship Management
Customer Relationship Management
 
Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
Customer Satisfaction in Online Shopping: a study into the reasons for motiva...Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
Customer Satisfaction in Online Shopping: a study into the reasons for motiva...
 
Synopsis
SynopsisSynopsis
Synopsis
 
E Marketing Ch7 Consumer Behavior
E Marketing Ch7 Consumer BehaviorE Marketing Ch7 Consumer Behavior
E Marketing Ch7 Consumer Behavior
 
Marketing Communication-2.1 - MarCom theories
Marketing Communication-2.1 - MarCom theoriesMarketing Communication-2.1 - MarCom theories
Marketing Communication-2.1 - MarCom theories
 
online marketing
online marketingonline marketing
online marketing
 
Application of AI in customer relationship management
Application of AI in customer relationship managementApplication of AI in customer relationship management
Application of AI in customer relationship management
 
BBA Project.pdf
BBA Project.pdfBBA Project.pdf
BBA Project.pdf
 

Similar to Profile based recommendation for Airbnb users-Project report

Data Science Task.pdf by the topper world
Data Science Task.pdf by the topper worldData Science Task.pdf by the topper world
Data Science Task.pdf by the topper world
TanishaChouhan4
 
MIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_BhatiaMIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_Bhatia
Rahul Bhatia
 

Similar to Profile based recommendation for Airbnb users-Project report (20)

IRJET- Analysis of Brand Value Prediction based on Social Media Data
IRJET-  	  Analysis of Brand Value Prediction based on Social Media DataIRJET-  	  Analysis of Brand Value Prediction based on Social Media Data
IRJET- Analysis of Brand Value Prediction based on Social Media Data
 
Simply Data driven behavioural algorithms
Simply Data driven behavioural algorithmsSimply Data driven behavioural algorithms
Simply Data driven behavioural algorithms
 
IRJET- Scalable Content Aware Collaborative Filtering for Location Recommenda...
IRJET- Scalable Content Aware Collaborative Filtering for Location Recommenda...IRJET- Scalable Content Aware Collaborative Filtering for Location Recommenda...
IRJET- Scalable Content Aware Collaborative Filtering for Location Recommenda...
 
House price prediction
House price predictionHouse price prediction
House price prediction
 
Data Science Task.pdf by the topper world
Data Science Task.pdf by the topper worldData Science Task.pdf by the topper world
Data Science Task.pdf by the topper world
 
Data Mining on SpamBase,Wine Quality and Communities and Crime Datasets
Data Mining on SpamBase,Wine Quality and Communities and Crime DatasetsData Mining on SpamBase,Wine Quality and Communities and Crime Datasets
Data Mining on SpamBase,Wine Quality and Communities and Crime Datasets
 
DATI, AI E ROBOTICA @POLITO
DATI, AI E ROBOTICA @POLITODATI, AI E ROBOTICA @POLITO
DATI, AI E ROBOTICA @POLITO
 
M phil-computer-science-biometric-system-projects
M phil-computer-science-biometric-system-projectsM phil-computer-science-biometric-system-projects
M phil-computer-science-biometric-system-projects
 
M.Phil Computer Science Biometric System Projects
M.Phil Computer Science Biometric System ProjectsM.Phil Computer Science Biometric System Projects
M.Phil Computer Science Biometric System Projects
 
M.E Computer Science Biometric System Projects
M.E Computer Science Biometric System ProjectsM.E Computer Science Biometric System Projects
M.E Computer Science Biometric System Projects
 
Consumption capability analysis for Micro-blog users based on data mining
Consumption capability analysis for Micro-blog users based on data miningConsumption capability analysis for Micro-blog users based on data mining
Consumption capability analysis for Micro-blog users based on data mining
 
IRJET- Fatigue Analysis of Offshore Steel Structures
IRJET- Fatigue Analysis of Offshore Steel StructuresIRJET- Fatigue Analysis of Offshore Steel Structures
IRJET- Fatigue Analysis of Offshore Steel Structures
 
IRJET- Web based Hybrid Book Recommender System using Genetic Algorithm
IRJET- Web based Hybrid Book Recommender System using Genetic AlgorithmIRJET- Web based Hybrid Book Recommender System using Genetic Algorithm
IRJET- Web based Hybrid Book Recommender System using Genetic Algorithm
 
AI in Entertainment – Movie Recommendation System
AI in Entertainment – Movie Recommendation SystemAI in Entertainment – Movie Recommendation System
AI in Entertainment – Movie Recommendation System
 
MIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_BhatiaMIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_Bhatia
 
IRJET- Hybrid Recommendation System for Movies
IRJET-  	  Hybrid Recommendation System for MoviesIRJET-  	  Hybrid Recommendation System for Movies
IRJET- Hybrid Recommendation System for Movies
 
B1802021823
B1802021823B1802021823
B1802021823
 
Loan default prediction with machine language
Loan  default  prediction with  machine  language Loan  default  prediction with  machine  language
Loan default prediction with machine language
 
Advertising using big data
Advertising using big dataAdvertising using big data
Advertising using big data
 
Transform your career with Live Wire new
Transform your career with Live Wire newTransform your career with Live Wire new
Transform your career with Live Wire new
 

Profile based recommendation for Airbnb users-Project report

  • 1. Profile Based Recommendation System for Airbnb Problem Statement: Airbnbisanonline marketplace thatenablesuserstolist,findandrentvacationhomes. Airbnbconnects people to unique travel experiences, at any price point, in more than 34,000 cities and 191 countries. Airbnb has a diverse customer base, it is used by people from different age groups, professions and interests. Some customers prefer placeswhich are closer to the city whereassome others love to enjoy the natural beautybylivingincottages.Since everycustomerhasdifferentinterestsitisessentialthatthe user is recommended houses on the basis of their profile. Proposed System: We have developedaprofile basedrecommendationsystemusingsupervisedlearningtechniqueswhere user’s future trips are predicted on the basis of their past trips and preferences. User's age group, profession,interestsand most frequently traveledseasons are taken into considerationfor building a more accurate model. The proposed system would build a good customer experience by reducing the average time of booking and better demand forecasting Approach: Step 1: Data Cleaning and Data Transformation Airbnb provides an open source dataset which contains the 1.3 million listings that are posted on their website and Airbnb users and their profile details. The listings data contains information like number of bed rooms, amenities, ratings, house rules, GPS location, etc. The users data contains information like age, profession, past trip details, etc. Data Cleaning: We performed data cleaning on the dataset using Alteryx tool. Data cleaning included handling missing values and garbage values, outlier detection and data normalization. Data Transformation: Using the user’s travel history, we computed the seasons in which the user most frequently travels in. We identified the type of apartments the user stays in to identify user’s interests and preferences.
  • 2.
  • 3. Step 2: Calculating weights for every listings using Neural Network For every listing we computed weights to assign how suitable a listing is on the basis of age-group, profession, seasons and interests Step2.1. For everylistingwe gatheredthe user’sthathave alreadystayedinthem.We identifiedthe age group they belonged to, their profession, the seasons in which they like to travel and their hobbies. Onthe basisof minmax normalizationtechniquewe computed weightsforeachof these parametersand fed it as the training data for our neural network. Min max normalization= This technique ensures that the data is scaled within the range of 0-1. We usedMulti LayerPerceptron withBackPropagationwhichhad42 inputsand13 outputs,We used12 hidden layers for training the Neural Netwrok. Our Neural Network was trained with the root mean squared error of 0.022119.
  • 4. Training model for computing Hobbies Weight Predicted results on the Trained Model Step2.2. Once ourneural networkwastrained awebservice wascreatedwiththe trainedNeural Network Algorithm. Using an R script we consumed the web service, which computed the results on the basis of trained model, thus computing the weights for every listing.
  • 5. Creating a web service for running our test data on the Trained Model R Script for consuming the web service and computing the weights on the entire dataset Thus by computing the weights for every listings we identified the most suitable listings for every age group, profession, seasons and hobbies.
  • 6. Step 3: Predicting user’s future trips Step 3.1 Using Matchbox recommendation algorithmprovided by ML studio, we computed triplets of UserId, ListingId and AgeWeights. The age weights are the weights that were computed by our neural network for every listings. We chose AgeWeights of the age group in which the user belongs to. Choosing the AgeWeight for every listing in which the user belongs to We trainedourdata onthe trainingdata set.We alsofedthe user’sdata andlistingsdatafortrainingthe model. We computed top 25 recommendations for the user based on their age weights.
  • 7. Top 25 listing recommendations on the basis of AgeWeight Step 3.2 Once we got the top 25 recommendations,we sortedthese recommendationsbytheirage weightsand top 15 listings were chosen for the user. This was performed in R
  • 8. Sorting data on the basis of Age Weights Top 15 listing recommendations sorted on the basis of AgeWeight Amongthose top 15 recommendations,we mappedthe hobbiesweightforeveryuserandidentifiesthe top 10 listings for the user
  • 9. Top 10 listing recommendations on the basis of HobbiesWeight Amongthese top10recommendations,wemappedthe professionweightandidentifiedthe top7listings for the user. Top 7 listing recommendations on the basis of ProfessionWeight
  • 10. Top 7 listing recommendations on the basis of AgeWeight, HobbiesWeight and ProfessionWeight These 7 listings were perfectly in sync with user’s profile and were recommended to the user. We observed 89% accuracy in the user’s profile and listings that were recommended. Implementation: We build a live spring application using Mongo DB and Morphia. 1.3 million listings and the users data were storedin MongoDB. The listingsthatwere recommendedtothe user were fedintoMongo DB and were displayed in the application on Google Maps. We implementedGoogle MapsAPI to displaythe detailsof the recommendedlistingsforeveryuser.An asynchronouscall wasmade usingAjaxtofetchall the listingobjectsasJSON.Byiteratingonall the listing objectswe extractedeach and everylisting’slatitude andlongitude andfedthemto the marker objects of the google maps.These markerswere sendto the API so that theycan be displayedonthe map.Each
  • 11. marker wasbindedwitha click eventwhichwasdone usingclosures.Thisentire function wasperfirmed by JavaScript alone (Functional Programming). Project Demo: Login screen Personalized profile based recommendations for user Keith
  • 12. Data stored in MongoDB Challenges Faced: The projectwasreallychallengingtoworkwithsince weused adifferentapproachforrecommendations. Below are few of the challenges and how we overcome each of them. 1. Choosing the parameters for profile based recommendation: Choosing the parameters of the user’sdataandperformingdatatransformation wasoneof theinitialtransformation.We referred to the profile basedrecommendationsystembuildbySpotifytoanalyze the techniquestheyuse to segregate their customers based on their profile 2. Normalizing data: Since the Neural network requires the data to be normalized. We performed several types of normalizationtechniques like Min Max normalization, Z score normalization, to name a few 3. Computing the results for multiple parameters in one Neural Network with minimum mean square error: Since Neural Network provides predictionon only parameter at a time we had to segregate ourdata and compute the weightsforeveryparametersindividually.We usedseveral combinations of hidden layers, learning rate and momentum to get accurate results 4. Using Morphia: Learning Morphia in order to connect with Mongo Server was challenging 5. Modelling the data model for the application: Since our project involved many fields and relationships, it was challenging to model the back end data model to fit our application 6. Transforming data before inserting in Mongo: The data had to be cleaned and transformed at several layersbeforeinsertingintoMongoDB. Also,there were numerousdebuggingattemptson the data to find junk data being fed to the application, causing it to the crash
  • 13. Future Scope:  Add REST API - We already have a web service deployed by azure. We need to connect our application with the web api, so that we can compute real time recommendations for a user.  Add Neo4j - Connecting mongo server with the neo4j server, so that instant virtualization is achieved. Conclusion: Despite of the challengesfacedwhile buildingprofile basedrecommendation,butthe suggestedlistings were approximately89% accurate. Being Airbnb user's ourselves, we wouldlike Airbnbto provide such profile based recommendations for better customer experience