Model
The metric is defined once, in SML, the open modeling language behind Apache Ossie.
AtScale ace
ACE holds your definitions and does the math, from writing the SQL to rolling a metric up across dimensions and time. It works the way a calculator does: the same inputs always produce the same result.
ACE is the metric engine AtScale has refined over a decade of enterprise workloads. Most business metrics have to be computed, often in several passes. ACE runs every pass the same way every time, where your data already lives, and every AI agent and BI tool that queries it gets the same number.
THE PROBLEM
One wrong pass still returns a number, and nothing flags it as wrong.
Prompt an LLM for recognized revenue and it has to pick the contracts that count, spread each one over its service period, convert currencies, then roll up by region and quarter. It writes new SQL for every question across dozens of joined tables, and it can write that SQL differently the next time. The answer looks reasonable, so the error is easy to miss.
How ace works
ACE handles the ones LLMs miss most often: roll-ups across hierarchies, time series such as year-to-date and rolling windows, and balances like inventory that can’t be added up over time. It builds aggregates from the queries people run and caches repeat answers, so it’s faster and cheaper the more it’s used.
ATSCALE ACE : THE AI COMPUTATION ENGINE
SEMANTIC DEFINITIONS
Revenue
Churn
Inventory
Gross margin
On-time delivery
Same-store sales
Net interest margin
Basket size
conversion rate
Loss ratio
Readmission rate
Days of cover
Average order value
…
COMPUTATION – atscale ace
Turns a metric request into the query your warehouse runs.
Built from the queries people actually run, so ACE gets faster on its own.
Repeat questions come back without touching the warehouse again.
Hierarchies, drill paths and roll-ups a flat table can’t express.
Period-over-period, year-to-date and rolling windows, computed the same way every time.
computes in place, on the platform you already run
Snowflake
Databricks
Amazon Redshift
Apache Iceberg
Microsoft Fabric
Google BigQuery
for agents
An agent calls ACE through the AtScale MCP server with run_query, asking for a metric by name. ACE computes it and returns the rows with a query ID. With get_outbound_queries, the workflow pulls the exact SQL ACE sent to the warehouse, so there’s a record of every number the agent acted on.
See how AtScale powers AI agents →
An agent calls ACE through the AtScale MCP server with run_query, asking for a metric by name.
ACE computes it and returns the rows with a query ID.
With get_outbound_queries, the workflow pulls the exact SQL ACE sent to the warehouse, so there’s a record of every number the agent acted on.
The metric is defined once, in SML, the open modeling language behind Apache Ossie.
ACE turns the request into SQL and computes it inside your warehouse. Your data never moves, and the same certified number goes back to whatever asked for it, over XMLA, SQL, REST or MCP.
We optimize the SQL so you don’t have to. Aggregates form from the queries people actually run, so the same metric keeps getting faster without anyone predicting the questions.
On BIRD-Interact, the public benchmark built from realistic enterprise questions, adding AtScale made an LLM twice as accurate.
ACE also cuts the work behind each answer. An agent that’s exploring a schema on its own runs query after query and still guesses. An agent that calls ACE asks for the metric by name and gets back one computed result, often from an aggregate ACE has already built or a result it has cached. When agents ask thousands of questions a day, that’s a saving in warehouse compute and tokens on every one.
Ava confirms what a question means before ACE computes the answer.
No. A cache replays an answer an analyst already ran. ACE computes the metric, including combinations no one has asked for yet.
A materialized view answers one question you already knew to ask. ACE answers the ones you didn’t.
No. A catalog documents where data lives and who owns it. That’s a different job from computing the number, and ACE doesn’t depend on one.
No. ACE computes inside the warehouse you already run.
No. ACE computes a defined metric from its rules, the same way every time. Text-to-SQL has a model write a new query against raw tables for each question.
No. ACE computes every metric on your data platform, where the data already lives.
Snowflake, Databricks, Google BigQuery, Amazon Redshift, PostgreSQL and InterSystems IRIS. Self-hosted AtScale also runs on Microsoft SQL Server, Azure SQL, Azure Synapse, Cloudera CDP and IBM Db2. ACE writes SQL in each platform’s own dialect.
Yes to both. Every answer traces back to the metric definition and the exact SQL that produced it. Your data engineers can change how a metric is defined and tune how it’s computed. CoModel, coming this fall, will suggest changes from real query history, and a data engineer will decide what ships.
Yes. Power BI and Excel query it live over XMLA and DAX, Tableau and Looker over SQL, Google Sheets through the AtScale Connector add-on, and Python notebooks through AI-Link. Every tool gets the same number.
Claude, ChatGPT, Google Gemini, Databricks agents and any client that supports remote MCP servers, through the AtScale MCP server. An agent requests a metric by name with run_query and pulls the exact SQL with get_outbound_queries. The tools are read-only and agents sign in with OAuth.
ACE gets faster and cheaper with use. It builds aggregates from the queries people run and caches repeat answers, so many answers don’t need a full table scan.
No. It’s part of AtScale, alongside Ava, the MCP server, Semantic Modeling and Governance.