From a product question to a query you can defend
Without a precise definition, a question like the number of active users yields as many answers as there are people computing it. This lesson teaches you to turn a vague question into a defined metric, then into a query whose result you can verify. You present a number everyone can review, compare and reuse, instead of starting a debate.
Lesson objective
By the end of this lesson, you will be able to turn a vague product question into a precise metric definition (population, event, period, exclusions, NULL handling), derive the tables and the grain, write the query step by step and sanity-check it before sharing the result.
Topics covered
- metric definition
- active users
- SQL queries
- sanity check
- product questions
Where it fits
Answer product questions
How do I go from a vague question ("are our customers active?") to a query whose result I can defend?
Lessons in this module
- Break queries down with WITH, compare with window functions
- From a product question to a query you can defend (this lesson)
What you will learn in the course
This lesson is part of the course Model your product’s data and query it with SQL
- Read a data model (tables, primary and foreign keys, cardinalities, entity-relationship diagram) and connect it to the product's screens and rules.
- Model the data of a feature (entities, attributes, relationships, keys, cardinalities) and get the model validated by the engineering team.
- Compare a relational database and a document (NoSQL) database for a product need and justify the choice based on expected queries, consistency and change.
- Write queries that filter, sort and aggregate (SELECT, WHERE, ORDER BY, GROUP BY, HAVING) while handling NULL values and dates correctly.
- Combine several tables with INNER and LEFT joins, and check that the result neither loses nor duplicates any row.
- Turn a product question into a verifiable query, using CTEs and simple window functions (ROW_NUMBER, LAG, SUM OVER).
- Query data read-only while protecting personal data, and have an AI draft SQL while checking every query before using its result.
Related courses
- Git for PMs: ship as a team without putting production at riskAdvanced · ~3 hr 30 min
- Explain how a web product works, from browser to serverAll levels · ~2 hr 30 min
- Design and test an API integration as a PMJunior · ~3 hr