Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top Users by Engagement

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

Your question is Top Users by Engagement. 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

Dayforce wants to identify the most engaged users of its platform. Using activity recorded during Q2 2025, write a PostgreSQL query that ranks every user and returns the top 10% based on a defined engagement score.

Requirements

  1. Include every user, including users with no qualifying activity during Q2 2025.
  2. Calculate quarterly sessions and completed tasks from engagement_events.
  3. Define engagement_score as (sessions * 2) + completed_tasks.
  4. Use a window function to divide users into ten engagement deciles and return only decile 1, ordered by score descending.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Dayforce user identifier
full_nameVARCHAR(100)User's display name
engagement_events
ColumnTypeDescription
event_idPKINTUnique engagement event identifier
user_idINTUser associated with the event
event_typeVARCHAR(30)Type of engagement activity
engagement_valueINTNumber of represented sessions or completed tasks
occurred_onDATEDate on which the activity occurred
Tablesusersengagement_events
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results