Skip to main content
Solya’s analytics run on a Databricks lakehouse with two layers. This catalog lists the tables; for the operational (app-managed) data, see Data model.

Layers

  • Silver — cleaned, normalized source data (dimensions and conformed entities) produced by ingestion.
  • Gold — business-ready analytics: facts, snapshots, summaries, trends, forecasts, and AI decision data. This is what dashboards, KPIs, search, alerts, and recommendations read.
Browse any of these tables directly in the datasets explorer (filter, paginate, export).

Gold layer

Facts (transactions)

TableHolds
fact_sales_linesIndividual sales transactions.
fact_order_linesPurchase/order lines.
fact_movement_linesStock movements (receipts, transfers, adjustments).

Stock

TableHolds
stock_ledgerHistorical stock movements with running balances.
stock_snapshotCurrent stock by shop/variant (point-in-time).

Dimensions

TableHolds
dim_productsProduct master.
dim_product_variantsVariant master.
dim_inventory_itemsProduct × shop inventory identity.
dim_brandsBrand master.
dim_shopsShop master.

Summaries

TableHolds
dim_product_summaryPer-product aggregates.
dim_variant_summaryPer-variant aggregates.
dim_brand_summaryPer-brand aggregates.
dim_shop_summaryPer-shop aggregates.
TableHolds
product_shop_analyticsPre-aggregated product × shop metrics.
brand_shop_analyticsPre-aggregated brand × shop metrics.
sales_trendsSales trend analysis.
stock_trendsStock trend analysis (feeds stock-out risk).
sales_forecastsPredicted sales by variant/shop/date.
decision_vectorAI scores per variant/shop (stock-out & overstock risk, restock/transfer urgency, recommended discount, surplus/deficit).

Silver layer

TableHolds
brands, products, product_variantsConformed catalog dimensions.
shops, suppliers, collections, countriesReference dimensions.
inventory_itemsConformed inventory identity.
taxonomy, brand_taxonomy, product_taxonomy, variant_taxonomyClassification hierarchies.

Reading these in the app

The app references gold/silver columns through typed constants (under src/constants/datasetColumns/{gold,silver}/) so SQL stays in sync with the schema — a column rename surfaces as a TypeScript error rather than a silent bug. You don’t query these tables directly via the public API; instead, the dedicated endpoints (analytics, search, risks, forecasts) read them for you — see API recipes.
These are read-only analytics tables, populated by the data platform. App-managed data you create (plans, rules, alerts, tags…) lives in the operational database — see Data model.