Why a portfolio project beats another certificate

A certificate says "I was taught SQL." A portfolio project says "I used SQL to figure something out." Hiring managers for analyst roles are trying to predict one thing: can this person take a messy dataset and turn it into a decision someone can act on. A well-documented project is direct evidence of exactly that; a certificate is a proxy for it, several steps removed.

What makes a project actually get read

  • A specific question, not a data dump. "Which product categories have the highest return rate, and does it correlate with a specific supplier?" reads as analysis. "Here's some SQL on the Olist dataset" reads as an exercise.
  • The actual queries, visible. Not just a final chart — the SQL that produced it, so a reviewer can judge the skill directly, not just trust the conclusion.
  • A short written finding. Two or three sentences per major query: what it showed, why it matters. This is the single most skipped step, and the one that separates "did the exercise" from "can communicate a finding."
  • Visible reasoning about data quality. A line noting a handled edge case (duplicate rows, inconsistent categories, missing values) shows judgment a passing grade on a course doesn't.

8 project ideas, with datasets

ProjectCore skill demonstratedSuggested datasetDifficulty
E-commerce sales & RFM segmentationJoins, aggregation, customer segmentationOlist Brazilian E-Commerce (Kaggle)Intermediate
NYC taxi trip analysisLarge-table aggregation, window functions, date/time handlingNYC TLC Trip Record DataIntermediate
Retail store performance dashboardCTEs, YoY/MoM growth, rankingSuperstore Sales (Kaggle)Beginner → Intermediate
Music store sales (Chinook)Multi-table joins, subqueriesChinook sample databaseBeginner
HR attrition analysisAggregation, CASE logic, cohort-style groupingIBM HR Analytics Employee Attrition (Kaggle)Intermediate
Movie ratings analysisJoins, window functions, rankingMovieLens datasetBeginner
COVID-19 trend analysisTime-series, running totals, YoY-style comparisonsOur World in Data COVID-19 datasetIntermediate
Airbnb listings & pricing analysisGeospatial-adjacent aggregation, outlier handlingInside Airbnb (city-level datasets)Intermediate → Advanced

Pick one that maps to the industry you're targeting — a healthcare analyst role and an e-commerce analyst role will weigh these differently, even though the SQL skills overlap heavily.

How to structure it for GitHub

project-structure.txt
ecommerce-sales-analysis/
├── README.md              -- the question, the finding, how to run it
├── schema.sql             -- CREATE TABLE statements
├── queries/
│   ├── 01_top_products.sql
│   ├── 02_rfm_segmentation.sql
│   └── 03_monthly_revenue_trend.sql
├── erd.png                -- a simple entity-relationship diagram
└── findings.md            -- 3-5 short written insights, one per query

The README.md is what gets read first — lead with the business question and the headline finding, not with setup instructions.

Turning a query into a story

Compare these two ways of presenting the same query:

Query dumpStory
[SQL code block]
Output: 47 rows.
"The top 5% of customers by lifetime spend generate 38% of total revenue — but only 12% of them have made a purchase in the last 90 days, suggesting a re-engagement campaign targeted at this specific segment could be high-leverage."

Same query, same data — but the second version is what an analyst is actually hired to produce. Every major query in a portfolio project deserves 2-3 sentences like this.

Where to find free datasets

SourceBest for
Kaggle DatasetsBroadest variety, most already reasonably clean
UCI Machine Learning RepositorySmaller, well-documented classic datasets
Government open-data portals (data.gov, data.gov.uk)Large, authoritative, genuinely messy — good for showing data-cleaning skill
Vendor sample databases (Chinook, Northwind, Sakila)Pre-built relational schemas, good for join-heavy practice
Synthetic data generatorsSensitive-domain projects (healthcare, finance) where real data isn't appropriate to use publicly

Common mistakes

  • Using a toy dataset with too few rows. A 30-row spreadsheet can't produce a finding a reviewer finds credible; look for datasets with at least tens of thousands of rows.
  • Showing only the final chart, not the SQL. The whole point of a SQL portfolio piece is showing the query-writing skill directly.
  • Skipping the written finding. Queries without a "so what" read as an exercise, not analysis.
  • Eight shallow projects instead of two or three deep ones. Depth and range of technique (joins, window functions, a small pipeline) matter more than sheer count.
  • No visible handling of messy data. Real datasets have duplicates, nulls, and inconsistent categories — showing how they were handled is itself a skill signal.

Key takeaways

  • A portfolio project is evidence of judgment, not just SQL syntax — pick a specific business question, not a generic exercise.
  • Show the actual queries, and write 2-3 sentences of finding per major one.
  • Real, sufficiently large free datasets (Olist, Chinook, NYC TLC, MovieLens, and similar) are available for every skill level.
  • Two to four well-documented projects beat eight shallow ones.
  • Never use a current or former employer's private data in a public portfolio.