Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marketing ROI Evaluation Model

A full-scale analytical project uncovering performance trends across channels, customer segments, and time — powered by Python, Power BI, and DAX.


Table of Contents


Project Summary

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.


Repository Structure

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

Dashboard Previews

Page 1 — Executive Overview

Executive Overview

Page 2 — Channel & Audience Summary

Channel & Audience Summary

Page 3 — Time & Segment Trends

Time & Segment Trends


Objectives

  • 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

Tools & Technologies

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

Dataset Overview

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

Data Cleaning

All preprocessing is handled in ROI-Model-Code/marketing_roi_evaluation_model.ipynb. The following steps were applied:

  • Converted the Date column to datetime format
  • Enforced numeric types across all quantitative columns
  • Filled missing Engagement Score values with the column mean
  • Labeled missing Customer Segment entries as "Unknown"
  • Removed duplicate records and verified unique Campaign IDs
  • Engineered new features including CTR (Click-Through Rate) and CPC (Cost Per Click)

Exploratory Data Analysis

Univariate Analysis

  • 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

Bivariate Analysis

  • 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

Correlation Analysis

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()

Power BI Dashboard

The dashboard is structured across three focused pages:

Page 1 — Executive Overview

  • 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

Page 2 — Channel & Audience Summary

  • 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

Page 3 — Time & Segment Trends

  • Monthly ROI and Engagement trends
  • Campaign volume over time
  • Conversion Rate trends across periods
  • ROI breakdown by Customer Segment
  • Monthly KPI comparison table

Key Insights

  • 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.

Recommendations

  1. Scale successful channels — Prioritize Email, Facebook, and Google Ads where ROI is proven strongest.
  2. Refine audience targeting — Develop tailored content for high-converting segments like Foodies and Outdoor Adventurers.
  3. Optimize the conversion funnel — Improve landing page experience to reduce post-click drop-off.
  4. Time campaigns strategically — Schedule major campaign launches in Q1 when audience engagement peaks.
  5. Leverage stable CPC — Use the predictable cost baseline to redirect focus toward creative quality and precision targeting.

Conclusion

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.


Future Work

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

About

A full-scale analytical project uncovering performance trends across channels, customer segments, and time — powered by Python, Power BI, and DAX.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages