Calculate Response Rate and Compare User Survey Ratings
Company: Meta
Role: Data Scientist
Category: Data Manipulation (SQL/Python)
Difficulty: Medium
Interview Round: Onsite
USERS
user_id | signup_date
10 | 2024-03-20
11 | 2024-04-01
12 | 2024-04-05
SURVEYS
survey_id | user_id | sent_at
1 | 10 | 2024-04-01
2 | 11 | 2024-04-02
3 | 12 | 2024-04-05
SURVEY_RESPONSES
survey_id | user_id | responded_at | rating
1 | 10 | 2024-04-01 10:02 | 4
3 | 12 | 2024-04-05 12:15 | 5
##### Scenario
Using Meta’s notification-survey data, write SQL to
(a) compute the survey response rate and
(b) test whether new users have a higher average survey rating than existing users.
##### Question
Write a query that returns overall response_rate = #responses / #surveys. State and handle your join choice when surveys lack a response. Write a query that compares mean rating between new users (<30 days since signup) and existing users, controlling aggregation level appropriately.
##### Hints
Think join type, denominator, NULL handling, aggregation grain, and division-by-zero safeguards.
Quick Answer: This question evaluates data manipulation and analytical skills, including correct SQL join selection, NULL handling, aggregation grain, denominator construction for response rates, and comparative statistics for mean rating differences between cohorts.