Study interactive :: Progress tools open in the Study Hub reader.

Capstone: Data/Analytics: SQL → Metrics → Dashboard → ML (GDPR-Safe)

Build a realistic analytics workflow (tables, SQL, metrics, dashboard) and then add a production-style ML model (e.g., churn or purchase propensity).

This blueprint is designed to be safe for a public repo by using synthetic event data.


Target role


Deliverables


Data model (example)

Use a standard product analytics schema:

user_id should be a random identifier (not derived from real data).


Synthetic data generator (example)

import random
from datetime import datetime, timedelta

def gen_users(n=5000, seed=42):
    random.seed(seed)
    countries = ["DE", "FR", "NL", "ES", "US"]
    channels = ["seo", "ads", "referral", "social", "direct"]
    start = datetime(2024, 1, 1)
    users = []
    for i in range(n):
        signup = start + timedelta(days=random.randint(0, 120))
        users.append(
            {
                "user_id": f"u_{i:06d}",
                "signup_date": signup.date().isoformat(),
                "country": random.choice(countries),
                "channel": random.choice(channels),
            }
        )
    return users

Milestones

Milestone 1: SQL fundamentals in practice

Write queries for:

Milestone 2: “Analytics engineering” style transformations

Create “clean” derived tables:

Document metric definitions in your README so interviewers can follow your thinking.

Milestone 3: Dashboard (optional but portfolio-strong)

Milestone 4: ML model

Predict one clear target:

Features (examples):

Metrics:


GDPR-safe checklist


Interview talking points


Useful repo references