Calculate engagement score per user

Last updated: October 15, 2025

Quick Overview

Write a query to compute engagement score grouped by date, handling edge cases like nulls and duplicates.

Lyft
Data Manipulation (SQL/Python)
Data Scientist
Lyft
October 15, 2025
Data Scientist
Take-home Project
Data Manipulation (SQL/Python)
Easy

75

4

4,756 solved


Write a query to compute engagement score grouped by date, handling edge cases like nulls and duplicates.

This question from Lyft's Take-home Project tests practical data skills. The interviewer wants to see clean, efficient queries that handle edge cases like NULLs, duplicates, and large datasets.

What the Interviewer Expects
  • Write syntactically correct SQL with proper JOIN and WHERE clauses
  • Use GROUP BY and aggregate functions appropriately
  • Handle NULL values correctly in your queries
  • Explain the query execution plan at a high level
Key Topics to Cover
Common Table Expressions (CTEs)
JOIN types and when to use each
Window functions (ROW_NUMBER, RANK, LAG, LEAD)
NULL handling and COALESCE
Subqueries and correlated subqueries
Aggregate functions and GROUP BY
How to Approach This
  1. Clarify the schema and expected output format before writing queries.
  2. Use CTEs (WITH clauses) to break complex queries into readable steps.
  3. Consider window functions (ROW_NUMBER, RANK, LAG, LEAD) for ranking and sequential analysis.
  4. Watch for NULLs, duplicates, and edge cases in JOINs and GROUP BY.
  5. For pandas, prefer vectorized operations over row-by-row iteration.
Possible Follow-up Questions
  • How would you handle this if the data was spread across multiple databases?
  • How would you handle slowly changing dimensions in this scenario?
  • What indexes would you create to support this query?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice SQL Problems
Sample Answer
Problem Understanding

To compute the engagement score per user grouped by date, we need to consider user interaction data that likely includes user IDs, interaction timestamps, and possibly metrics that contribute to the e...

Approach
  1. Identify Data Sources: Determine which tables contain the necessary data (e.g., user_engagement with columns: user_id, interaction_date, engagement_metric).
  2. Handle Duplicates: U...

Submit Your Answer
Markdown supported

Related Questions