Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Day-Over-Day Growth

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

Your question is SQL Day-Over-Day Growth. 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

Instagram's Product Growth team wants to monitor engagement among the Creators user segment. Write a PostgreSQL query for February 1 through February 5, 2025 that calculates daily active Creators and their day-over-day growth.

Requirements

  1. Generate one output row for every calendar date in the requested range, including dates with no Creator activity.
  2. Count distinct Creator users active on each date. Multiple activity rows from the same user on a date must count once.
  3. Use LAG to compare each day's active-user count with the previous calendar day.
  4. Return growth as a percentage rounded to two decimals. Return NULL when there is no prior day or the prior day's count is zero.

Schema

users
ColumnTypeDescription
user_idPKINTInstagram user identifier
segmentVARCHAR(50)Growth segment assigned to the user
instagram_daily_activity
ColumnTypeDescription
activity_idPKINTUnique activity record identifier
user_idINTUser who generated the activity
activity_dateDATECalendar date of the activity
Tablesusersinstagram_daily_activity
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results