Analyzing customer demographics, purchasing behavior, and campaign response to improve marketing ROI using Python and Data Analytics..
- Overview
- Business Problem
- Dataset
- Tools & Technologies
- Project Structure
- Data Cleaning & Preparation
- Exploratory Data Analysis (EDA)
- Research Questions & Key Findings
- Data Insights
- Visualization
- How to Run This Project
- Final Recommendations
- Author & Contact
This project analyzes a retail marketing campaign dataset to understand customer behavior, spending patterns, and campaign effectiveness. The goal is to help businesses design targeted, data-driven marketing strategies that improve conversion rates and customer engagement.
The analysis focuses on: - Customer demographics - Product category spending - Campaign response behavior - Income and spending relationships - Customer segmentation indicators
Marketing campaigns often fail due to poor targeting and lack of customer insights. This project aims to answer: - Which customer groups respond best to marketing campaigns? - Which product categories generate the highest revenue? - How do income, family structure, and education impact spending? - Which customers should be prioritized for future campaigns?
-Customer marketing campaign dataset (CSV format) -Contains information on: - Demographics (Age, Education, Marital Status, Income) - Household details (Kids, Teens) - Product-wise spending - Campaign responses - Purchase behavior
- SQL (Common Table Expressions, Joins, Filtering)
- Python (Pandas, Matplotlib, Seaborn, SciPy,scikitlearn)
- Power BI (Interactive Visualizations)
- GitHub
vendor-performance-analysis/
│
├── README.md
├── .gitignore
├── requirements.txt
├── Marketing Campaign Analysis Report.pdf
│
├── notebooks/ # Jupyter notebooks
│ ├── marketing_campaign.ipynb
|
├── dashboard/ # Power BI dashboard file
│ └── marketing_campaign_dashboard.pbix
-
Removed missing values in Income
-
Handled inconsistent categorical values
Created new features: - Total Spending - Age - Living_With (Partner / Alone)
-
Converted data types for numerical analysis
-
Removed unrealistic outliers where necessary
Key Observations:
-
Wine and meat products contribute the highest share of total spending
-
Fruits and sweets show comparatively lower spending
-
High-income customers tend to spend more across all categories
-
Customers without kids show higher campaign acceptance rates
-
Older customers generally spend more than younger groups
-
Which products drive the most revenue? → Wine and meat products dominate total spending.
-
Who responds best to campaigns? → High-income, fewer-children households.
-
Does income affect spending? → Strong positive correlation between income and total spending.
-
Which customers should be targeted? → Customers with high spending but low campaign exposure.
-
What is the role of family structure? → Customers living alone or with a partner spend more than larger families.
-
High-value customers are underutilized in campaigns.
-
Campaign response drops significantly for households with children.
-
Premium products should be marketed to high-income segments.
-
Low-spending categories can benefit from bundling strategies.
-
Personalized campaigns can significantly improve conversion rates.
- The project includes visual analysis such as:
- Product-wise spending distribution
- Income vs total spending
- Campaign acceptance by demographic groups
- Correlation heatmaps
- Spending patterns by age group
All visualizations are created using Matplotlib and Seaborn.
- Clone the repository:
git clone https://github.com/yourusername/marketing-campaign-analysis.git- Install dependencies:
pip install -r requirements.txt- Open and run notebooks:
notebooks/marketing_campaign_analysis.ipynb
- Open Power BI Dashboard:
dashboard/marketing_campaign_dashboard.pbix
- Focus campaigns on high-income and high-spending customers
- Reduce blanket marketing and adopt personalized targeting
- Promote high-margin products (wine, meat) aggressively
- Use bundling offers for low-performing product categories
- Optimize campaign frequency to avoid customer fatigue
📧 Email: sharathspd1818@gmail.com 🔗 LinkedIn
