SQL for Product Analytics: DAU, MAU, Stickiness and Feature Adoption in a Food-Delivery App
<p>Rasoi Run, a food-delivery app in Indore, Bhopal, Nagpur and Raipur, is about to show its September numbers to its investors, and three different stories are going round: the growth team's monthly-active-users figure, the product manager's count of taps on the new Reorder button, and marketing's belief that Instagram sign-ups are the ones who order. Meera Joshi, the new product analyst, decides to answer from the app's own event log.</p><p>Across five lessons you build the product-health pack with her, in an SQL lab in your browser: what counts as an active user (and why a push notification doesn't), MAU and DAU with COUNT(DISTINCT), stickiness as DAU/MAU, weekly actives on Monday weeks, feature adoption with the right numerator, denominator and launch date, LEFT JOIN and COUNT(column), a first-order funnel built with UNION ALL, conversion by acquisition source with cleaned-up tags, 7-day activation that is fair to the newest users, and order frequency without join fan-out. Every lesson you write the query yourself first, then hand the same job to your AI (ChatGPT, Claude, Gemini or Copilot) and learn exactly where it goes wrong. In the capstone your AI writes the final queries from one brief, and you prove every number before it reaches the investors.</p>
Tools: SQL (MySQL), COUNT(DISTINCT) and GROUP BY, CTEs (WITH), LEFT JOIN, UNION ALL, DATEDIFF and WEEKDAY, Product analytics: DAU, WAU, MAU, AI assistants for SQL