Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Monthly Retention SQL Query
00:00
5 left

Monthly Retention SQL Query

HardSQL · PostgreSQL

Problem

Write a SQL query to find the monthly retention rate of customers acquired through organic search.

Use customer activity after acquisition and report cohorts through June 2024. Treat a customer as retained in a month if they have at least one activity event during that month.

Output

  1. One row per organic-search acquisition cohort and month since acquisition.
  2. Columns: cohort_month, months_since_acquisition, cohort_size, and retention_rate.
  3. Include zero-retention months through June 2024, ordered by cohort_month and months_since_acquisition.

Schema

customers
ColumnTypeDescription
customer_idPKINTUnique customer identifier
acquired_atTIMESTAMPCustomer acquisition timestamp
acquisition_channelVARCHAR(50)Marketing channel credited with acquisition
customer_activity
ColumnTypeDescription
activity_idPKINTUnique activity event identifier
customer_idINTCustomer associated with the activity
activity_atTIMESTAMPTimestamp of customer activity
activity_typeVARCHAR(50)Type of customer activity
Tablescustomerscustomer_activity
Interviewer

Your question is Monthly Retention SQL Query. Start with the requirements and the two tables in the Question tab.

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.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.