Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
7-Day Rolling DAU on Facebook
00:00
5 left

7-Day Rolling DAU on Facebook

MediumSQL · PostgreSQL

Problem

Facebook wants to monitor short-term engagement trends by tracking the 7-day rolling average of daily active users (DAU). Write a SQL query to calculate this metric from app activity logs.

Requirements

  1. Treat a user as active on a day if they generated at least one event on that date.
  2. Compute daily active users as the count of distinct users per activity date.
  3. Return the 7-day rolling average of DAU using the current date and previous 6 dates in the result set.
  4. Output activity_date, daily_active_users, and rolling_7d_avg_dau.
  5. Order the final result by activity_date ascending.

Schema

facebook_activity
ColumnTypeDescription
event_idPKINTUnique event identifier
user_idINTFacebook user who generated the event
event_timeTIMESTAMPTimestamp when the activity occurred
event_nameVARCHAR(50)Type of user activity event
device_typeVARCHAR(20)Device used for the event
Tablesfacebook_activity
Interviewer

Your question is 7-Day Rolling DAU on Facebook. Start with the requirements and the one table in the Question tab.

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.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.