# AnalystQuest > AnalystQuest is a free browser game for learning data analysis: SQL, Python/pandas, Excel, Statistics, KPIs, Power BI and Casework. Every level is a realistic ticket from a colleague at Harbor & Pine, a fictional home-goods store, answered on the same store dataset. It runs entirely in the browser (no install), has optional Google sign-in to save progress, and is available in English and Spanish. Who it is for: beginners and career changers learning data analysis, and analysts preparing for interviews. What is free: all tracks, levels, cheat sheets, glossary and interview questions. Signing in is optional and only syncs progress across devices. How levels work: each level is a ticket with a task. You write the query, formula, DAX measure or pandas code, the browser checks the result against the expected answer, and hints and an explanation are available. Chapters group levels and end with a multi-step boss level. ## Tracks - [SQL for Data Analysts](https://analystquest.com/sql/): 116 levels, 13 chapters. Learn SQL the way analysts use it: real tickets from colleagues, answered with queries on a full store database, right in your browser. - [Python for Data Analysts](https://analystquest.com/python/): 114 levels, 12 chapters. Learn Python and pandas for data analysis: from first variables to groupby, merges, cleaning, reshaping, time series and charts, run in your browser. - [Excel for Data Analysts](https://analystquest.com/excel/): 85 levels, 12 chapters. Learn Excel the way analysts use it: real tickets answered in a spreadsheet in your browser, on slices of the same store data, checked cell by cell. - [Statistics and Charts for Data Analysts](https://analystquest.com/stats/): 42 levels, 7 chapters. Learn the statistics every analyst job expects: averages that lie, spread, sampling, A/B tests, correlation and honest charts, computed in pandas on real store data. - [Business Metrics and KPIs for Data Analysts](https://analystquest.com/kpi/): 43 levels, 6 chapters. Learn the business metrics every analyst reports: revenue, AOV, LTV, CAC, conversion, retention, churn and margin, defined honestly and computed in SQL and pandas on real store data. - [Power BI for Data Analysts](https://analystquest.com/powerbi/): 99 levels, 12 chapters. Learn Power BI the way analysts use it: Power Query steps, a star-schema model, DAX measures checked cell by cell in a live matrix, visuals, dashboards and row-level security. - [Analyst Casework in SQL and pandas](https://analystquest.com/casework/): 33 levels, 12 chapters. 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. ## Chapters ### SQL - [1. SELECT basics](https://analystquest.com/sql/select-basics/): Read data out of a table: pick columns, compute new ones, rename them, and list unique values. (9 levels) - [2. Filtering rows](https://analystquest.com/sql/filtering/): Keep only the rows you need with WHERE: comparisons, AND/OR/IN, date ranges, pattern matching and NULL checks. (10 levels) - [3. Sorting and limits](https://analystquest.com/sql/sorting-limits/): Put results in a useful order with ORDER BY, break ties, take the top N with LIMIT, page with OFFSET and control where NULLs land. (8 levels) - [4. Aggregates and GROUP BY](https://analystquest.com/sql/aggregates-group-by/): Turn rows into numbers: COUNT, SUM, AVG, MIN, MAX, then break them down by group with GROUP BY and filter groups with HAVING. (9 levels) - [5. JOINs](https://analystquest.com/sql/joins/): Combine tables: INNER and LEFT joins, finding missing matches, the LEFT JOIN + WHERE trap, fan-out double counting and self-joins. (10 levels) - [6. CASE, dates and strings](https://analystquest.com/sql/case-dates-strings/): Bucket values with CASE, build rates with conditional aggregation, group by month, measure time between dates and clean messy text. (9 levels) - [7. Subqueries and CTEs](https://analystquest.com/sql/subqueries-ctes/): Build queries in steps: scalar subqueries, EXISTS, CTEs with WITH, pre-aggregation to avoid fan-out, deduplication and a first retention analysis. (11 levels) - [8. Window functions](https://analystquest.com/sql/window-functions/): Rank, compare and accumulate without collapsing rows: ROW_NUMBER, RANK, DENSE_RANK, running totals, LAG for growth, moving averages and cohort retention. (11 levels) - [9. Analytics patterns](https://analystquest.com/sql/analytics-patterns/): The queries behind every business review: running totals that reset each year, month-over-month and year-over-year growth, top N per group with ties, funnels, activation and retention grids. (8 levels) - [10. Cleaning data in SQL](https://analystquest.com/sql/cleaning-data/): Make messy data trustworthy before you report on it: standardize text, remove duplicate records, handle NULLs, divide safely, cast and parse raw text, and flag outliers. (8 levels) - [11. Reading and fixing queries](https://analystquest.com/sql/fixing-queries/): Debug queries you inherit: join fan-out, the wrong GROUP BY grain, WHERE vs HAVING, integer division, date boundaries, time zones and NOT IN with NULLs. (8 levels) - [12. Combining result sets](https://analystquest.com/sql/combining-results/): Stack queries with UNION ALL and UNION, compare customer lists with INTERSECT and EXCEPT, and build one labelled report from several sources. (7 levels) - [13. Creating and changing tables](https://analystquest.com/sql/changing-data/): Build your own tables: CREATE TABLE with types, INSERT, CREATE TABLE AS SELECT, UPDATE, DELETE, ALTER TABLE, and an analyst workflow from request to validated answer. (8 levels) ### Python - [1. Python basics](https://analystquest.com/python/python-basics/): Variables, numbers, strings and decisions, practised on real checkout maths from the Harbor & Pine store. (10 levels) - [2. Lists, dictionaries and loops](https://analystquest.com/python/lists-dicts-loops/): Hold many values at once, look things up by key, and repeat work with loops and comprehensions, all on Harbor & Pine orders and stock. (10 levels) - [3. Functions](https://analystquest.com/python/functions/): Package store logic into reusable functions with parameters, defaults and return values, then sort and transform data with them. (9 levels) - [4. pandas first look](https://analystquest.com/python/pandas-first-look/): Meet the DataFrame. Open Harbor & Pine's real tables, check their size and types, pick columns and get quick summaries with value_counts and describe. (10 levels) - [5. Filtering and sorting](https://analystquest.com/python/filtering-sorting/): Pick rows by position and label, filter with boolean masks, combine conditions, and sort with tie-breakers on the Harbor & Pine tables. (10 levels) - [6. New columns, groupby and aggregation](https://analystquest.com/python/groupby-aggregation/): Compute new columns like line revenue, then summarise by group with groupby, agg and named aggregation, and filter groups after aggregating. (10 levels) - [7. Merging tables](https://analystquest.com/python/merge-join/): Combine Harbor & Pine's tables with merge, handle unmatched rows with left joins and indicator, and avoid the duplicate-row fan-out trap. (10 levels) - [8. Cleaning messy data](https://analystquest.com/python/cleaning-messy-data/): Handle missing values, fix inconsistent text, find duplicate customers, work with dates and types, and remove bad rows before reporting. (10 levels) - [9. Reshaping data](https://analystquest.com/python/reshaping-data/): Turn long tables into wide grids and back with pivot_table, melt, stack, unstack and crosstab, on real Harbor & Pine orders, returns and sessions. (9 levels) - [10. Time series](https://analystquest.com/python/time-series/): Turn timestamps into trends with resample, rolling windows, period-over-period growth, date offsets and gap filling, on three years of Harbor & Pine orders. (8 levels) - [11. Charts with pandas and matplotlib](https://analystquest.com/python/charts/): Line, bar, histogram, scatter and stacked charts drawn with pandas and matplotlib, starting from the question and checking the numbers behind every chart. (9 levels) - [12. Seaborn, correlation and conclusions](https://analystquest.com/python/seaborn-correlation/): Statistical charts with seaborn (countplot, histplot, boxplot, regplot, heatmap), outliers with the IQR rule, correlation done right, and turning numbers into a written takeaway. (9 levels) ### Excel - [1. Formulas and references](https://analystquest.com/excel/formulas-and-references/): Write formulas that point at cells, add up ranges with SUM and AVERAGE, lock a reference with $ when you fill down, and make decisions with IF. (5 levels) - [2. Decisions and lookups](https://analystquest.com/excel/decisions-and-lookups/): Turn business rules into formulas with IFS, AND, OR and NOT, and bring data from one table into another with VLOOKUP, HLOOKUP, XLOOKUP and INDEX/MATCH. (8 levels) - [3. Conditional totals](https://analystquest.com/excel/conditional-totals/): Count and add up only the rows that match: SUMIF and COUNTIF, several conditions with SUMIFS, criteria strings and wildcards, MAXIFS and MINIFS, and a summary table from one formula. (7 levels) - [4. Text and dates](https://analystquest.com/excel/text-and-dates/): Split text with LEFT, FIND and MID, nest functions for codes, slugs and keyword flags, build labels with & and TEXT, and work with dates as numbers: month keys, EDATE, deadlines, WEEKNUM and DATEDIF. (8 levels) - [5. Cleaning an export](https://analystquest.com/excel/cleaning-data/): Find duplicate customers, fix stray spaces and casing, turn numbers and dates stored as text back into real values, fill missing costs with a stated reason, flag outliers, then hand back a cleaned copy. (8 levels) - [6. Tables, validation and formatting](https://analystquest.com/excel/tables-and-validation/): Know what kind of data each column holds, filter and sort without breaking rows, turn highlight rules into formulas, use Excel Tables, and check entries against validation rules. (8 levels) - [7. PivotTables](https://analystquest.com/excel/pivot-tables/): Summarise a table in seconds with a PivotTable: rows, columns, values, Sum, Count and Average, a report filter, and shares of the total, then reuse the results in formulas. (7 levels) - [8. Charts](https://analystquest.com/excel/charts/): Pick the chart that answers the question, build the numbers behind it with SUMIF, SUMIFS and COUNTIFS, read it honestly, and put three charts together as a small daily dashboard. (7 levels) - [9. Statistics and finance](https://analystquest.com/excel/statistics-and-finance/): Describe a column with the mean, median, mode and standard deviation, measure a relationship with CORREL, round cleanly, and price a loan or a savings plan with PMT, FV, NPER and PV. (7 levels) - [10. Consolidating data](https://analystquest.com/excel/consolidating-data/): Combine numbers from several exports into one: add same-shaped blocks cell by cell, match rows by label with SUMIF, stack sources into a master table, pivot it, and compare two lists. (6 levels) - [11. Power Query](https://analystquest.com/excel/power-query/): Import a CSV or a database table and clean it with Applied Steps: remove columns, filter rows, change types, split and combine columns, add custom columns, merge and append queries, then refresh. (7 levels) - [12. The monthly report](https://analystquest.com/excel/monthly-report/): The capstone: turn a vague request into a SMART objective, then build Harbor & Pine's November 2025 report: order totals, a channel summary, return rates, a KPI block and a one-line summary. (7 levels) ### Statistics - [1. Describing data](https://analystquest.com/stats/describing-data/): Mean versus median, percentiles, standard deviation, IQR and outliers, on Harbor & Pine's order values. Which number describes a typical order, and which one misleads. (7 levels) - [2. Distributions and sampling](https://analystquest.com/stats/distributions-and-sampling/): Read the shape of a column from its histogram, bucket values into bands, and learn how far a sample can sit from the population, with the standard error to say how far. (6 levels) - [3. Comparing groups and A/B tests](https://analystquest.com/stats/comparing-groups-and-ab-tests/): Conversion rates, lift, confidence intervals, p-values explained honestly, the two-proportion z-test, peeking, and how much traffic a test really needs, on Harbor & Pine's web sessions. (6 levels) - [4. Correlation and regression](https://analystquest.com/stats/correlation-and-regression/): Measure how two columns move together, fit a straight line with slope and R², and catch the traps (confounders, extrapolation, Simpson's paradox) on Harbor & Pine data. (6 levels) - [5. Choosing and reading charts](https://analystquest.com/stats/choosing-and-reading-charts/): Which chart answers which question, how a cut-off axis exaggerates a gap, when small multiples beat one busy chart, smoothing noisy daily data, and reviewing a dashboard chart honestly. (7 levels) - [6. Boss: the promo test write-up](https://analystquest.com/stats/promo-test-write-up/): Analyse a real A/B test end to end: check the split, measure conversion and lift, put a confidence interval and a p-value on it, resist segment fishing, and write the verdict. (6 levels) - [7. Loans, savings and what-if](https://analystquest.com/stats/loans-savings-and-what-if/): The money-over-time maths analysts get asked for: loan payments, savings growth, how long a repayment takes, and working backwards from a target, as Excel's Goal Seek does. (4 levels) ### KPIs - [1. Revenue and orders](https://analystquest.com/kpi/revenue-and-orders/): Gross sales, discounts, net sales and net revenue, average order value and units per order, what coupons cost and how returns eat into the top line, on three years of Harbor & Pine orders. (7 levels) - [2. Customers](https://analystquest.com/kpi/customers/): New versus returning customers, repeat rate, purchase frequency, lifetime value (historic and simple predictive), CAC from marketing spend, LTV:CAC and payback, on Harbor & Pine's buyers. (8 levels) - [3. Funnels and conversion](https://analystquest.com/kpi/funnels-and-conversion/): Session conversion rate by year, source and device, where the funnel leaks, what last-touch attribution can and cannot tell you, and how a shift in traffic mix moves the total. (7 levels) - [4. Retention and churn](https://analystquest.com/kpi/retention-and-churn/): Cohorts by first order, retention tables and curves, churn for a store with no subscriptions, and customers who come back. Who stays, who leaves, and how to tell them apart honestly. (7 levels) - [5. Profitability](https://analystquest.com/kpi/profitability/): Gross margin, contribution margin, revenue mix versus margin mix, the Pareto check, the real cost of returns and the mix-shift trap, on Harbor & Pine's orders and product costs. (7 levels) - [6. KPI design and dashboards](https://analystquest.com/kpi/kpi-design-and-dashboards/): North star and guardrail metrics, denominators, time windows, seasonality and year-over-year comparisons, the averaging trap, and a monthly KPI sheet for Harbor & Pine's leadership team. (7 levels) ### Power BI - [1. Business intelligence and Power BI](https://analystquest.com/powerbi/bi-and-power-bi/): What business intelligence is for, the four kinds of analytics, how Power BI Desktop, Service and Mobile fit together, the Desktop views and settings, Import versus DirectQuery, and your first measures. (8 levels) - [2. Getting and shaping data in Power Query](https://analystquest.com/powerbi/power-query/): Connect to Excel, SQL Server and web sources, then clean and shape the data with Applied Steps in the Power Query Editor: types, text clean-up, split and extract, conditional columns, unpivot, merge, append and group. (8 levels) - [3. Data modelling and the star schema](https://analystquest.com/powerbi/data-modelling/): Fact and dimension tables, grain, keys, relationships with the right cardinality and filter direction, a marked Date table, active and inactive relationships, hierarchies, and the star schema that keeps every measure simple. (9 levels) - [4. DAX basics: columns and measures](https://analystquest.com/powerbi/dax-basics/): Calculated columns with IF, SWITCH, YEAR, MONTH and RELATED; measures with SUM, COUNTROWS, DISTINCTCOUNT, AVERAGE, MIN, MAX and DIVIDE; and the one question that decides between a column and a measure. (9 levels) - [5. CALCULATE and filter context](https://analystquest.com/powerbi/calculate-and-filter-context/): What filter context a matrix cell and a slicer apply, how CALCULATE adds, replaces and removes filters (FILTER, ALL, ALLEXCEPT, REMOVEFILTERS, KEEPFILTERS), shares of a total, and the difference between row context and filter context. (9 levels) - [6. Time intelligence](https://analystquest.com/powerbi/time-intelligence/): The Date table and why it must be continuous and marked, then year-to-date and month-to-date totals, last year's figures with SAMEPERIODLASTYEAR, previous month with DATEADD, and year-over-year and month-over-month growth. (9 levels) - [7. Advanced DAX](https://analystquest.com/powerbi/advanced-dax/): Iterators (SUMX, AVERAGEX) and RELATED for row-by-row maths and weighted KPIs, RANKX and TOPN for rankings, ALL versus ALLSELECTED for shares of a selection, USERELATIONSHIP for a second date, and VAR … RETURN for measures you can read and trust. (9 levels) - [8. Visuals that answer the question](https://analystquest.com/powerbi/visuals/): Choosing the visual from the question (table, matrix, bar, column, line, card, KPI), tables versus matrices, cards versus the KPI visual, the measures a target needs, design rules for clear pages, and when a custom visual from AppSource is worth it. (7 levels) - [9. Interactivity](https://analystquest.com/powerbi/interactivity/): Slicers and the three filter levels, Top N filters, cross-filtering and Edit interactions, tooltips, bookmarks and buttons, and the DAX that keeps a measure honest when the reader clicks: ignoring a slicer, Top N as a measure, and titles that follow the selection. (8 levels) - [10. Dashboards and storytelling](https://analystquest.com/powerbi/dashboards-and-storytelling/): Build dashboards that earn their place: a clear purpose, KPIs chosen for the audience, reports versus dashboards versus analysis, strategic, operational and analytical pages, a layout from summary to detail, titles that state the insight, and the executive KPI measures in DAX. (7 levels) - [11. Power BI Service, sharing and security](https://analystquest.com/powerbi/service-sharing-and-security/): Publish from Desktop to the Power BI Service, pick the right licence, give people the right workspace role, package reports as an app with audiences, keep data fresh with scheduled refresh and gateways, and write static and dynamic row-level security. (8 levels) - [12. Optimising Power BI reports](https://analystquest.com/powerbi/optimising-reports/): Find out why a report is slow and fix it: the storage and formula engines, measures that let CALCULATE do the work, column types and cardinality, lean Power Query imports, storage modes, relationships without traps, and VAR. (8 levels) ### Casework - [1. Case 1: Holiday season review](https://analystquest.com/casework/holiday-season-review/): Review the 2025 holiday season like a working analyst: monthly revenue, category growth versus last year and the November-to-December change by channel, in SQL and in pandas. (2 levels) - [2. Case 2: Marketing cost per conversion](https://analystquest.com/casework/marketing-cost-per-conversion/): Put web sessions and marketing spend side by side: conversion rate by traffic source, cost per conversion by channel and a monthly view of paid search, in SQL and in pandas. (2 levels) - [3. Case 3: Customer retention](https://analystquest.com/casework/customer-retention/): Measure whether customers come back: first-order cohorts, repeat-purchase rate, a fair 90-day repeat rate and the consumer versus business split, in SQL and in pandas. (2 levels) - [4. Case 4: Did the price rise hurt sales?](https://analystquest.com/casework/price-rise-review/): Harbor & Pine raised prices on 29 products in March 2025. Frame the question, confirm the change in the data, compare like for like against last year and products that kept their price, and write the recommendation. (3 levels) - [5. Case 5: Where do the returns come from?](https://analystquest.com/casework/return-rate-investigation/): Customer Support says returns feel high. Frame the question, check which orders the returns belong to, measure the return rate and refund value by category, read the reasons, and write the recommendation. (3 levels) - [6. Case 6: Slow movers in the catalogue](https://analystquest.com/casework/slow-movers/): Merchandising wants a shortlist of active products that barely sell. Frame the question, sort out which products can be judged at all, rank them against their own category, and write the recommendation. (3 levels) - [7. Case 7: Do coupons pay for themselves?](https://analystquest.com/casework/coupon-effectiveness/): Finance wants to know what Harbor & Pine's six coupon codes really cost. Frame the question, check the discounts against the codes, compare coupon orders with orders on the same days, and write the recommendation. (3 levels) - [8. Case 8: The channel mix shift](https://analystquest.com/casework/channel-mix-shift/): The app is taking a bigger share of Harbor & Pine's orders every year. Frame the question, check statuses and channels, measure the mix by year, separate it from growth, and write the recommendation. (3 levels) - [9. Case 9: Where the web funnel leaks](https://analystquest.com/casework/web-funnel/): Marketing thinks mobile converts badly. Frame the question, check what the session data can and cannot show, build a funnel by device and by year, and write the recommendation. (3 levels) - [10. Case 10: Headcount and pay review](https://analystquest.com/casework/headcount-and-pay/): Finance needs headcount, payroll and typical pay by department before the budget, and Support says its managers are stretched. Frame the question, check the HR export, summarise pay and spans of control, and recommend. (3 levels) - [11. Case 11: Where to open the first showroom](https://analystquest.com/casework/regional-expansion/): Harbor & Pine sells only online and the CEO wants a first showroom. Frame the question, clean the messy state and city labels, rank states and metros on completed revenue, and write the recommendation. (3 levels) - [12. Case 12: The monthly business review](https://analystquest.com/casework/monthly-business-review/): Build Harbor & Pine's monthly business review for November 2025: pick the month that is complete, put the core KPIs next to last month and last year, explain the one number that moved the wrong way, and write the headline. (3 levels) ## Resources - [Resources](https://analystquest.com/resources/): Cheat sheets, interview questions and a glossary that sit next to the levels. - [SQL cheat sheet](https://analystquest.com/resources/sql-cheat-sheet/): The queries analysts write every week, grouped by the job you need done. Every snippet runs as written on the Harbor & Pine store tables, and each group links to the level that teaches it. - [pandas cheat sheet](https://analystquest.com/resources/pandas-cheat-sheet/): The pandas you reach for on the job, grouped by task. Every snippet runs as written on the Harbor & Pine tables, and each group links to the levels that teach it. - [Excel cheat sheet](https://analystquest.com/resources/excel-cheat-sheet/): The formulas analysts use every week, grouped by the job you need done. Each one was checked on the same store data the Excel levels use, and each group links to the levels that teach it. - [Interview questions](https://analystquest.com/resources/interview-questions/): Questions from real analyst interviews, each with a model answer, the answer that loses points and a level to practise it. - [Mock interview](https://analystquest.com/resources/mock-interview/): A timed session that mixes live SQL, pandas and Excel tasks with quiz and spoken questions, then scores you by topic. - [Glossary](https://analystquest.com/resources/glossary/): The words analysts, managers and interviewers use, from SQL and pandas to Excel, Power BI and statistics, each in one plain sentence. - [Portfolio projects](https://analystquest.com/resources/portfolio-projects/): Four projects on public data, each with a business question, steps linked to levels, and what to put on GitHub, LinkedIn and your CV. - [E-commerce sales dashboard](https://analystquest.com/resources/portfolio-projects/ecommerce-sales-dashboard/): One page a head of sales can read in a minute: revenue, orders, average order value and where they moved. - [Customer cohort retention analysis](https://analystquest.com/resources/portfolio-projects/customer-cohort-retention/): Do first-time buyers come back? Monthly cohorts and a retention grid, built in SQL and checked in pandas. - [A/B test analysis and write-up](https://analystquest.com/resources/portfolio-projects/ab-test-write-up/): Check the split, estimate the lift with a confidence interval, and write a decision a product manager can act on. - [Monthly KPI report with SQL and Power BI](https://analystquest.com/resources/portfolio-projects/monthly-kpi-report/): The report most analysts own: SQL for the numbers, Power BI or Excel for the page, refreshed every month. - [Certificates of completion](https://analystquest.com/certificates/): Finish every level of an AnalystQuest track to claim a certificate with your name, stars and XP. Download it as a PDF or image, verify it by link and add it to LinkedIn. ## Spanish version - [AnalystQuest en español](https://analystquest.com/es/): AnalystQuest es un juego gratuito en el navegador para aprender análisis de datos: SQL, Python/pandas, Excel, Estadística, KPI, Power BI y Casos. Cada nivel es una solicitud realista de un colega de Harbor & Pine, una tienda ficticia de artículos para el hogar, resuelta sobre el mismo conjunto de datos. Funciona por completo en el navegador (sin instalar), con inicio de sesión opcional con Google para guardar el progreso, y está disponible en español e inglés. - [Spanish llms.txt](https://analystquest.com/es/llms.txt) - [Spanish llms-full.txt](https://analystquest.com/es/llms-full.txt) - [SQL para analistas de datos](https://analystquest.com/es/sql/): 116 niveles - [Python para analistas de datos](https://analystquest.com/es/python/): 114 niveles - [Excel para analistas de datos](https://analystquest.com/es/excel/): 85 niveles - [Estadística y gráficos para analistas de datos](https://analystquest.com/es/stats/): 42 niveles - [Métricas de negocio y KPI para analistas de datos](https://analystquest.com/es/kpi/): 43 niveles - [Power BI para analistas de datos](https://analystquest.com/es/powerbi/): 99 niveles - [Casos de analista en SQL y pandas](https://analystquest.com/es/casework/): 33 niveles ## Optional - [Terms](https://analystquest.com/terms/) - [Privacy](https://analystquest.com/privacy/) - [Cookies](https://analystquest.com/cookies/) - [Sitemap](https://analystquest.com/sitemap.xml)