Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Monthly Retention Cohort Analysis

MediumSQL · PostgreSQL00:00
I
Practice interviewer
Your interviewer
In session
I
Interviewer

Welcome to the SQL screen.

The question is on your right: Monthly Retention Cohort Analysis. Read through the requirements and the three tables first.

Run and submit your code as often as you need. You also have five interviewer messages this session - want to talk through your approach, or are you ready to start coding?

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

Problem

You are given user signup data and product activity data for a self-serve AI product. Write a PostgreSQL query that builds monthly signup cohorts and measures retention by month offset. A user belongs to the cohort of their signup month, and they are retained in month n if they had at least one qualifying activity in the nth calendar month after signup. Return one row per cohort month and month offset for offsets 0, 1, and 2, including cohort size, retained users, and retention rate.

Schema

users
ColumnTypeDescription
user_idPKINTUnique user identifier
signup_dateDATEDate the user created their account
plan_typeVARCHAR(20)Current subscription plan
acquisition_channelVARCHAR(30)Marketing or referral source
workspace_memberships
ColumnTypeDescription
membership_idPKINTUnique membership record
user_idINTUser tied to the workspace
workspace_idINTWorkspace identifier
joined_atDATEDate the user joined the workspace
usage_events
ColumnTypeDescription
event_idPKINTUnique event identifier
workspace_idINTWorkspace where the event happened
event_dateDATEDate of the usage event
event_nameVARCHAR(50)Type of product event
event_countINTNumber of events represented by the row
Tablesusersworkspace_membershipsusage_events
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results