A full-scale analytical project uncovering performance trends across channels, customer segments, and time — powered by Python, Power BI, and DAX.
- Project Summary
- Repository Structure
- Dashboard Previews
- Objectives
- Tools & Technologies
- Dataset Overview
- Data Cleaning
- Exploratory Data Analysis
- Correlation Analysis
- Power BI Dashboard
- Key Insights
- Recommendations
- Conclusion
- Future Work
This project presents a comprehensive analysis of marketing campaign data to surface actionable insights across channels, customer segments, and time periods. The dataset spans multiple companies and campaign types, incorporating metrics such as clicks, impressions, ROI, CPC, and conversion rates.
The work demonstrates practical expertise in data wrangling, exploratory data analysis, KPI engineering, and interactive dashboard development using Power BI.
MARKETING-ROI-EVALUATION-MODEL/
│
├── ROI-Model-Assets/
│ ├── Marketing-ROI-Evaluation-Code.pdf # Python notebook exported as PDF
│ ├── Marketing-ROI-Evaluation-Dashboard.pdf # Dashboard exported as PDF
│ └── Marketing-ROI-Evaluation-Report.pdf # Full project report PDF
│ └── Image.png # Strategic plan image
|
├── ROI-Model-Code/
│ └── marketing_roi_evaluation_model.ipynb # Python notebook — EDA, cleaning, feature engineering
│
├── ROI-Model-Dashboards/
│ ├── ROI-Dashboard-1.png # Executive Overview page screenshot
│ ├── ROI-Dashboard-2.png # Channel & Audience Summary page screenshot
│ └── ROI-Dashboard-3.png # Time & Segment Trends page screenshot
│
├── ROI-Model-Data/
│ └── marketing_roi_evaluation_data.xlsx # Raw campaign dataset
│
├── .gitignore
└── README.md
- Identify the most cost-effective and high-performing marketing channels
- Understand customer segment behavior and conversion patterns
- Track seasonal and temporal trends in campaign success
- Deliver actionable insights through dynamic, interactive data visualization
| Tool | Purpose |
|---|---|
| Python | Data wrangling, EDA, and feature engineering |
| Pandas | Data cleaning and manipulation |
| Seaborn | Visual exploration and correlation analysis |
| Power BI | Dashboard creation and KPI visualization |
| DAX | Custom metric development in Power BI |
| GitHub | Documentation and version control |
Located in ROI-Model-Data/, the dataset marketing_roi_evaluation_data.xlsx contains campaign-level records with the following attributes:
| Column | Description |
|---|---|
| Campaign ID | Unique identifier for each campaign |
| Company | Campaign-owning company |
| Campaign Type | Type of campaign (Email, Influencer, etc.) |
| Channel Used | Platform used for delivery |
| Customer Segment | Targeted audience segment |
| Duration | Number of days the campaign ran |
| Clicks | Total user clicks |
| Impressions | Total ad views |
| Acquisition Cost | Cost to acquire customers |
| Conversion Rate | Proportion of conversions |
| ROI | Return on investment |
| Engagement Score | Internal metric for user interaction |
| Date | Campaign launch date |
All preprocessing is handled in ROI-Model-Code/marketing_roi_evaluation_model.ipynb. The following steps were applied:
- Converted the
Datecolumn to datetime format - Enforced numeric types across all quantitative columns
- Filled missing
Engagement Scorevalues with the column mean - Labeled missing
Customer Segmententries as"Unknown" - Removed duplicate records and verified unique
Campaign IDs - Engineered new features including
CTR(Click-Through Rate) andCPC(Cost Per Click)
- Most campaigns ran between 7 to 15 days in duration
- Impressions and Clicks followed a right-skewed distribution
- Email and Social Media were the most frequently used campaign types
- Clicks vs. Impressions — Strong positive correlation observed
- CPC vs. ROI — Inverse relationship; higher CPC consistently associated with lower ROI
- Engagement Score vs. Conversion Rate — Positive correlation confirmed
A heatmap was generated to visualize relationships among core numeric features:
import seaborn as sns
import matplotlib.pyplot as plt
corr = df[['Clicks', 'Impressions', 'CPC', 'ROI', 'Conversion rate', 'Engagement score']].corr()
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title('Correlation Heatmap')
plt.show()The dashboard is structured across three focused pages:
- KPIs: Total Campaigns, ROI, CPC, CTR, and Conversions
- ROI and Conversion Rate trends over time
- ROI breakdown by Campaign Type and Company
- CPC vs. ROI scatter plot
- Top-performing campaigns ranked by ROI
- ROI comparison by channel
- Engagement Score per channel
- Conversion Rate segmented by Customer Segment
- CPC by channel
- Campaign volume by channel
- ROI and CTR summary table
- Monthly ROI and Engagement trends
- Campaign volume over time
- Conversion Rate trends across periods
- ROI breakdown by Customer Segment
- Monthly KPI comparison table
- Email and Facebook campaigns delivered the highest ROI across all channels.
- Outdoor Adventurers and Foodies were the top-converting customer segments, both approaching 8% conversion.
- CPC remained consistently stable at approximately $22.75 across all channels.
- Q1 campaigns outperformed all other quarters in both ROI and Engagement Score.
- High click volume did not reliably translate to conversions, indicating significant drop-off occurring post-click.
- Scale successful channels — Prioritize Email, Facebook, and Google Ads where ROI is proven strongest.
- Refine audience targeting — Develop tailored content for high-converting segments like Foodies and Outdoor Adventurers.
- Optimize the conversion funnel — Improve landing page experience to reduce post-click drop-off.
- Time campaigns strategically — Schedule major campaign launches in Q1 when audience engagement peaks.
- Leverage stable CPC — Use the predictable cost baseline to redirect focus toward creative quality and precision targeting.
This analysis demonstrated that timing, targeting, and channel selection are more decisive drivers of campaign performance than raw budget spend alone. By combining Python for data preparation and Power BI for visualization, the project delivered a structured, decision-ready dashboard that highlights both performance gaps and growth opportunities.
Email and Facebook emerged as the most reliable performers, while segments such as Outdoor Adventurers and Foodies responded most strongly to targeted efforts. The result is both a portfolio demonstration and a practical decision-support tool for marketing teams focused on improving ROI and engagement.
| Enhancement | Description |
|---|---|
| Real-Time Data Integration | Connect Power BI to a live database with automated refresh schedules |
| Predictive Modeling | Use ML to forecast ROI and conversion rates from campaign attributes |
| A/B Testing Simulation | Evaluate campaign variants by simulating audience responses |
| Campaign Scheduler Tool | Recommend optimal launch windows based on historical performance patterns |
| Sentiment & Text Analysis | Analyze campaign copy performance using NLP techniques |
| Multi-Touch Attribution | Map full customer journeys across channels for deeper attribution insight |
Built with Python · Power BI · DAX · Seaborn


