Overview Tab — Data & Metrics Wiki

Every metric defined. Every source traced. No guessing.
Last updated: March 2026 Data source: Snowflake (Shopify + GA4) API: /api/revenue & /api/cvr

Contents

1Tab Overview

The Overview tab is the top-level business health dashboard. It surfaces demand sales, orders, AOV, traffic, and conversion rate across two customer segments (New and Returning), and breaks down the period-over-period change into its root drivers via a waterfall bridge.

The tab answers three questions:

  • How did the business perform? — Top-level demand sales, orders, AOV, traffic, CVR vs. prior period.
  • Who drove the change? — New vs. returning customer segment split.
  • Why did it change? — Waterfall decomposing the gap into order volume and AOV effects.
2Data Sources
EndpointWhat It ReturnsUnderlying Source
/api/revenue
?start= &end=
Daily rows: date, demand_sales, new_customer_demand_sales, repeat_customer_demand_sales, new_customer_orders, repeat_customer_orders, new_customer_demand_aov, repeat_customer_demand_aov, total_sessions, new_customer_sessions, repeat_customer_sessions Shopify orders data in Snowflake. Demand sales = revenue that has been "demanded" (ordered), net of returns/cancellations per business definition.
/api/cvr
?start= &end=
Daily rows with CVR-related fields, merged by date into the revenue dataset. Snowflake — GA4 sessions joined to Shopify orders.
Both endpoints are fetched twice per page load — once for the current period and once for the comparison period — to power the badge deltas. Data is fetched fresh on every period change; there is no client-side cache.
3KPI Cards

Eleven cards across three rows: overall, new customers, returning customers. Each shows current value, % delta badge, and prior period value.

Overall Row
Demand SalesShopify

Total "demand" revenue for the period — the value of all orders placed, net of known cancellations and returns as processed by the data pipeline. This is the primary top-line metric.

Demand Sales = Σ demand_sales (daily rows in period)
"Demand" vs "net revenue": Demand sales reflects orders when placed, before fulfillment deductions. It may differ slightly from Shopify's reported revenue if refunds are processed on different days.
Total OrdersShopify

Sum of new customer orders plus returning customer orders for the period.

Total Orders = Σ (new_customer_orders + repeat_customer_orders)
Demand AOVComputed

Average order value across all orders in the period.

Demand AOV = Demand Sales / Total Orders
AOV is computed from the period totals, not averaged across daily AOV rows. This gives the correct overall average, not an average of averages.
Traffic (Sessions)GA4 via Snowflake

Total website sessions during the period across all channels.

Traffic = Σ total_sessions (daily rows in period)
Sessions are sourced from GA4 event data in Snowflake. A "session" is a group of user interactions with the website within a given time frame. See the Traffic Tab wiki for full GA4 session definition.
Conv. Rate (CVR)Computed

Percentage of sessions that resulted in an order. Measures how efficiently traffic is converted to sales.

CVR = (Total Orders / Total Sessions) × 100%
This CVR uses orders from Shopify (demand-based) and sessions from GA4. Cross-source matching means a very small number of orders may come from sessions that GA4 did not capture (e.g., direct API orders, Nordstrom, wholesale).
New Customers Row
CardFormulaNotes
New Demand SalesΣ new_customer_demand_salesRevenue from first-time customers only.
New OrdersΣ new_customer_ordersOrder count from first-time customers.
New Demand AOVNew Demand Sales / New OrdersAverage first-order value. Typically lower than returning AOV as repeat buyers know the brand.
Returning Customers Row
CardFormulaNotes
Returning Demand SalesΣ repeat_customer_demand_salesRevenue from customers who have ordered before.
Returning OrdersΣ repeat_customer_ordersOrder count from returning customers.
Returning Demand AOVReturning Demand Sales / Returning OrdersAverage repeat order value.
📌
New vs. Returning classification is determined at the Snowflake query layer, based on whether the customer's email has any prior completed order in the Shopify database before the current order date. A customer is "new" on their first-ever order and "returning" on all subsequent orders.
4Charts
ChartTypeWhat It ShowsAxes
Demand Sales Trend Line (with fill) Daily/weekly/monthly demand sales for current period (solid line) + comparison period (dashed line). X: date; Y: $
New Customer Trend Bar + Line (combo) Bars = new customer order count (left axis); Line = new customer demand sales (right axis). X: date; Y-left: orders; Y-right: $
Returning Customer Trend Bar + Line (combo) Bars = repeat order count (left axis); Line = repeat demand sales (right axis). X: date; Y-left: orders; Y-right: $
Traffic & CVR Bar + Line (combo) Bars = total sessions (left axis); Line = CVR % (right axis). Useful for spotting traffic spikes that didn't convert. X: date; Y-left: sessions; Y-right: %
📌
All chart granularity (daily/weekly/monthly) is controlled by the global granularity buttons. Weekly groups by fiscal week (Monday start). Monthly groups by fiscal period. The comparison period line on the Sales Trend chart is date-aligned — same calendar position — not index-aligned.
5WoW Waterfall Bridge

The waterfall (bridge) chart decomposes the period-over-period change in Demand Sales into four drivers, answering: "Was the gap driven by order volume or pricing? And in which customer segment?"

How the Bridge Is Computed

The bridge uses a price-volume decomposition. Each driver isolates one dimension while holding the other constant at the prior period's rate.

DriverFormulaInterpretation
Starting Point
Anchor bar
prev_new_orders × prev_new_aov + prev_ret_orders × prev_ret_aov Comparison period demand sales. The baseline everyone is departing from.
New Order Volume (curr_new_orders − prev_new_orders) × prev_new_aov Impact of acquiring more/fewer new customers, priced at the prior AOV. Isolates volume from price.
New Customer AOV curr_new_orders × (curr_new_aov − prev_new_aov) Impact of new customers spending more/less per order. Isolates price from volume.
Repeat Order Volume (curr_ret_orders − prev_ret_orders) × prev_ret_aov Impact of more/fewer repeat purchases, priced at prior AOV.
Repeat Customer AOV curr_ret_orders × (curr_ret_aov − prev_ret_aov) Impact of repeat customers spending more/less per order.
Ending Point
Anchor bar
curr_new_orders × curr_new_aov + curr_ret_orders × curr_ret_aov Current period demand sales. The four drivers sum to exactly the gap between start and end.
Driver Attribution Bar

Below the waterfall, a driver attribution table ranks all four drivers by absolute dollar impact. Each row has a proportional bar showing its share of total absolute impact and its dollar contribution.

📌
The four drivers sum exactly to the total gap (current − previous demand sales). Green bars indicate a positive contribution to growth; red bars indicate a drag. The sum of all signed contributions equals the net change.
The waterfall uses demand AOV from the daily data rows. If a single day has an unusually high or low AOV (small sample size), it can make the AOV driver appear noisier than it truly is. Use Weekly or Monthly granularity to smooth this effect when inspecting AOV drivers.
6CVR Decomposition

Below the waterfall, a CVR decomposition panel explains why conversion rate changed. It breaks CVR into its traffic-mix and segment-efficiency components.

The key insight: CVR can change because (a) the mix of traffic shifted (e.g., more low-converting paid traffic), (b) the underlying conversion efficiency changed, or (c) both.

The decomposition isolates the mix effect (what CVR would be if the new-vs-returning traffic mix changed but each segment's rate stayed constant) from the rate effect (what CVR would be if mix stayed constant but each segment's rate changed). This prevents misattributing a CVR shift to the wrong cause.
7Filters & Controls
ControlOptionsEffect
Period Fiscal Wk, WTD, MTD, PTD, Last N Days, Custom Re-fetches all data for the new date range. All cards, charts, and waterfall update.
Comparison Prev Period, Prev Week, Prev Month, Prev Year, Custom Re-fetches comparison period data. Affects all badge deltas and the Sales Trend dashed line.
Granularity Daily, Weekly, Monthly Controls aggregation level of all four trend charts. Does not re-fetch data — aggregates client-side.
📌
PTD (Period-to-Date) uses the current fiscal month, from the first Monday of that period through today. Useful mid-period for tracking against the full-period comparison.
8Fiscal Calendar & Periods

Jack Archer uses a 4-5-4 retail fiscal calendar. Weeks start on Monday. The fiscal year begins in late December (FW1 ≈ last week of December).

The calendar is hardcoded in the dashboard as FISCAL_CAL — an array of 53 weekly entries, each with: week number (w), start date (Monday), end date (Sunday), fiscal month number (fm), and fiscal month label (fl).

Period ModeDate RangeBest Used When
Fiscal Week (FW)Mon–Sun of the selected week (7 days)Week-level performance review
WTDMonday of current calendar week through todayIn-week monitoring (partial week)
MTD1st of current calendar month through todayCalendar-month tracking
PTDFirst Monday of current fiscal period through todayFiscal-period tracking mid-month
Last N DaysRolling window ending today (7/14/21/30/60/90 days)Trend analysis independent of fiscal calendar
CustomUser-specified start and end datesAd-hoc analysis, specific events
All date logic evaluates "today" in Eastern Time (ET). The KPI card labels dynamically update to reflect the period type (e.g., "Demand Sales · Fiscal Wk").
9Known Caveats
🚫
Demand Sales ≠ Shopify Dashboard Revenue. The Shopify admin shows "net revenue" which includes fulfillment-period adjustments and may handle returns differently. Demand Sales is an orders-when-placed metric and may be higher for periods with pending returns.
🚫
CVR cross-source caveat. Orders are from Shopify; sessions are from GA4. Orders that enter through channels GA4 doesn't track (direct API, Nordstrom wholesale, phone orders) inflate the apparent CVR. This is typically a small fraction (<2%) but can appear as anomalies on specific days.
Waterfall only covers campaigns and flows. The bridge decomposes into 4 drivers: New Orders Volume, New AOV, Repeat Orders Volume, Repeat AOV. It does not surface drivers like traffic volume, CVR shift, or marketing mix — those are explained by the CVR decomposition panel and the Traffic tab separately.
Data live indicator. The dot in the top-right of the tab is green ("Live") when data loaded from Snowflake successfully. It turns grey ("API error · showing mock data") if the backend is unreachable — in that state, all numbers are placeholder mock values, not real data.
Jack Archer Analytics — Internal Use Only ← All Wikis · Dashboard