Pick a challenge
Use the finder to filter by skill area and difficulty, or jump straight into the first challenge.
Open FinderRunnable SQL practice
Practice cohorts, retention, window functions, revenue analysis, and data engineering SQL patterns with small datasets you can run locally.
SELECT
sex,
passenger_class,
COUNT(*) AS total_passengers,
ROUND(100.0 * AVG(survived), 2) AS survival_rate_pct
FROM passengers
GROUP BY sex, passenger_class
ORDER BY sex, passenger_class;
Start here
Use the finder to filter by skill area and difficulty, or jump straight into the first challenge.
Open FinderOpen the prompt, schema, solution, and expected output without leaving the project site.
Open ViewerCopy the SQL commands, compare against the validated snapshot, and inspect the source on GitHub.
Open RepositoryChallenge finder
Filter the challenge set by topic and difficulty, then open a readable viewer with the prompt, schema, solution, and expected output.
Study paths
Grouping, ranking, time-based aggregation, percent-of-total analysis, and customer-level metrics.
Monthly retention, cohort offsets, repeat behavior, retention matrices, and rolling trends.
Daily revenue, date spines, Pareto analysis, month-over-month growth, and customer contribution share.
Renewal state logic, SCD Type 2 history, incremental loads, stockout risk, conversion windows, and payment reconciliation.
Validation
Each challenge has an expected.json snapshot. The validator executes the schema and solution in SQLite, then compares the actual result columns and rows against the expected output.
python scripts/validate_challenges.py
Contribute
The roadmap lists challenge ideas for inventory, attribution, SaaS metrics, support operations, and data quality. Requests and small fixes are welcome when they keep the examples runnable and easy to review.