Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top Channels by CAC

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

Your question is Top Channels by CAC. Start with the requirements and the three 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

Asana Spa's marketing team wants to evaluate channel efficiency for the last completed reporting quarter, Q2 2025. Write a PostgreSQL query that identifies the three most cost-efficient acquisition channels based on cost per acquired user.

Requirements

  1. Include campaign spend and users acquired between 2025-04-01 inclusive and 2025-07-01 exclusive.
  2. Calculate user acquisition cost as total campaign spend divided by the count of distinct non-null acquired users per channel.
  3. Return the three channels with the lowest positive acquisition cost, ordered from lowest to highest. Exclude channels with no qualifying users or no positive spend.

Schema

marketing_channels
ColumnTypeDescription
channel_idPKINTUnique marketing channel identifier
channel_nameVARCHAR(100)Asana Spa marketing channel name
campaigns
ColumnTypeDescription
campaign_idPKINTUnique campaign identifier
channel_idINTReferences marketing_channels.channel_id
campaign_nameVARCHAR(150)Campaign name
campaign_dateDATEDate associated with campaign spend
spendDECIMAL(12,2)Campaign spend amount
user_acquisitions
ColumnTypeDescription
acquisition_idPKINTUnique acquisition event identifier
campaign_idINTReferences campaigns.campaign_id
user_idINTAcquired Asana Spa user identifier
acquired_atDATEDate the user was acquired
Tablesmarketing_channelscampaignsuser_acquisitions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results