Your warehouse calculates
net revenueamount − tax − discount$1.32MThe same on every runOne verified set of definitions.
First ekai discovers your data and draws the architecture plan. Then semantics and ontology: your experts define what it means, ekai proves it against your warehouse and publishes it to your agents.
What was net revenue last quarter?
Does net revenue include tax and discounts?
No. Exclude both.
select
order_id,
customer_id,
order_date,
amount - tax - discount as net_revenue
from {{ ref('stg_orders') }}
where status in ('completed', 'settled_gw') -- legacy gateway counts, per FinanceOrder amount net of tax and discounts.
Legacy gateway (settled_gw) orders count as real sales.
SUM(AMOUNT - TAX - DISCOUNT)From the Metrics artifact in AI ModelingAI should use your numbers, never calculate them.
net revenueamount − tax − discount$1.32MThe same on every runEach number defined by your expert and checked.
How those definitions connect across your business.
Agents built, tested and monitored on those definitions.
ekai connects to your warehouse (Snowflake, Databricks, BigQuery, Redshift and more), links the tables you choose and profiles them where they sit.
The Onboarding Agent asks about your domain, like which schema is the source of truth, and writes the Source Onboarding Summary.
Which schema is the source of truth for orders?
1SALES, loaded nightly from the order system2LEGACY, kept for history onlyAnswered 1 questionThe Schema Agent maps keys and relationships across your tables and draws the entity relationship diagram that semantics builds on.
REGION_CODECUSTOMER_IDREGION_CODEORDER_DATEORDER_IDREGION_CODECUSTOMER_IDREGION_CODEORDER_DATEORDER_IDThe Business Requirements agent asks Finance whether net revenue includes tax and discounts, then the AI Modeling Agent builds the lineage and metric.
net_revenueMetrics · on fct_net_revenueSUM(amount − tax − discount)Each definition becomes a validation rule with an expected result, and the read-only ekai reviewing agent gives a binding verdict.
ORDER_ID0 violationsCUSTOMER_ID exists in dim_customer0 violationsREGION_CODE exists in dim_region0 violationsnet_revenue = amount − tax − discount0 violationsnet_revenue >= 0 on every order0 violationsThe Data Transformation agent asks which target to publish to and waits for your approval, and Code Sync pushes the dbt project to your Git.
Where should I publish Sales and revenue?
Every definition becomes a validation rule, with a clear record of who declared it, and the dbt project is versioned in your Git.
amount − tax − discountcompleted order, last 90 daysbetween 0 and 1, every rowevery REGION_CODE in REF.REGIONSDiscovery reads your tables in place. Semantics builds dbt models into its own ekai schema, separate from your source tables, and never edits them. Raw rows never leave your warehouse.
Self-hosted, ekai SaaS or a Snowflake Native App, listed on the Snowflake Marketplace.
Every definition carries the name of the expert who owns it.
Pushed to GitHub, GitLab or Bitbucket, under your review process and branch protection.
Every change is recorded: Activity on each semantic model, History on each item, and your own Git review process.
Audited with zero exceptions.
A standard dbt project in your own Git, plus the AI Modeling artifacts: business glossary, lineage, data catalog, metrics and data validation. Use ekai to build them and keep them for good.
net_revenue Description: Order amount net of tax and discounts. Formula: SUM(AMOUNT - TAX - DISCOUNT) Grain: one row per ORDER_ID Source: SALES.ORDERS active_customers Description: Customers with a completed order in the last 90 days. Formula: COUNT(DISTINCT CASE WHEN is_active THEN CUSTOMER_ID END) Source: CRM.CUSTOMERS, SALES.ORDERS
Demo data, in the formats ekai generates.
Last updated October 28, 2026
ekai turns a new business need into a trusted data product in hours, not months. It maps your data, learns the rules from your experts, and builds a dbt project you own.
Read access for Discovery, which profiles the tables you link in place. To build semantic models, write access for its own ekai schema, separate from your source tables, where the Data Transformation agent creates its models. ekai never edits your source tables.
Your raw rows never leave your warehouse. ekai works from metadata and statistical summaries, and the privacy policy sets out what can be shared with the AI providers you use.
Your people. Inferred relationships, definitions and metrics are reviewed, and the Data Transformation agent stops at approval checkpoints before it builds and before it publishes.
In your own Git, as a standard dbt project pushed from Code Sync to GitHub, GitLab or Bitbucket.