Build This Project · Portfolio Guide
Marketing Campaign ROI Analysis — Complete Project Guide
Quick summary — build a marketing campaign ROI analysis project
Marketing is one of the largest budget items for most companies. This project demonstrates your ability to measure campaign effectiveness, calculate ROI, and optimize marketing spend — skills every CMO needs.
In this guide you will learn:
- Project overview — what you'll build and why.
- Data source — where to get marketing data.
- Key metrics and KPIs — what to measure.
- Attribution analysis — channel effectiveness.
- Dashboard design — visualizing marketing ROI.
- Portfolio presentation — how to show it to employers.
SECTION 01Project overview
Here's what you'll build in this project:
- Business problem: A company wants to understand which marketing channels are most effective and how to optimize budget allocation.
- Your solution: A marketing ROI dashboard that tracks campaign performance, attribution, and customer acquisition cost across channels.
- Tools: Python (pandas, matplotlib), Tableau/Power BI, or Excel.
- Outcome: A portfolio-ready project that demonstrates marketing analytics and business strategy skills.
SECTION 02Data source
Here are the best data sources for this project:
| Source | Data | Link |
|---|---|---|
| Kaggle | Marketing datasets | kaggle.com/datasets |
| Google Analytics | Web traffic and conversion data | analytics.google.com |
| Simulated data | Create your own | Use Python to generate |
SECTION 03Key metrics and KPIs
Here are the key metrics your marketing ROI dashboard should track:
| Metric | Why it matters |
|---|---|
| Return on Investment (ROI) | Overall campaign effectiveness — key metric for marketing leaders |
| Customer Acquisition Cost (CAC) | Cost to acquire a new customer — efficiency metric |
| Conversion Rate | Percentage of leads that convert — effectiveness metric |
| Cost Per Lead (CPL) | Cost to generate a lead — efficiency metric |
| Channel Performance | ROI by channel — budget allocation decisions |
| Customer Lifetime Value (LTV) | LTV to CAC ratio — growth metric |
SECTION 04Attribution analysis
Here's how to analyze channel attribution:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('marketing_data.csv')
# Channel performance
channel_performance = df.groupby('channel').agg({
'spend': 'sum',
'revenue': 'sum',
'leads': 'sum',
'conversions': 'sum'
}).reset_index()
# Calculate ROI per channel
channel_performance['roi'] = (channel_performance['revenue'] - channel_performance['spend']) / channel_performance['spend'] * 100
channel_performance['cac'] = channel_performance['spend'] / channel_performance['conversions']
channel_performance['conversion_rate'] = channel_performance['conversions'] / channel_performance['leads'] * 100
# Sort by ROI
channel_performance_sorted = channel_performance.sort_values('roi', ascending=False)
print("Channel Performance:")
print(channel_performance_sorted[['channel', 'roi', 'cac', 'conversion_rate']])
# ROI calculation function
def calculate_roi(spend, revenue):
return ((revenue - spend) / spend) * 100
# Attribution — last-click analysis
attribution = df.groupby('last_click_channel').agg({
'spend': 'sum',
'revenue': 'sum'
}).reset_index()
attribution['roi'] = calculate_roi(attribution['spend'], attribution['revenue'])
# Visualize
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
sns.barplot(data=attribution, x='last_click_channel', y='roi', ax=axes[0])
axes[0].set_title('ROI by Last Click Channel')
axes[0].set_xlabel('Channel')
axes[0].set_ylabel('ROI (%)')
sns.barplot(data=attribution, x='last_click_channel', y='revenue', ax=axes[1])
axes[1].set_title('Revenue by Last Click Channel')
axes[1].set_xlabel('Channel')
axes[1].set_ylabel('Revenue')
plt.tight_layout()
plt.show()
SECTION 05Dashboard design
Here's how to design your marketing ROI dashboard:
- Top section: KPI cards — Overall ROI, CAC, Conversion Rate, Total Revenue.
- Middle section: ROI by channel, revenue trends, conversion trends.
- Bottom section: Channel performance table, attribution analysis, budget allocation recommendations.
- Filters: Date range, campaign, channel.
SECTION 06Portfolio presentation
Here's how to present this project to employers:
- GitHub: Upload your code, data preparation scripts, and dashboard file.
- README: Write a clear README with project overview, metrics, and key insights.
- Executive summary: Include a 1-page summary for business stakeholders.
- Screenshots: Add screenshots of your dashboard and key insights.
- LinkedIn post: Share your project with a brief explanation of the business problem you solved.
SECTION 07Interview Q&A — marketing ROI
Q1Why did you choose a marketing ROI project?
Marketing is a major budget item for most companies. I wanted to show I can help businesses optimize spend and improve campaign effectiveness.
Q2What was the most important metric in your dashboard?
ROI and Customer Acquisition Cost (CAC) — they directly impact marketing efficiency and profitability.
Q3What insights did you find?
I found that social media had the highest ROI but the lowest conversion volume. I recommended reallocating some budget from low-performing channels to high-ROI channels.
Q4What tool did you use?
I used Python for analysis and Tableau for the dashboard. I documented everything on GitHub.
Q5What would you do differently next time?
I'd add multi-touch attribution and predictive modeling for campaign performance forecasting.
SECTION 08Test yourself — marketing ROI quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 09Frequently asked questions
What's the most important KPI for marketing?
ROI and Customer Acquisition Cost (CAC) are the most important KPIs — they directly impact marketing efficiency.
What is Customer Acquisition Cost (CAC)?
CAC is the cost to acquire a new customer — total marketing spend divided by number of new customers acquired.
What's a good marketing ROI?
Generally, an ROI of 5:1 or higher is considered good (₹5 revenue for every ₹1 spent). It varies by industry.
How long does this project take?
2-3 weeks with consistent effort — 1 week for data prep, 1 week for analysis, 1 week for dashboard and documentation.
Do I need experience in marketing?
Not necessarily — the data skills are transferable. Researching marketing metrics will help you build a better project.
SECTION 10Related reads
Classroom & online · Noida
Build a marketing ROI project — get hired
Our Data Analytics Training Course includes marketing and other portfolio projects with step-by-step guidance.
₹15,500 · full programme- 8 portfolio projects
- Marketing analytics
- Mock interviews
- Weekday & weekend batches