Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Onboarding Retention SQL

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

Your question is Onboarding Retention SQL. 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

Write a SQL query to calculate the retention rate of users who completed the onboarding flow versus those who did not at Superhuman.

Use the signup date as the cohort start. Define a retained user as someone with at least one activity between 30 and 59 days after signup, inclusive. Treat users without a completion event as not completed.

Output

  1. One row per onboarding status, with onboarding_status, eligible_users, retained_users, and retention_rate.
  2. Include both completed and not-completed statuses, with retention rate expressed as a percentage rounded to two decimal places.
  3. Order completed users before users who did not complete onboarding.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Superhuman user identifier
signup_dateDATEDate the user signed up
onboarding_events
ColumnTypeDescription
event_idPKINTUnique onboarding event identifier
user_idINTUser associated with the onboarding event
event_typeVARCHAR(30)Onboarding event type
occurred_atDATEDate the onboarding event occurred
user_activity
ColumnTypeDescription
activity_idPKINTUnique activity identifier
user_idINTUser associated with the activity
activity_typeVARCHAR(30)Type of Superhuman activity
activity_dateDATEDate the user was active
Tablesusersonboarding_eventsuser_activity
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results