Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Classify Power Users by Activity

Medium
SQL & Data ManipulationJoinsGroup ByCase WhenAggregationsAsked 1 times

Problem

StreamWave wants to segment users by recent activity. Write a PostgreSQL query to identify power users and compare them with casual users over the last 30 days.

A user is a power user if they completed 5 or more sessions in the last 30 days. Otherwise, they are a casual user. Only include users whose account status is active.

Requirements

  1. Count each active user's completed sessions in the last 30 days.
  2. Classify users as power_user or casual_user using the 5-session threshold.
  3. Return one row per segment with:
    • number of users
    • average completed sessions per user
    • average total minutes watched per user
  4. Include active users with zero completed sessions as casual_user.
  5. Order results by user_segment.

Table Definitions

users

columntypedescription
user_idINTPrimary key
user_nameVARCHAR(100)User name
signup_dateDATEAccount creation date
statusVARCHAR(20)Account status

sessions

columntypedescription
session_idINTPrimary key
user_idINTReferences users.user_id
session_dateDATESession date
duration_minutesINTSession length in minutes
session_statusVARCHAR(20)Session outcome

Schema

users
ColumnTypeDescription
user_idPKINTPrimary key for each user
user_nameVARCHAR(100)Full name of the user
signup_dateDATEDate the user created the account
statusVARCHAR(20)Account status such as active or inactive
sessions
ColumnTypeDescription
session_idPKINTPrimary key for each session
user_idINTUser who started the session
session_dateDATEDate of the session
duration_minutesINTLength of the session in minutes
session_statusVARCHAR(20)Status of the session such as completed or cancelled

You are practicing as a guest. Sign up free to run your code against the sample data. Your draft stays right here.

Sign up freeI have an account
SELECT ...
FROM ...
JOIN ... ON ...
GROUP BY ...
HAVING ...
ORDER BY ... DESC;
Sign up to unlock solutions
Quora Product Growth Analyst Interview Questions
Next questions
Monthly User Engagement Trend AnalysisMediumMeta7-Day Rolling Active UsersMediumHelloFreshCompare Weekly User Activity TrendsMedium
PostgreSQL