Bruin CLI Step 4 of 4

Shopify to ClickHouse with Bruin

1) Read the analytics marts

T3 is the business-facing layer. These are the tables to connect to a dashboard, scheduled report, or AI data analyst once you have reviewed the metric definitions.

AssetTableGrain and purposeRefresh strategy
t3_daily_revenue.sqlshopify.t3_daily_revenueOne row per UTC order date and currency with revenue, refunds, AOV, and order countsmerge for changed date-currency groups
t3_daily_kpis.sqlshopify.t3_daily_kpisOne row per UTC order date and currency with customer mix and commerce KPIsmerge for changed date-currency groups
t3_payment_reconciliation.sqlshopify.t3_payment_reconciliationOne row per UTC order date and currency with financial-status buckets and amountsmerge for changed date-currency groups
t3_customer_cohorts.sqlshopify.t3_customer_cohortsOne row per first-order month, activity month, and currency for retentioncreate+replace over complete history
t3_product_performance.sqlshopify.t3_product_performanceOne row per current Shopify product with lifetime completed-order demandcreate+replace over complete history

The refresh choices are intentional. Daily tables can re-compute the small set of dates affected by changed orders. Cohort assignment and product lifetime demand depend on the whole available history, so they rebuild atomically instead.

The template refuses to make financial claims it cannot support. Revenue remains at the Shopify shop-currency grain. Payment reconciliation reflects Shopify order statuses and order-header amounts, not a gateway settlement ledger. Product performance does not invent historical margin from a current inventory cost field.

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.