Skip to content

Interactive Zomato Data Analysis Dashboard built with Python and Streamlit, Data cleaning, EDA, visualizations, and map-based restaurant insights.

Notifications You must be signed in to change notification settings

shivareddy2002/Zomato-Data-Analysis-Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Extracting Business Insights from Zomato’s Restaurant Data using Python


🍴 Zomato Data Analysis Dashboard & Recommendation System

An interactive Streamlit web application for analyzing Zomato restaurant data and recommending similar restaurants using TF-IDF and Cosine Similarity. The dashboard includes EDA (Exploratory Data Analysis) visualizations, interactive maps, and restaurant recommendations with a modern, theme-adaptive UI.

πŸ”— Live Demo

Open Live Demo

🍴 Zomato Data Analysis Dashboard & Recommendation System β€” 🌐 Open Live Demo


Project Workflow

Workflow


🎯 Objective

The goal of this project is to explore and analyze the Zomato restaurant dataset to uncover meaningful trends and patterns that can help businesses make data-driven decisions.

Specifically:

  • 🧠 Understand data structure & quality
  • 🍜 Identify cuisine and restaurant trends
  • πŸŒ† Examine ratings & delivery preferences across locations
  • πŸ’Έ Analyze cost patterns in different cities

πŸš€ Features

πŸ” 1. Restaurant Recommendation System

  • Select any restaurant and get top similar restaurants based on cuisine, cost, and rating.
  • Uses TF-IDF vectorization and cosine similarity to find restaurant similarities.
  • Customizable number of recommendations (1–10).

πŸ“Š 2. Interactive EDA Dashboards

  • Explore KPIs such as total restaurants, average rating, and average cost.
  • Visualize Top Cuisines, Rating Distributions, and Price vs Rating.
  • Generate Cuisine WordClouds for quick insights.

πŸ—ΊοΈ 3. Map Visualization

  • Interactive Plotly Mapbox map showing restaurant locations.
  • Filter by rating range dynamically.
  • Highlights Top 3 restaurants with gold stars.

πŸ† 4. Top Restaurants Leaderboard

  • Displays Top 10 restaurants based on ratings.
  • Includes thumbnails, cuisines, and average costs.

πŸ’‘ Tech Stack

Component Technology
Language Python
Data Handling Pandas, NumPy
Visualization Matplotlib, Seaborn, WordCloud, Plotly Express
Machine Learning Scikit-learn (TF-IDF, Cosine Similarity)
Frontend/UI Streamlit
Dataset Zomato Dataset (zomato.csv)

πŸ“ Dataset Overview

Column Description
Restaurant Name Name of the restaurant
Location City / Area
Cuisines Cuisine types served
Average Cost for two Cost for two people
Has Online delivery Yes / No
Aggregate rating Average customer rating
Votes Number of user ratings

πŸ“Œ Dataset Source: Kaggle - Zomato Dataset


🧠 How It Works

πŸ”Ή Recommendation Logic

  1. Combine cuisines, average cost, and ratings into a single text field.
  2. Convert text into numerical vectors using TF-IDF.
  3. Compute cosine similarity between restaurants.
  4. Recommend the most similar restaurants excluding the selected one.

πŸŒ— UI Theme

The app supports both Light Mode and Dark Mode for enhanced viewing.
You can switch between them using the sidebar option πŸŒ—.

🧭 Navigation

Section Description
Recommendation System Find similar restaurants.
EDA Dashboards View data insights and plots.
Map Visualization Explore restaurant locations.
Top Restaurants See the best-rated restaurants.

πŸ“Š Sample Visuals

πŸ“ˆ Top 10 Cuisines Bar Chart
⭐ Rating Distribution (highlighted Top 3)
☁️ Cuisine WordCloud
πŸ—ΊοΈ Interactive Map with Rating Filter
πŸ† Top Restaurants Leaderboard

πŸ–ΌοΈ Gallery / Screenshots

Here are some key screenshots of the Zomato Data Analysis Dashboard:

πŸ“š Insights You Can Derive

  • πŸ™οΈ Delhi NCR has the maximum number of restaurants.
  • πŸ• North Indian is the most common cuisine.
  • ⭐ Ratings tend to be higher for fine dining than for cafΓ©s.
  • πŸ›΅ Online delivery is more popular in metropolitan areas.
  • πŸ’° Average cost for two varies significantly between cities.
  • πŸ“Š Identify high-performing restaurants for recommendations.

πŸ–ΌοΈ Visual Workflow

flowchart LR
    %% --- Data Loading & Cleaning Stage ---
    subgraph DC[πŸ“‚ Data Loading & Cleaning]
        A["πŸ“¦ Import Libraries "]
        B["πŸ“„ Load Zomato Dataset "]
        C["βœ‚οΈ Clean & Preprocess Data"]
    end

    %% --- Filtering & EDA Stage ---
    subgraph FE[πŸ“Š Filtering & EDA]
        D["πŸ”Ž Apply Filters"]
        E["πŸ“ˆ EDA Visualization"]
    end

    %% --- Recommendation System Stage ---
    subgraph RS[πŸ€– Recommendation System]
        F["Build TF-IDF Matrix"]
        G["Cosine Similarity"]
        H["Top Recommendations"]
    end

    %% --- Map & Leaderboard Stage ---
    subgraph ML[πŸ—ΊοΈ Map & Leaderboard]
        I["πŸ—ΊοΈ Interactive Map"]
        J["πŸ† Top Restaurants Leaderboard"]
    end

    %% --- Deployment Stage ---
    subgraph DEP[πŸš€ Deployment]
        K["🌐 Streamlit Deployment\n(Interactive Web Dashboard)"]
    end

    %% --- Flow Connections ---
    A --> B --> C --> D --> E --> F --> G --> H --> I --> J --> K

    %% --- Styles ---
    style A fill:#FFD54F,stroke:#F57F17,stroke-width:2px,color:#000
    style B fill:#4FC3F7,stroke:#0277BD,stroke-width:2px,color:#fff
    style C fill:#AED581,stroke:#33691E,stroke-width:2px,color:#000
    style D fill:#BA68C8,stroke:#4A148C,stroke-width:2px,color:#fff
    style E fill:#FF8A65,stroke:#BF360C,stroke-width:2px,color:#fff
    style F fill:#90CAF9,stroke:#0D47A1,stroke-width:2px,color:#000
    style G fill:#F48FB1,stroke:#880E4F,stroke-width:2px,color:#fff
    style H fill:#A1887F,stroke:#4E342E,stroke-width:2px,color:#fff
    style I fill:#81C784,stroke:#2E7D32,stroke-width:2px,color:#000
    style J fill:#FFB74D,stroke:#E65100,stroke-width:2px,color:#000
    style K fill:#F44336,stroke:#B71C1C,stroke-width:2px,color:#fff
Loading

🏁 Future Improvements

  • βœ… Add sentiment analysis on customer reviews.
  • βœ… Include filter for cuisine-specific recommendations.
  • βœ… Integrate real-time Zomato API for live data.

πŸ‘¨β€πŸ’» Author

Lomada Siva Gangi Reddy
πŸŽ“ B.Tech CSE (Data Science), RGMCET (2021–2025)
🎯 Aspiring Data Analyst | Skilled in Python, SQL, Power BI, and Data Science
πŸ“ Open to Internships & Job Offers

πŸ“¬ Contact Me


About

Interactive Zomato Data Analysis Dashboard built with Python and Streamlit, Data cleaning, EDA, visualizations, and map-based restaurant insights.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published