Interview Case Studies

Data Analyst Portfolio Project Template: SQL, Metrics, Dashboard, and Case Study

A practical template for turning a project into an analyst deliverable that shows business thinking, SQL ability, metric logic, visual judgment, and recommendation writing.

What a portfolio project should prove

A strong data analyst portfolio project should not only show charts. It should prove that you can define a business question, prepare data, calculate metrics, find a pattern, and recommend a next action.

The best portfolio projects feel like analyst work, not homework. "I built a dashboard" is weaker than "I diagnosed which customer segment drove a repurchase-rate decline and recommended a follow-up analysis."

Copy this portfolio project template

Project title:
Business question:
Dataset:
Key tables and fields:
Metric definitions:
SQL workflow:
Dashboard or visuals:
Main finding:
Recommendation:
Caveats:
Next analysis:

Start with a business question

Choose a question that sounds like work an analyst would actually do:

  • Which channel drove the conversion rate drop?
  • Which customer cohort has the strongest repeat purchase behavior?
  • Which product category contributes most to revenue growth?
  • Where does the signup funnel lose the most users?
  • Which segment should a retention campaign target first?

Document the dataset

Describe the source, fields, time range, cleaning rules, and limitations. Include a short data dictionary so readers understand what each metric is based on.

Data dictionary example:
orders.order_id: unique order identifier
orders.customer_id: customer identifier
orders.order_date: completed order date
orders.order_value: revenue before refunds
orders.order_status: completed, refunded, canceled
customers.acquisition_channel: first known acquisition source

Show the SQL workflow

Include a query that demonstrates grouping, filtering, joins, and metric logic. The query does not need to be complicated, but it should be connected to the business question.

SELECT
  c.acquisition_channel,
  COUNT(DISTINCT o.customer_id) AS buyers,
  COUNT(DISTINCT o.order_id) AS orders,
  SUM(o.order_value) AS revenue,
  1.0 * COUNT(DISTINCT o.order_id) / NULLIF(COUNT(DISTINCT o.customer_id), 0) AS orders_per_buyer
FROM orders o
JOIN customers c
  ON o.customer_id = c.customer_id
WHERE o.order_status = 'completed'
GROUP BY 1
ORDER BY revenue DESC;

Choose visuals that support the finding

Use a line chart for trends, a bar chart for segment comparison, a funnel chart for step conversion, and a table when exact values matter. Do not include every chart you created.

Write the case study summary

The final project page should read like a concise analyst memo.

Case study summary:
Business question: Which acquisition channel drove the revenue decline?
Method: Compared revenue drivers by channel and decomposed buyers, orders, and AOV.
Finding: Paid social explained 42% of the decline because buyer volume dropped sharply.
Recommendation: Review campaign budget and audience targeting before changing product pages.
Caveat: Attribution is based on first-touch channel and may miss later campaign exposure.

Common portfolio mistakes

  • Using a public dataset without a business question.
  • Showing many visuals without a clear finding.
  • Hiding the SQL and only showing dashboard screenshots.
  • Ending with observations instead of recommendations.
  • Ignoring caveats and data limitations.

Read next

Use the data analyst interview case study guide to turn this project into interview answers. If you need a starter project idea, use the conversion rate analysis template.