SQL interview question: day-1 retention by channel

MediumRetention

Problem

Shared data rules

For each acquisition channel, find the next-day return rate of users who signed up Jul 6–Sep 26, 2026. Came back = a session_start on the calendar date after the signup date.

Formula

Example

Input: users
user_idsignup_tsacq_channel
12026-08-10 22:30ads
22026-08-20 10:00ads
32026-08-12 09:00organic
42026-09-01 11:00organic
Input: events
user_idevent_tsevent_nameRow note
12026-08-11 08:00session_start← 9.5 h later — already next date
22026-08-22 15:00session_start← two days later — doesn’t count
32026-08-12 18:00session_start← signup day — doesn’t count
32026-08-13 20:00session_start
42026-09-02 10:00session_start
42026-09-02 10:00session_start← duplicate — still one return
Output
acq_channelsignupsreturned_d1d1_retention
ads210.5
organic221

ads: 1 of 2 came back — 0.5; organic: 2 of 2 — 1.

Solve it free

Your query runs on PostgreSQL in your browser. No sign-up needed.

Skills it tests

More interview questions

All questions