The vocabulary every analytics team shares
The Kimball dimensional model has been the standard mental model for analytics tables for thirty years. The vocabulary — fact tables, dimension tables, grain, conformed dimensions — shows up in every warehouse, every dbt project, every BI tool. Learning it once is worth a career's worth of clear conversations.
Two kinds of table
- Fact tables hold the things that happened — orders, page views, payments, sensor readings. Each row is an event or a measurement. Columns are mostly numeric (measures) plus foreign keys to dimension tables.
- Dimension tables hold the descriptive context — customers, products, stores, dates. Each row is a thing, not an event. Columns are mostly attributes (name, country, category, color).
Grain — the most important word
The grain of a fact table is what one row represents. "One row per order" is a grain. "One row per order line item" is a different grain. "One row per customer per day" is yet another. Get the grain wrong and every metric you compute against the table will be subtly off, because rows aggregate at the wrong level. The first thing to write down for any new fact table is its grain — in one sentence, on top of the schema.
Conformed dimensions
A conformed dimension is a dimension table used by multiple fact tables with the same key. The customers dimension joined to the orders fact table and to the support_tickets fact table is conformed. Conformed dimensions are how you get "customer-level" metrics that combine signals from many sources without inventing reconciliation logic for each report.