Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rank Campaigns by ROI Per Region

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Rank Campaigns by ROI Per Region. Start with the requirements and the two tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Netflix marketing analytics needs to compare campaign efficiency across geographic regions. Write a PostgreSQL query that aggregates campaign performance for Q1 2025 and ranks campaigns by return on investment within each region.

Requirements

  1. Join campaign metadata with daily performance metrics.
  2. Calculate total spend, total attributed revenue, and ROI as (revenue - spend) / spend.
  3. Rank campaigns within each region using RANK(), with the highest ROI receiving rank 1.
  4. Exclude campaigns with no positive spend and sort the result by region, ROI rank, and campaign ID.

Schema

campaigns
ColumnTypeDescription
campaign_idPKINTUnique campaign identifier
campaign_nameVARCHAR(100)Netflix campaign name
regionVARCHAR(20)Target market region
campaign_daily_metrics
ColumnTypeDescription
metric_idPKINTUnique daily metric row identifier
campaign_idINTCampaign associated with the metric row
metric_dateDATEDate of measured campaign activity
spendNUMERIC(12,2)Daily marketing spend
attributed_revenueNUMERIC(12,2)Revenue attributed to the campaign
Tablescampaignscampaign_daily_metrics
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results