| Category | AI-native analytics engine with an integrated data stack | Modern cloud BI with a built-in semantic layer |
|---|
| Who it is built for | AI product and analytics teams, plus anyone who works with data — spreadsheet users through ML engineers | Analytics teams that want fast, self-serve BI |
|---|
| Primary interface | The agent you already use, over MCP — plus Workspaces, notebooks, reports and data apps for the people who want a UI. All of them consume the same model rather than being the place it lives | Its own UI — spreadsheet plus dashboard building, modeling in the interface with code underneath |
|---|
| Modeling language | Malloy — a modeling and query language with imports, inheritance, and public and private members | Omni’s own modeling format, in the LookML tradition |
|---|
| What is open | Open core. Malloy is open source, and we build and maintain Malloy Publisher, the open-source server for Malloy models. Your model is code in your repository, and Credible is in the Apache Ossie ecosystem for semantic interchange | Vendor-owned, with bi-directional dbt sync so existing dbt models come along |
|---|
| How the model gets built | A coding agent with open-source MCP tools and agent skills, capturing context from where it already lives | UI and code together, with a modeling agent suggesting metrics and join paths |
|---|
| Governance | Governance as code. Access rules are annotations in the model itself — versioned, reviewed and composable like any other code | Row and column security configured inside the tool |
|---|
| Materialization and caching | One annotation on the source, in the same file as the logic it materializes — no derived-table block, no rollup definitions, no refresh triggers, no orchestration run to schedule. Optional per source: query your own warehouse directly, or hold a source hot in Credible’s in-memory serving layer, which is how a team on Postgres gets fast serving without buying a warehouse to get it | Query-result caching with schedule-based refresh; heavier materialization is left to your warehouse or dbt |
|---|
| How an agent finds the right data | Search. Typed targets — source, dimension, measure, view, even a dimensional value — are matched against an index of the model and come back ranked, so an agent asks for what it needs instead of picking a model and touring it | Three steps the client walks in order: pickModel, then pickTopic within it, then getData |
|---|
| Where the model can be used | One model served to every surface — agents over MCP, plus APIs, an SDK, embedded dashboards, notebooks and HTML data apps. Results carry an interactive UI resource (MCP Apps, the official extension), so a client that supports it renders a real chart or table instead of the model re-narrating rows | The Omni UI, embedded analytics, and an MCP server external assistants can query |
|---|
| Scale and portability | Built for globally distributed, high-availability workloads. Warehouse-agnostic on open-source Malloy — BigQuery, Snowflake, Postgres, MySQL, Trino, Presto and DuckDB, which also reads Parquet straight out of object storage including Azure Data Lake — so the model travels | Single-vendor cloud BI, running in Omni’s cloud |
|---|
| What you pay for | Usage, not seats — unlimited users on every plan, so adding people never changes the bill. Metered per organization on tokens, bytes processed, bytes served and hot storage, starting free. Your own agent’s tokens are never billed, and a query that runs on your own warehouse is not metered for the scan — only for the result it hands back | Sales-led — a platform fee plus role-based seats, with no public price list |
|---|