Overview & Entity Relationships
CenterCheck's data model is organized around the Business Location — every dataset in the schema is anchored to a physical point of interest. Metrics, demographics, and behavioral signals are all delivered at the Business Location level, scoped to a specific time period.
The schema is composed of seven core entities:
The foundational record for each physical store or venue
Retail chain or multi-location business entity grouping Business Locations
Revenue, transaction count, and unique customer count per location per period
Shopper profiles by age, gender, income, ethnicity, and other attributes
Customer movement patterns before and after visiting a Business Location
Origin ZIP codes of shoppers visiting each Business Location
Entity Relationships
All entities relate back to a central Business Location record via business_location_id. Metric and demographic datasets are further scoped by start_at and end_at fields, enabling time-series analysis.
Key Design Principles
Business Location is the anchor. Every dataset joins back to a Business Location via business_location_id. This means all analysis — whether financial, demographic, or behavioral — can be consistently scoped to a physical place.
Brand groups locations. A Brand is linked to one or more Business Locations via brand_id, enabling chain-level aggregation across all locations belonging to the same retail brand.
Time-scoped metrics. Transactions, demographics, ZIP capture, and spend journey data are all scoped to a reporting period via start_at and end_at. This enables trend analysis, period-over-period comparisons, and seasonal benchmarking.
Spend Journey uses journey arrays. Unlike flat metric datasets, the Spend Journey entity delivers previous_locations, next_locations, and secondary_next_locations as nested JSON arrays. Each entry in these arrays references another Business Location by location_id, along with transaction_pct, customer_pct, and revenue_pct representing the share of transactions, unique customers, and revenue attributed to customers who followed that journey path.
Parent-child location hierarchy. Business Locations support a self-referencing hierarchy via parent_business_location_id, allowing individual stores to be rolled up to a parent complex (e.g. a mall or shopping center).
Nested arrays require unnesting. The Spend Journey dataset deliver data as nested JSON arrays. When ingesting into a data warehouse, these fields should be exploded into individual rows for row-level analysis.
Last updated
