Analyze User Engagement Metrics for Video-Calling App
Company: Meta
Role: Data Scientist
Category: Data Manipulation (SQL/Python)
Difficulty: Medium
Interview Round: Technical Screen
Calls
+--------+-----------+------------+---------+----------+
| caller | recipient | ds | call_id | duration |
+--------+-----------+------------+---------+----------+
| 123 | 456 | 2019-01-01 | 4325 | 864.4 |
| 032 | 789 | 2019-01-01 | 9395 | 263.7 |
| 456 | 032 | 2019-01-01 | 0879 | 22.0 |
+--------+-----------+------------+---------+----------+
Users
+---------+-----------+---------+------------+----------+------------+
| user_id | age_bucket| country | primary_os | dau_flag | ds |
+---------+-----------+---------+------------+----------+------------+
| 123 | 25-34 | US | iOS | 1 | 2019-01-01 |
| 456 | 35-44 | France | Android | 1 | 2019-01-01 |
| 789 | 25-34 | US | iOS | 0 | 2019-01-01 |
+---------+-----------+---------+------------+----------+------------+
##### Scenario
You work for a video-calling app and need to report user engagement metrics for different geographies.
##### Question
What percentage of users whose country = 'France' were on at least one video call yesterday?
What is the total video-call duration divided by the number of daily active users (DAU) in the United States today?
##### Hints
Join the calls table with the user profile table; use DISTINCT user counts, date filters like DATE(ds)=CURRENT_DATE-1 or CURRENT_DATE, and aggregate durations in seconds/minutes before dividing.
Quick Answer: This question evaluates competency in data manipulation and product-metric computation, focusing on combining user profile and call event data to produce user-level engagement measures like participation rates and average call duration.