sqlEASYSQL
Warm up with retention cohort matrix
Easy SQL arena: date bucketing, joins, and cohort aggregation
XP reward
95
Coins
8
Target time
15m
Product wants week-one and week-four retention without double counting returning users. You are working inside an analytics warehouse, and the arena only clears when the result is safe, deterministic, and explainable.
Learning objective
Learn to apply date bucketing, joins, and cohort aggregation in an analytics warehouse while explaining the invariant, safety constraints, and hidden edge cases.
Mission order
users(id, created_at) and events(user_id, event_name, occurred_at). Implement the direct solution first, then document the one edge case that can break it. Submit the solution plus enough reasoning to pass hidden edge cases.Visible checks
returns read-only result set
Expected: no mutation statements
uses deterministic ordering
Expected: stable review output
Clear requirements
- Demonstrates date bucketing, joins, and cohort aggregation
- Handles the visible sample and hidden edge cases
- Keeps output deterministic and explainable
- Stays read-only
Secure validation contract
Judge type
SQL
Complexity target
Readable single-pass aggregate or join
SQL schema
users(id, created_at) and events(user_id, event_name, occurred_at).
Workspace
SQL query console
sqlsafe mock judge
Charging editor core
Test Results
Run the visible checks when your first pass is ready.
Clear Protocol
1Read the scenario and restate the expected output shape.
2Run visible checks before chasing hidden edge cases.
3Use Genie for one nudge if stuck, then explain the invariant.
4Submit only when the result is deterministic and safe.
Rewards
XP
95
Coins
8
Mission Route
Hints
Hints are metered and logged for No Hint Hero runs.
Genie Mentor Core
Hint protocol / contextual guardrails active
Progressive hints
Failed-test aware
Solution guarded
Mission: sql-easy-retention-cohorts0 attempts0 failed tests0 hints used
Progressive hint depth
Genie: Genie online. I use your mission, attempts, failed tests, hints, and path context to coach the next rep without dumping answers first.