🟢 The 3-Project Portfolio That Actually Gets Analyst Interviews


Hello Reader,

This week's newsletter is a bit different. There's SQL in here, but the real topic is career strategy.

Because one of the most common questions I get from readers is some version of: "I've been learning SQL for a few months. How do I prove I can actually do this job?"

The honest answer: a portfolio of 2-3 projects that demonstrate business thinking, not just technical syntax.

The problem is most portfolios I've reviewed look the same. A Kaggle competition. A tutorial from YouTube. Maybe a COVID dataset analysis. They show that you can write SQL. They don't show that you can think like an analyst.

Here's what I'd recommend instead.

The Three-Project Framework

Each project demonstrates a different skill that hiring managers care about:

Project 1: Business Question Analysis (SQL-focused) Shows you can translate a business question into data and back into recommendations.

Project 2: Dashboard or Visualization (Tableau, Power BI, or Python) Shows you can present findings visually for decision-makers.

Project 3: End-to-End Analysis (SQL + interpretation + recommendations) Shows you can own the full analytical workflow from question to action.

Let me walk through what each one looks like in practice.

Project 1: The Business Question Analysis

What it proves: You can take a vague business question, figure out what data you need, write the queries, and produce a clear answer.

Example using Summit Adventures:

"Lindsey, the CEO, asks: Which customer segments should we focus on for next quarter's marketing budget?"

Your approach:

-- Build customer segments by value and activity
SELECT 
    CASE 
        WHEN total_spent >= 10000 THEN 'VIP (10K+)'
        WHEN total_spent >= 5000 THEN 'High Value (5K-10K)'
        WHEN total_spent >= 2000 THEN 'Regular (2K-5K)'
        WHEN total_spent > 0 THEN 'Light (Under 2K)'
        ELSE 'Never Purchased'
    END AS customer_segment,
    COUNT(*) AS customer_count,
    ROUND(AVG(total_spent)::numeric, 2) AS avg_spend,
    ROUND(SUM(total_spent)::numeric, 2) AS segment_revenue,
    ROUND(
        SUM(total_spent)::numeric / (
            SELECT SUM(amount) FROM payments 
            WHERE payment_status = 'completed'
        ) * 100, 1
    ) AS pct_of_revenue
FROM (
    SELECT 
        c.customer_id,
        COALESCE(SUM(p.amount), 0) AS total_spent
    FROM customers c
        LEFT JOIN bookings b ON c.customer_id = b.customer_id
            AND b.status IN ('completed', 'confirmed')
        LEFT JOIN payments p ON b.booking_id = p.booking_id
            AND p.payment_status = 'completed'
    GROUP BY c.customer_id
) customer_totals
GROUP BY 
    CASE 
        WHEN total_spent >= 10000 THEN 'VIP (10K+)'
        WHEN total_spent >= 5000 THEN 'High Value (5K-10K)'
        WHEN total_spent >= 2000 THEN 'Regular (2K-5K)'
        WHEN total_spent > 0 THEN 'Light (Under 2K)'
        ELSE 'Never Purchased'
    END
ORDER BY avg_spend DESC;

What makes this portfolio-worthy:

It's not the SQL (which is intermediate-level CASE WHEN + GROUP BY). It's the analysis.

You'd write up: "19 VIP customers (1.9% of the base) generate 10.3% of revenue. But 479 customers — nearly half — have never made a purchase. The biggest marketing lever isn't upselling VIPs; it's converting Never Purchased into Light customers. Even moving 10% of that group (48 customers) to a single booking at the average Light value ($1,057) would add $50K in revenue."

That's the kind of thinking that gets you hired.

Project 2: The Dashboard

What it proves: You can take SQL results and present them visually for executives.

This is where tools beyond SQL come in. A Tableau dashboard, a Power BI report, or even a Python dashboard with Plotly or Matplotlib.

Your Project 1 data is the foundation.

Take those customer segments and build:

  • A bar chart comparing segment revenue
  • A pie chart showing segment distribution
  • A trend line showing how the segments changed over time
  • A KPI card summarizing total revenue, active customers, and average value

You don't need to learn Tableau or Python deeply to build one portfolio-quality dashboard. You need to learn enough to present one analysis well. The SQL is the hard part. The visualization is the finishing touch.

If you've been wondering whether to learn visualization tools alongside SQL, this is why. Not because you need them for every analysis, but because a well-presented dashboard is what makes a hiring manager say "this person can communicate findings."

Project 3: The End-to-End Analysis

What it proves: You can own the entire workflow: question, data, analysis, and recommendations.

This is your capstone piece. Pick a realistic business question, document your entire process, and present findings with actionable recommendations.

Example:

"Question: Where is Summit Adventures losing money, and what should they do about it?"

Your analysis would include:

  1. Data exploration: What tables are relevant? What metrics matter?
  2. Multiple queries: Cancellation rates, revenue by type, customer retention
  3. Key findings: Climbing has the highest cancellation rate (51.9%). Nearly half of all customers have never booked.
  4. Recommendations: Reduce climbing cancellations by adding flexible rebooking. Launch win-back campaign for dormant customers.
  5. Estimated impact: Quantify the revenue potential.

The write-up matters more than the code. Document your thinking. Explain why you chose these metrics. Show how your findings connect to business outcomes.

How to Structure Your Portfolio

Keep it simple. You don't need a personal website (though it helps). A GitHub repository with clear README files works well (especially if you are focusing on SQL and more technical roles).

portfolio/
ā”œā”€ā”€ project-1-customer-segmentation/
│   ā”œā”€ā”€ README.md          (Business question, approach, findings)
│   ā”œā”€ā”€ queries.sql        (All SQL with comments)
│   └── analysis.md        (Write-up with recommendations)
ā”œā”€ā”€ project-2-executive-dashboard/
│   ā”œā”€ā”€ README.md          (What the dashboard shows and why)
│   ā”œā”€ā”€ dashboard.png      (Screenshot or link)
│   └── data-queries.sql   (SQL that produced the data)
└── project-3-revenue-analysis/
    ā”œā”€ā”€ README.md          (Full end-to-end write-up)
    ā”œā”€ā”€ queries.sql        (Documented queries)
    └── recommendations.md (Business recommendations)

Each project takes 4-8 hours. That's 12-24 hours total for a professional portfolio that stands out from tutorial screenshots and Kaggle competition entries.

What Hiring Managers Actually Look For

​I've reviewed portfolios when hiring analysts, and here's what separates the ones that get interviews:

They care about:

  • Clear business context (why this analysis?)
  • Documented thinking (how did you approach it?)
  • Actionable recommendations (what should the company do?)
  • Clean, readable SQL (can they maintain your work?)

They don't care about:

  • Complex syntax for complexity's sake
  • Datasets they've seen from every other candidate
  • Perfect code with no business interpretation
  • Tutorial projects with no original thinking

Try This Over the Next Month

  1. Week 1: Build Project 1 using any database you have access to (Summit Adventures works)
  2. Week 2: Take the results and build a simple dashboard (Project 2)
  3. Week 3: Pick a bigger business question and do the end-to-end analysis (Project 3)
  4. Week 4: Write clear README files for each project and upload to GitHub

By the end of the month, you'll have something to link on your resume that demonstrates real analytical thinking, not just SQL syntax snippets.

Until next time,

Brian

Brian Graves, creator of Analytics in Action

Say šŸ‘‹ on X/Twitter, LinkedIn, or book a call with me. You can always reply to these emails. I check them all.

​

P.S. SQL for Business Impact walks you through exactly this kind of business analysis across 8 modules. Every module ends with a real business scenario where you produce executive-ready insights — the kind of work that builds a portfolio naturally. Check it out at sqlforbusinessimpact.com.

P.P.S. If you've built a portfolio project you're proud of, hit reply and share it. I'd love to see what you're working on. I read every response.

Starting With Data

Learn to build analytics projects with SQL, Tableau, Excel, and Python. For data analysts looking to level up their career and complete beginners looking to get started. No fluff. No theory. Just step-by-step tutorials anyone can follow.

Read more from Starting With Data

Hello Reader, A common analytics question that sounds simple but isn't: "Which customers have booked the same type of expedition more than once?" You can't answer this with a regular JOIN between two different tables. The information lives in one table. You need to compare rows within that table to find patterns. That's what a self-JOIN does. It joins a table to itself. It sounds unusual, but once you see the pattern, you'll recognize situations where it's exactly what you need. The Business...

Hello Reader, You've built a clean customer report. Locations, booking history, revenue by region. You send it off to whoever asked for it. Ten minutes later: "Why does this report show blank cells in the location column? And why do the totals not add up?" Welcome to the NULL problem. You're going to learn how to solve it once and for all today. In the Summit Adventures database (the fake adventure tourism company I created to help people learn business analytics), 78.2% of customers don't...

Hello Reader, Imagine you're an analyst at Summit Adventures. Monday morning, you get called into a meeting and your VP asks: "How's revenue looking across our expedition types?" You pull up your analysis. You've got clean numbers. You present them: "Cultural expeditions brought in $374K. Photography brought in $370K. Hiking was $352K. Safari was $349K. Climbing was $298K." Silence. Then someone asks: "Okay... but what should we do about it?" You've answered the question accurately. But you...