The SQL patterns DTC and retail analysts actually write — Shopify order financial-status filtering, refund-aware revenue rollups, GA4 source/medium attribution joins, Stripe charge-vs-order reconciliation (the canonical "Shopify says X, Stripe says Y" problem), product-mix and category waterfall reports, repeat-purchase cohort retention, RFM segmentation, abandoned-cart funnels, and the multi-system reconciliation that closes the books at quarter-end — against a realistic Shopify + GA4 + Stripe dataset with planted mismatches. Written for career changers — DTC analytics roles (E-commerce Analyst, Retail Analyst, Growth Analyst) at brand-side companies pay $70–95K entry-level and hire on portfolio work like this.
30 missions (25 free · 5 Pro Master) · 6 tables · Shopify + GA4 + Stripe reconciliation
Read the briefing
A Slack message from your manager
Explore the schema
5 tables in a star schema
Write your query
Full SQL editor with autocomplete
Get expert feedback
Graduated hints, not just pass/fail
Customers, products, orders, line items, with the financial_status / fulfillment_status fields you’ll see on day one of any DTC shop. Familiar to anyone who’s opened a Shopify export.
GA4 sessions and Stripe charges sit alongside Shopify orders with planted mismatches — partial refunds, currency conversion fees, failed captures, GA4 conversion-value drift. The signature mission ties all three together.
Refund-aware revenue, repeat-purchase cohorts, RFM segmentation, abandoned-cart funnels, source/medium attribution. The full DTC analyst toolkit.
Every mission maps to a published e-commerce / retail analyst prompt (Shopify, Stripe, Klaviyo, Glossier, Warby Parker, Allbirds, Wayfair, Etsy). Pair with Shopify Plus / Stripe certifications and you have a hiring edge.
Each mission is a real request from someone at the company. Difficulty increases as you go.
A Shopify-shaped DTC schema with GA4 sessions and Stripe charges alongside, sized for a realistic mid-stage brand: 50 customers, 25 products, 100 orders across paid / refunded / partially_refunded / voided / pending statuses, 240 line items, 200 GA4 sessions across organic / paid / direct / email / social sources, and 100 Stripe charges with planted reconciliation mismatches — partial refunds, failed captures, currency-conversion fees, and GA4 conversion-value drift. The three-system data shape every DTC analyst sees on day one.
●dimension tables ● fact tables
Write the refund-aware revenue, the source/medium attribution, the Shopify-vs-Stripe reconciliation, and the RFM segmentation that ties the books to the brand.
Looking for something different?