
Welcome to ProphetBnB, a comprehensive Python project for predicting Airbnb listing prices and segmenting hosts for actionable insights. ProphetBnB combines robust machine learning, interactive visualizations, and a Streamlit web app for seamless exploration of Airbnb data.
- Predicts Airbnb listing prices using regression models
- Flags underpriced and overpriced listings
- Segments hosts using clustering on price, reviews, and availability
- Provides insights for targeted marketing and strategy
- Folium maps for geographic analysis
- Plotly charts for cluster and feature exploration
- Intuitive interface for data exploration and prediction
- Accessible locally or via web deployment

AirBnB-PriceSense/
│
├── data/
│ ├── raw/ # Original datasets (CSV/JSON)
│ └── processed/ # Cleaned datasets for modeling
│
├── notebooks/
│ ├── 01_EDA.ipynb # Exploratory Data Analysis
│ └── 02_Modeling.ipynb # Regression & Clustering Models
│
├── src/
│ ├── data_preprocessing.py # Data cleaning & feature engineering
│ ├── model_training.py # ML model training & evaluation
│ └── visualizations.py # Plotting & mapping functions
│
├── app/
│ └── prophetbnb_app.py # Streamlit web app
│
├── assets/
│ └── logo.png # Logo/images
│
├── environment.yml # Conda environment
├── requirements.txt # Pip dependencies
└── README.md # Project overview
1. Using Conda (Recommended)
# Navigate to the project folder
cd path/to/AirBnB-PriceSense
# Create environment
conda env create -f environment.yml
# Activate environment
conda activate ProphetBnB
2. Using Pip / Virtualenv
# Create virtual environment
python -m venv ProphetBnB_env
# Activate environment (Windows)
ProphetBnB_env\Scripts\activate
# Activate environment (macOS/Linux)
source ProphetBnB_env/bin/activate
# Install dependencies
pip install -r requirements.txt
1. Run Jupyter Notebooks
jupyter notebook
notebooks/01_EDA.ipynb
: Explore dataset, visualize distributionsnotebooks/02_Modeling.ipynb
: Train regression & clustering models
2. Run Streamlit App
streamlit run app/prophetbnb_app.py
- Explore predictions and visualizations interactively
- Supports local and web deployment
- Place your Airbnb dataset in
data/raw/listings.csv
- The script
src/data_preprocessing.py
creates a cleaned dataset indata/processed/listings_clean.csv
Recommended Dataset Sources:
- Inside Airbnb
- Any Airbnb dataset you have access to
- Python 3.10+
- pandas, numpy, scikit-learn
- matplotlib, seaborn, plotly
- geopandas, folium, streamlit, streamlit-folium
- joblib, pyyaml
- Jupyter Notebook
See environment.yml
& requirements.txt
for full details.
- Fork the repository & create a new branch
- Make your changes & test thoroughly
- Submit a pull request with a clear description
This project is licensed under the MIT License. See the LICENSE file for details.


How to Begin:
- Choose your data source from Airbnb, CSV, or web
- Set your filters for price, guests, reviews, etc.
- Click Analyze Listings for insights
Supported Data:
- InsideAirbnb, CSV (with at least: id, name, price)
- For best experience: use clean, recent datasets
Empower your Airbnb decisions with smart predictions and interactive insights!