If your executives are about to query the warehouse in English, do not point them at Snowflake Copilot. It is an analyst's SQL assistant with no semantic layer, and Snowflake's own documentation says it "is being replaced with Cortex Code". The real choice is between three tools that each require a semantic layer before they are safe: Snowflake Cortex Analyst (inside Snowflake Intelligence) if your data lives in Snowflake, Databricks Genie if it lives in Unity Catalog, and ThoughtSpot Spotter only if your metrics span more than one warehouse. Whichever you pick, the accuracy you get is the semantic model you write — Databricks' own worked example started at 0% on 13 benchmark questions before anyone modelled the data.
| Snowflake Copilot | Cortex Analyst | Databricks Genie | ThoughtSpot Spotter | |
|---|---|---|---|---|
| Built for | Analysts writing SQL | Business users, via Snowflake Intelligence | Business users, via Genie Agents | Business users, any warehouse |
| Semantic layer required | None — reads table and column names | Semantic view with declared relationships | Genie Agent: tables, joins, example SQL, instructions | ThoughtSpot Model, Spotter-enabled |
| Joins it has not been told about | Guesses | Flags as invalid, refuses | Guesses unless relationships are defined | Cannot express — joins come from the Model |
| Row-level security | Snowflake RBAC | Snowflake RBAC + row access policies | Unity Catalog row filters + column masks, per user | ThoughtSpot RLS rules, or OAuth passthrough |
| When it does not know | Suggests SQL anyway | Rejects and suggests answerable questions | Asks a clarifying question or says it can't | Shows its interpretation as editable tokens |
| AI cost per question (Sept 24, 2026) | Included, being replaced | 6.7 credits per 100 messages + warehouse | $0 AI charge through Jan 31, 2027 + warehouse | 25 queries/user/month on the $50 Pro seat |
| Verdict | Loser — wrong tool for this job | Buy, if you are on Snowflake | Buy, if you are on Databricks | Buy only across multiple warehouses |
Workload used for every cost comparison below: 200 executives asking 20 questions each a month — 4,000 questions — against a sales schema that needs 3-4 joins to answer "revenue by region by product line".
Why Snowflake Copilot Loses Before the Evaluation Starts
Snowflake Copilot loses because it answers from table names, and executives do not speak in table names. Per Snowflake's documentation, Copilot uses "the names of your databases, schemas, tables, and columns and also the data types of your columns to determine what data is available to query." There is no place to write down that "revenue" means net of returns, that fiscal Q1 starts in February, or that ORDERS joins to ACCOUNTS on the billing account and not the ship-to account.
That is fine for an analyst who reads the SQL before running it. It is not fine for a CFO who reads the number. And the product is on its way out — Snowflake says it is being replaced by Cortex Code, an agentic coding tool aimed at builders, not executives.
Who should use it: analysts already in Snowsight, for as long as it lasts. Who should not: anyone whose question arrives in English and leaves as a slide.
The steel-man for Copilot is that it needs zero setup, and every tool below needs weeks. That is exactly the problem. The setup is the product.
What Accuracy Looks Like on a Real Schema With Joins
Accuracy on a real enterprise schema is far below the 90% figures in vendor marketing, and every vendor's number is measured on its own test set. Start with the independent evidence. On Spider 2.0, the ICLR 2025 benchmark built from real enterprise databases, an o1-preview-based code agent solved 21.3% of tasks against 91.2% on the older Spider 1.0. Purpose-built agents have since climbed — the Spider 2.0-Lite leaderboard top entry sat at 76.23 when checked on September 24, 2026 — roughly one question in four wrong for the best system submitted there. The Snowflake-hosted Spider 2.0-Snow board shows a 96.70 top score on the same date, so agents tuned hard to one benchmark can close most of the gap; your schema is not that benchmark.
Now the vendor numbers, labelled as what they are:
- Snowflake says Cortex Analyst reaches "~90% or higher accuracy reliably across customer evaluations as well as in our benchmark tests", against 51% for single-shot GPT-4o on its internal evaluation set. Internal benchmark, vendor claim.
- Databricks says new Genie techniques lifted accuracy "from 32% to over 90%" over a leading coding agent on "an internal benchmark of real-world data analysis tasks" (May 8, 2026). Internal benchmark, vendor claim.
- ThoughtSpot publishes no accuracy percentage for Spotter. Its Spotter Semantics announcement (March 12, 2026) argues instead that it uses "patented search tokens, not text-to-SQL powered by LLMs".
The most honest number in the whole category is the one Databricks published about itself. In its production-readiness walkthrough, a marketing-analytics Genie space scored 0% on 13 benchmark questions at baseline, over 50% after clear naming, descriptions and relationships, 77% after defining metrics like click-through rate, and 100% after adding domain rules and global filters. The model did not get smarter between iterations. The semantic layer did.
That is the pattern you will see in your own pilot, on all three tools. The joins break first — Databricks' walkthrough lists an "Ambiguous Data Model" needing explicit primary/foreign key constraints as a core failure point, because without them the model has to guess which columns connect. We covered the same ceiling at Grab, which ran analytics agents for five months and found context — not the model — was the limit.
What Semantic Layer Each One Needs First
Each tool needs a different semantic artefact before an executive touches it, and building that artefact is most of the project. A semantic layer is the governed mapping from business terms — "net revenue", "active customer", "fiscal quarter" — to the tables, joins and formulas that compute them.
Cortex Analyst needs a semantic view. It is part of Snowflake Cortex AI, and per Snowflake's docs, semantic views define logical tables, dimensions, facts, metrics and relationships; the older YAML semantic models still work but are discouraged for new builds. The relationships are not optional. Snowflake's engineering team explains that a join in generated SQL is allowed only if it "matches the user-specified join in the semantic model" — otherwise it is flagged as invalid — and that the same directed graph is used to catch fan-trap and chasm-trap double counting. Add a Verified Query Repository of known-good question/SQL pairs for the questions your board asks every month.
Genie needs a curated Genie Agent. You add up to 50 tables, views or metric views, then example SQL, instructions and trusted assets. Databricks' curation guidance favours narrow, well-described agents; a sprawling one is where accuracy goes to die. Genie also has a proper test harness: up to 500 benchmark questions per agent, graded by result match in chat mode. Use it — none of the other tools makes regression testing this easy.
ThoughtSpot needs a ThoughtSpot Model with Spotter enabled. Joins, formulas and synonyms live in the Model, and Spotter is coached through reference questions and business terms. The upside is that ThoughtSpot's Model can sit over Snowflake, Databricks and others at once, and ThoughtSpot says it integrates with models in "Snowflake, Databricks, and dbt". The downside is that it is a second semantic layer to maintain if your warehouse already has one.
Who should NOT pick Cortex Analyst: a team with no one willing to own semantic views as code. Who should NOT pick Genie: a team hoping to point one agent at 200 tables. Who should NOT pick ThoughtSpot: a single-warehouse shop that already modelled its metrics in Snowflake semantic views or Databricks metric views — you would be paying to define revenue twice.
Does Row-Level Security Actually Hold?
Row-level security holds on all three when you configure it in the right place, but only Cortex Analyst and Genie enforce the warehouse's own policies by default. That difference decides how many copies of your access rules you maintain.
Cortex Analyst runs generated SQL under the caller's Snowflake identity; Snowflake states that "SQL queries generated and executed adhere to all established access controls" through its RBAC integration. Row access policies you already have keep working. Check which roles the session actually carries — secondary roles can widen what an agent sees, a trap we documented for Snowflake agent tasks.
Genie splits compute from data: the author's warehouse credentials are embedded, but "data access is always evaluated using each end user's own Unity Catalog permissions", and row filters and column masks "are enforced per user automatically, regardless of how the Genie Agent is shared." A user who asks about data they cannot see gets an empty response.
ThoughtSpot gives you two options, and both have a cost. You can define RLS rules on ThoughtSpot tables — a second copy of your policy, which drifts from the warehouse's. Or you can use OAuth passthrough so the warehouse enforces its own policies — but ThoughtSpot's RLS documentation warns that with passthrough "ThoughtSpot builds the search index on the user who created the connection," so "other users may be able to see search suggestions for columns or values they should not see." They cannot query them. They can see that they exist. In some organisations the name of an unannounced product line is the leak.
The failure nobody tests: correct RLS produces different answers to the same question. The regional VP and the CFO both ask "what was Q3 revenue?" and get two correct, differently filtered numbers — and neither tool puts "scoped to EMEA" in bold. Put two personas with different policies into your pilot and check whether the answer says what it filtered.
What Each Tool Does When It Does Not Know
The best behaviour here is refusal, and Cortex Analyst is the only one designed to refuse by default. Snowflake says Cortex Analyst "proactively identifies and rejects ambiguous or unanswerable questions, given the available data" and suggests alternatives, and its join validation treats an undeclared join as a failure rather than a guess. A query that fails is recoverable. A plausible wrong number in a board deck is not.
Genie could respond with a clarifying question or state its limitations — "could" is doing work there. Databricks' curation guidance tells authors to write explicit clarification triggers ("When users ask about sales metrics without specifying product name or sales channel, ask…"), which means the refusal behaviour is something you build, one instruction at a time. Answers drawn from trusted assets are labelled as such, which gives executives a visible signal of which answers someone pre-approved.
ThoughtSpot Spotter takes a different route: every answer shows the search tokens used to construct it, and the user can edit them. That is the most readable verification surface of the three — an executive can see "Revenue, Region, Last Quarter" without reading SQL. But it only helps if the executive looks, and it verifies the interpretation, not whether the Model's revenue formula is right.
What Does a Question Actually Cost?
At our workload — 4,000 questions a month — Genie is cheapest today, Cortex Analyst is modest, and ThoughtSpot costs the most because you are buying a BI seat, not a meter. All prices checked September 24, 2026.
- Cortex Analyst: the standalone API is billed per 1,000 messages, at 6.7 credits per 100 messages per Snowflake's Service Consumption Table. 4,000 messages is 268 credits — Platform Credits, not AI Credits, so the dollar figure is your contracted credit price: about $536 a month at $2 a credit, plus warehouse time for the SQL. Each follow-up turn is a message. Called through Cortex Agents or Snowflake Intelligence, it switches to token-based AI Credit pricing instead, so model your actual entry point.
- Genie: Genie One and Genie Agents usage by users is free through January 31, 2027; service principals are charged. You pay only for the pro or serverless SQL warehouse that runs the SQL. Treat the $0 AI line as a promotion with an end date, not a price — budget for it to change in your FY27 plan.
- ThoughtSpot: the Pro plan is $50/user/month billed annually and includes 25 Spotter queries per user per month; Enterprise is custom pricing. 200 seats is $10,000 a month, about $2.50 per question at 20 questions each. The usage-based plan starts at $0.10 per credit, and one credit is consumed per generated query "in most cases" — Liveboard views can generate several.
ThoughtSpot's seat also buys dashboards, Liveboards and a full BI tool. If you would replace an existing BI licence with it, the comparison changes. If you are adding it next to Power BI or Tableau purely for English queries, it is the most expensive way to get there.
How to Decide — the Criteria That Predict Regret
The criterion that predicts regret is where your metrics are already defined, not which demo impressed the executive committee. Decide in this order:
- Where does the data live? One platform → use that platform's tool. We argued the same logic for the platform decision itself: the exit cost is the semantic layer, and you do not want two.
- Is there a named owner for the semantic layer? If not, stop. Every tool here is a thin skin over that work.
- Do your metrics span warehouses? This is the one case where ThoughtSpot earns its price — one Model over Snowflake and Databricks beats two agents that disagree about revenue.
- How many copies of your RLS can you afford? One is the right answer.
What changes the answer: Databricks ending Genie's free period; Snowflake moving Cortex Analyst fully onto token pricing; or the Open Semantic Interchange standard, of which ThoughtSpot is a founding member, maturing to the point where one semantic definition really does serve every tool.
This Week: pull 50 real questions from executive emails and Slack. Tag 10 that need three or more joins and 5 that your data cannot answer.
This Month: build a narrow semantic model for one domain and run all 50 through your platform's tool. Score confidently-wrong answers separately from refusals — a tool that refuses 15% and is wrong 2% beats one that answers everything and is wrong 10%.
Before the Pilot Ends: run the same questions as two users with different row policies, and check whether each answer says what it was scoped to.
The Bottom Line
This is the BI semantic-layer argument from 2015 again, with a chat box on the front. The teams that won that round were the ones that defined revenue once. The same teams will win this one, on whichever tool matches their warehouse.
Buy the semantic layer. The English is the easy part.
Continue Reading
- Grab Ran Analytics Agents 5 Months. Context Was the Ceiling.
- UNICEF Tested a Generic MCP Server. It Lost to No Tools.
- Snowflake Cortex vs Databricks Mosaic AI: Pick on Exit Cost
- Snowflake Agents Run as All Your Roles. Revoke From PUBLIC.
- Tableau's 33M Semantic Models Take On Power BI Copilot
- Omni Raises $120M: The AI Layer Looker Couldn't Build
