Robinhood ยท Data Analytics

Marketing Channel Performance

The work

What they wrote about it

Marketing Channel Performance

๐Ÿ“Š Project Overview

This project analyzes six months of marketing channel and campaign performance using PostgreSQL.

The analysis focuses on understanding how paid marketing campaigns perform across the acquisition funnel โ€” from impressions and clicks to signups, paying subscribers, and first-90-day revenue.

The goal is to evaluate marketing efficiency, compare paid and unpaid acquisition, identify performance trends, and develop a data-driven framework for allocating the next six months of marketing budget.


๐ŸŽฏ Business Objective

The marketing team wants to understand:

  • Which campaigns generate the most efficient traffic?
  • Which campaigns acquire the most customers?
  • How efficiently do signups convert into paying subscribers?
  • Which channels generate the strongest return on advertising spend?
  • How does paid acquisition compare with organic and referral acquisition?
  • Which campaigns stopped running during the six-month period?
  • How should the marketing budget be allocated for the next six months?

๐Ÿ“ Dataset

The project uses two datasets:

svgad_spend.csv

Contains advertising performance data including:

  • Date
  • Marketing channel
  • Campaign
  • Impressions
  • Clicks
  • Spend

svgsignups.csv

Contains customer acquisition and subscription data including:

  • User ID
  • Signup date
  • Marketing channel
  • Campaign
  • Subscription start date
  • Plan
  • First-90-day revenue

The data includes both paid and unpaid acquisition sources such as:

  • Paid Search
  • Paid Social
  • Display
  • Affiliate
  • Organic
  • Referral

๐Ÿ› ๏ธ Tools

  • PostgreSQL
  • SQL
  • pgAdmin 4

๐Ÿ” Analysis Workflow

1. Data Validation & Standardization

Validated the source data for:

  • Duplicate records
  • Missing values
  • Invalid numeric values
  • Clicks greater than impressions
  • Channel and campaign naming inconsistencies

Standardized channel and campaign names using lowercase formatting and underscores to create reliable join keys.


2. Campaign Performance

Calculated campaign-level marketing metrics:

  • Total Spend
  • Impressions
  • Clicks
  • Click-Through Rate (CTR)
  • Cost Per Click (CPC)

These metrics help evaluate how efficiently campaigns generate traffic.


3. Campaign Outcomes

Connected advertising spend with customer outcomes to calculate:

  • Total Signups
  • Paying Subscribers
  • Signup-to-Paid Conversion Rate
  • Cost Per Signup
  • Cost Per Paying Subscriber
  • First-90-Day Revenue
  • Return on Ad Spend (ROAS)

4. Paid vs. Unpaid Acquisition

Compared paid acquisition with:

  • Organic
  • Referral

The analysis evaluates signup-to-paying conversion rates to understand differences between paid and unpaid customer acquisition.


Analyzed monthly marketing performance to identify:

  • Monthly advertising spend
  • Impressions
  • Clicks
  • CTR
  • CPC
  • Active campaigns
  • Campaigns that stopped running
  • Monthly signup and subscription trends

6. Channel Evaluation

Evaluated marketing channels using multiple efficiency metrics:

MetricPurpose
CPCMeasures traffic acquisition efficiency
Cost Per SignupMeasures signup acquisition efficiency
Cost Per Paying SubscriberMeasures customer acquisition efficiency
ROASMeasures revenue generated relative to advertising spend

ROAS provides a revenue-based view of campaign performance, while the other metrics help explain differences in traffic and customer acquisition efficiency.


7. Budget Allocation Framework

Developed a risk-aware framework for allocating the next six months of marketing budget.

The recommendation combines:

  • 70% ROAS performance signal
  • 30% historical spending signal

This approach avoids allocating the entire budget based only on historical ROAS and accounts for the fact that campaign performance may change as spending increases.


๐Ÿ“ˆ Key Business Considerations

The analysis highlights several important considerations when evaluating marketing performance:

  • High traffic efficiency does not necessarily translate into high customer conversion.
  • A campaign can generate many signups while producing relatively few paying subscribers.
  • ROAS can provide a different ranking from CPC or cost per signup because it incorporates revenue.
  • Historical performance may not remain constant when budgets increase.
  • First-90-day revenue does not capture the full potential lifetime value of customers.
  • Campaign performance should be monitored after budget changes to identify diminishing returns.
  • Historical correlations between spend and revenue should not automatically be interpreted as causal effects.

๐Ÿ“‚ Project Structure

Marketing-Channel-Performance/
โ”‚
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ svgad_spend.csv
โ”‚   โ””โ”€โ”€ svgsignups.csv
โ”‚
โ”œโ”€โ”€ sql/
โ”‚   โ”œโ”€โ”€ 01_data_validation_and_standardization.sql
โ”‚   โ”œโ”€โ”€ 02_campaign_performance.sql
โ”‚   โ”œโ”€โ”€ 03_campaign_outcomes.sql
โ”‚   โ”œโ”€โ”€ 04_paid_vs_unpaid.sql
โ”‚   โ”œโ”€โ”€ 05_monthly_performance.sql
โ”‚   โ”œโ”€โ”€ 06_channel_evaluation.sql
โ”‚   โ””โ”€โ”€ 07_budget_recommendation.sql
โ”‚
โ”œโ”€โ”€ outputs/
โ”‚   โ””โ”€โ”€ campaign_metrics.xlsx
โ”‚
โ””โ”€โ”€ README.md

๐Ÿ“Š Final Deliverable

The project includes a campaign-level performance table containing:

  • Channel
  • Campaign
  • Total Spend
  • Impressions
  • Clicks
  • CTR
  • CPC
  • Total Signups
  • Paying Subscribers
  • Signup-to-Paid Rate
  • Cost Per Signup
  • Cost Per Paying Subscriber
  • First-90-Day Revenue
  • ROAS

๐Ÿ’ก Conclusion

This project demonstrates how SQL can be used to move from raw marketing data to actionable business analysis.

By connecting advertising spend with customer acquisition and revenue outcomes, the analysis provides a structured view of marketing channel performance and a framework for making future budget allocation decisions.


๐Ÿ‘ค Author

Papu

Data Analyst | SQL | Python | Power BI | Excel


๐Ÿ“Œ Dataset Source

Dataset provided by Data Career School and used for portfolio/practice purposes.

The brief this answers

Compare six months of ad spend against signups and paying customers, then recommend where the next budget should go.

Try it yourself

Other answers to this brief

The same problem, solved by somebody else.

Discussion

Nothing here yet. Ask how they approached it, or tell them what you would have done differently.