Learn data by catching the right fireflies.

Each level is a real ticket from a colleague at Harbor & Pine, a home-goods store. Write the SQL, pandas, Excel formula or DAX measure, check it, and watch your lantern light up.

SQL

116 levels
SELECT *
FROM products;
Play level 1

Python

114 levels
products.head()
Play level 1

Excel

85 levels
=SUM(D2:D21)
Play level 1

Statistics

42 levels
values.median()
Play level 1

KPIs

43 levels
revenue / orders
Play level 1

Power BI

99 levels
CALCULATE([Sales])
Play level 1

Casework

33 levels
SQL · pandas · Excel
Open a case
  • Runs in your browser
  • No signup
  • About 3 minutes a level

How a level works

Three steps, about three minutes. The same in SQL, Python and Excel.

  1. Read the ticket

    A colleague asks a real question: a sales number, a list of customers, a cleanup. Mote brings it to you with a short goal list.

  2. Write the query

    SQL or pandas in a real editor, or formulas in a real spreadsheet, on the store's data. The lesson sits next to it.

  3. Press Run

    Your result is checked against the answer, so any correct query passes. Then the stars: solved, no hints, right on the first run.

All levels

Six tracks, equal from day one. Every SQL, Python, Excel, Statistics, KPI and Power BI level is open; play them in any order.

SQL

13 chapters · 116 levels

By the end you can filter, join, group and rank a real company database, and write the CTEs and window functions interviewers ask about.

  1. SELECT basics 9 levels
  2. Filtering rows 10 levels
  3. Sorting and limits 8 levels
  4. Aggregates and GROUP BY 9 levels
  5. JOINs 10 levels
  6. CASE, dates and strings 9 levels
  7. Subqueries and CTEs 11 levels
  8. Window functions 11 levels
  9. Analytics patterns 8 levels
  10. Cleaning data in SQL 8 levels
  11. Reading and fixing queries 8 levels
  12. Combining result sets 7 levels
  13. Creating and changing tables 8 levels
Open the SQL map

Python

12 chapters · 114 levels

By the end you can load, clean, group, merge and reshape real tables in pandas, chart them with matplotlib and seaborn, and turn the numbers into a clear takeaway.

  1. Python basics 10 levels
  2. Lists, dictionaries and loops 10 levels
  3. Functions 9 levels
  4. pandas first look 10 levels
  5. Filtering and sorting 10 levels
  6. New columns, groupby and aggregation 10 levels
  7. Merging tables 10 levels
  8. Cleaning messy data 10 levels
  9. Reshaping data 9 levels
  10. Time series 8 levels
  11. Charts with pandas and matplotlib 9 levels
  12. Seaborn, correlation and conclusions 9 levels
Open the Python map

Excel

12 chapters · 85 levels

By the end you can clean an export, look values up, total by condition, build PivotTables and charts, shape data with Power Query steps and assemble the monthly report.

  1. Formulas and references 5 levels
  2. Decisions and lookups 8 levels
  3. Conditional totals 7 levels
  4. Text and dates 8 levels
  5. Cleaning an export 8 levels
  6. Tables, validation and formatting 8 levels
  7. PivotTables 7 levels
  8. Charts 7 levels
  9. Statistics and finance 7 levels
  10. Consolidating data 6 levels
  11. Power Query 7 levels
  12. The monthly report 7 levels
Open the Excel map

Power BI

12 chapters · 99 levels

By the end you can shape and model the data, write CALCULATE, time-intelligence and iterator measures that survive any filter, and design a report people can trust and act on.

  1. Business intelligence and Power BI 8 levels
  2. Getting and shaping data in Power Query 8 levels
  3. Data modelling and the star schema 9 levels
  4. DAX basics: columns and measures 9 levels
  5. CALCULATE and filter context 9 levels
  6. Time intelligence 9 levels
  7. Advanced DAX 9 levels
  8. Visuals that answer the question 7 levels
  9. Interactivity 8 levels
  10. Dashboards and storytelling 7 levels
  11. Power BI Service, sharing and security 8 levels
  12. Optimising Power BI reports 8 levels
Open the Power BI map

Casework

12 cases · 33 levels · 3 open from the start

Real analyst jobs on Harbor & Pine data, start to finish: frame the question, check the data, run the analysis in SQL, pandas or Excel, and write the recommendation. Several cases are open from the start; the rest open as you finish track chapters.

About the dataset

Harbor & Pine is a fictional US online store for furniture, lighting and home goods. Three years of orders, 2023 to 2025, with the mess real data has: missing values, stray spaces, duplicate customers. SQL, Python, Excel, Statistics, KPI and Power BI levels use the same 8 tables.

customers2,018 rows · 9 columns
Who buys: city, state, signup date, consumer or business, how they found the store.
products120 rows · 8 columns
The catalog: category, price, cost (sometimes missing), launch date, still on sale or not.
orders12,000 rows · 7 columns
One row per order: when, which channel, status, shipping fee, coupon.
order_items30,338 rows · 6 columns
The lines inside each order: product, quantity, price paid, discount.
returns1,673 rows · 5 columns
What came back, why, and how much was refunded.
employees60 rows · 8 columns
The team, with departments, titles, salaries and who reports to whom.
web_sessions40,000 rows · 7 columns
Site visits: device, traffic source, pages viewed, whether it converted.
marketing_spend3,276 rows · 3 columns
Daily spend per marketing channel, for cost-per-conversion work.

Questions

Do I need to install anything?

No. SQL runs in DuckDB, Python runs in Pyodide and Excel levels use a spreadsheet built into the page, all inside your browser tab. The first Python level downloads about 12 MB once; after that it starts in seconds.

Which SQL dialect is it?

DuckDB, which follows PostgreSQL closely. Everything you learn here (SELECT, JOINs, GROUP BY, CTEs, window functions) works the same in PostgreSQL, and with small changes in MySQL, SQL Server and BigQuery.

Which one should I learn first: SQL, Python or Excel?

Any of them. The tracks are independent and all open from the first level. Many analysts learn them side by side, and the casework track lets you solve each case in the language you prefer.

What does the Statistics track cover?

The statistics analyst job posts ask for: mean versus median, spread and outliers, sampling, A/B tests with confidence intervals and p-values, correlation and regression, and choosing honest charts. You compute every answer in pandas on the store data.

What does the KPIs track cover?

The business metrics analysts report every week: gross and net revenue, average order value, LTV and CAC, conversion funnels, cohort retention and churn, margin and Pareto, and how to define a KPI so it cannot mislead. Each code level is solved in SQL or pandas on the store data.

Can I practise Power BI in a browser?

Power BI Desktop itself only runs on Windows, so this track teaches the same skills in practice tools built for the page: Power Query steps on a live preview, a model diagram where you draw relationships, and a DAX engine that fills a matrix cell by cell, as Power BI does. Every lesson also gives the exact menu path to do it for real in Power BI Desktop.

Do the Excel levels work like real Excel?

Yes. Formulas, cell references, $ locking, fill-down and functions such as SUM, IF and XLOOKUP follow the same rules as Microsoft Excel and Google Sheets, so what you practise works at your desk. PivotTables are built from the same field choices as in Excel. Power Query levels use a practice editor with its step names; the real Power Query runs only in Excel.

Is my progress saved?

Yes, in this browser. There is no account. You can download your progress as a file from the Progress page and import it on another device.

How are answers checked?

Your result is compared with the expected output, not your code with ours. Any query or pandas code that returns the right table passes, and a wrong answer tells you what is off: missing columns, extra rows, a value that is too high.

Is it free?

Yes. Every level in every track and every case is free to play, with no signup.

Resources

For the desk next to the levels and the week before an interview. Every snippet runs on the same store data, and every topic links back to the level that teaches it.

Pick what may run on this site. You can change this any time from "Cookie settings" at the bottom of every page.