Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL for Retention or Conversion

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

Your question is SQL for Retention or Conversion. 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

Salesforce Operations wants to monitor month-over-month adoption of Salesforce Data Cloud across customer segments. Write a PostgreSQL query that calculates monthly user retention by segment for February and March 2025.

Requirements

  1. Treat a user as active in a month when at least one activity record exists for that month.
  2. Calculate retained users, defined as users active in both the current month and the immediately preceding month within the same segment.
  3. Return the prior-month active-user count and retention rate as a percentage. Return NULL when the prior-month count is zero.
  4. Exclude activities outside January through March 2025 and label users with a missing segment as Uncategorized.

Schema

users
ColumnTypeDescription
user_idPKINTEGERUnique user identifier
signup_dateDATEDate the user signed up
segmentVARCHAR(30)Customer segment
data_cloud_activity
ColumnTypeDescription
activity_idPKINTEGERUnique activity record
user_idINTEGERUser associated with the activity
activity_monthDATEMonth of activity, stored as a month-start date
Tablesusersdata_cloud_activity
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results