MMNTM logo
Research

Definitions Beat Model Choice for Data-Analysis Agents

Spider 2.0, BIRD, DABstep and BEAVER, dated November 2026. Leaderboard tops are tuned agents, private warehouses score a fraction, and written definitions beat model choice.

MMNTM Research
12 min read
#Text-to-SQL#Benchmarks#Data Agents#Semantic Layer#Evals

The Top of Every Text-to-SQL Leaderboard Is an Agent System, Not a Model

Ask which model is best at data analysis and the leaderboards give you a name that is not a model. On Spider 2.0-Snow the top entry, at 96.70, is Genloop's Sentinel Agent v2 Pro. On Spider 2.0-Lite it is the Tianqiong Data Agent running GLM 5.2, at 76.23. On Spider 2.0-DBT it is SignalPilot's agent, at 65.6. On BIRD's test set it is AskData from AT&T, at 83.40. Each is a vendor's pipeline: retrieval, planning, sampling, voting, repair loops. The base model is one part, and often the page does not say which one.

That matters because the question a team asks is different. You are not buying a leaderboard entry. You are choosing a model and a design for your own warehouse, with your own table names, your own odd columns and your own meaning of "sale". On that question the public numbers say less than they seem to, and the best evidence points somewhere else: at the written context you give the model, not the model.

The short version, as of 2026-11-13. (1) Public tops belong to tuned agents. (2) On private warehouses the same agents score about a fifth as well. (3) In the studies that vary both, written definitions move accuracy by 17 to 23 points while model choice within a tier moves it by about zero. (4) Free SQL fails by returning a plausible wrong number; a governed layer fails by refusing. Build the definitions and the eval. Pick the model tier last.

This piece dates every number, says where each comes from, and ends with how to run the one test that counts: your own questions.

The Benchmarks, Dated

Every score below was read from a primary page or paper on 2026-11-13 unless the row says otherwise. Where a page gives no date, the row says so.

FeatureWhat it measuresTop score and holderAs ofGap to private data, caveats
Spider 2.0-Snow547 enterprise SQL tasks on Snowflake; agent explores the schema and runs queries96.70, Genloop Sentinel Agent v2 Pro (model not stated)Fetched Nov 13, 2026; no per-entry datesOriginal paper: o1-preview solved 21.3% on the full 632 tasks (ICLR 2025). A 2026 audit found gold-answer errors in 62.8% of the 121 tasks with public gold SQL.
Spider 2.0-Lite547 enterprise SQL tasks in the Lite setting76.23, Tianqiong Data Agent + GLM 5.2 (Tencent)Fetched Nov 13, 2026; no per-entry datesSame task family as Snow; the top is 20 points under Snow.
Spider 2.0-DBT68 tasks that ask an agent to build or fix a dbt project65.6, SignalPilot AgentFetched Nov 13, 2026; no per-entry datesEntries that name a bare model sit at 39.7 to 41.2 (GPT-5, GPT-5.4). Small set: one task is 1.5 points.
BIRD (test)Question to SQL on single databases, scored with oracle knowledge83.40, AskData (AT&T); human baseline 92.96Oct 22, 2026The benchmark supplies the external-knowledge note with each question: the definitions your warehouse lacks. A 2026 audit found error rates of 52.8% in BIRD Mini-Dev.
BIRD-Interact600 tasks (full set) with ambiguous queries and follow-ups, in conversational and agent modesGPT-5 (Med): 17.00% agent mode, 8.67% conversationalOct 2025 (ICLR 2026 oral); no newer scores on the pageThe closest public test of vague business terms. Best success under one in five.
LiveSQLBenchFresh, held-out SQL tasks that resist training leakageGemini-2.5-Pro: 35.67 normal, 28.67 colloquial (Base-Full-V1)Sep 10, 2025; Large-v1 released Mar 3, 2026 with no scores listedOld models; no 2026 numbers published on the BIRD page.
DABstep450+ multi-step data tasks from a financial analytics platform, with documentation to read; factoid answersRanks 1 to 16 all at 100% on the hard split (copy of the leaderboard)Results updated Aug 26, 2026Launch paper: best agent 14.55% on hard tasks. Saturated: sixteen entries tie.
BEAVER9,128 question and SQL pairs from three private warehouses, 812 tables11.4%, ReFoRCE agent + Claude-4.5-Sonnet; 10.8% with GPT-5.2Paper v3, May 13, 2026That agent and model score 62.9% on Spider 2.0 in the same paper. Roughly a fifth.

We could not load the official DABstep page, so the DABstep row uses an aggregator's copy of the leaderboard. The Spider 2.0 page states no update date for any entry.

Two things stand out before any argument. Scores on the three public Spider settings do not agree with each other, so "Spider 2.0 accuracy" is not one number. And the BEAVER row is the only one measured on data a model could not have seen.

Two of the Big Benchmarks Are Too Noisy to Rank By

A leaderboard works only if the answer key is right and the test does not move. Both assumptions have taken damage this year.

Spider 2.0-Snow has errors in its answer key. A January 2026 audit (arXiv 2601.08778, later in PVLDB) reviewed the tasks with public gold SQL: 121 of the 547. It reports an annotation error rate of 62.8% on Spider 2.0-Snow and 52.8% on BIRD Mini-Dev. When the authors corrected a subset of BIRD's dev set and re-scored 16 open-source agents, relative scores moved from about minus 7% to plus 31%, and rankings shifted by up to nine places. Rankings on the corrected subset correlated only weakly with the original order (Spearman 0.32).

Separately, Emergence AI examined 32 Spider2-Snow mismatches and attributed 28 to the benchmark itself: 20 to live data that changed after the gold answers were fixed, 5 to differences between BigQuery and Snowflake, 3 to revoked data shares. Only 4 were wrong query logic. They propose a trimmed set of 524 tasks.

A top score of 96.70 on a key like this does not mean 96.70% of enterprise questions are solved. We do not know what it means. The leaderboard and the audit sit side by side on the public record, and we cannot reconcile them from outside.

DABstep is saturated. The launch paper reported the best agent at 14.55% on the hard tasks. The leaderboard copy we could reach, updated Aug 26, 2026, has sixteen entries at 100% on hard, several submitted under names like "test". A test where sixteen systems tie at the ceiling ranks nothing.

This is the pattern Donella Meadows describes for any target. People tune to what is scored.

”

"If the quality of education is measured by performance on standardized tests, the system will produce performance on standardized tests." — Donella H. Meadows, Thinking in Systems (§ "Seeking the Wrong Goal")

Even the model-ranking firms now hedge against it. Artificial Analysis rebuilt its Intelligence Index on Oct 28, 2026 so that 60% of it rests on private test sets or held-out answers. See also the contamination problem and how to write evals that can be climbed without being gamed.

Private Warehouses Score a Fraction of Public Ones

BEAVER is the clean test, because its three warehouses are private (an academic IT department's Oracle warehouse and two MySQL systems at a research lab and a residential facility). Its tables average 101.5 per database against BIRD's 6.8. The paper's v3, dated May 13, 2026, reports end-to-end execution accuracy for seven models and four methods. The best is ReFoRCE, an agent method, at 11.4% with Claude-4.5-Sonnet and 10.8% with GPT-5.2. The same method and model reach 62.9% on Spider 2.0.

Same agent, same model

62.9% vs 11.4%

ReFoRCE with Claude-4.5-Sonnet: Spider 2.0 against BEAVER (arXiv 2409.02038 v3, May 2026)

The first version of the paper, in 2024, reported close to zero for GPT-4o with retrieved tables. Models improved; the gap did not close. Giving the agents oracle hints for every subtask lifts accuracy to 25.9% in the paper's table (the abstract says 30.1%; the two disagree).

Teams that publish results on their own warehouses report a wide range.

  • LinkedIn SQL Bot (July 2025, 300+ weekly users): 53% of responses correct or close to correct, by expert review on an internal set.
  • Snowflake Cortex Analyst (Aug 2024, vendor, 150 internal questions): 90%+ for the product with a semantic model, 51% for single-prompt GPT-4o. This is Snowflake grading Snowflake, on old models, and nobody has replicated it.
  • Uber QueryGPT: published no accuracy figure. It says run-to-run swings near 5% should not drive decisions, and that invented tables and columns remain unsolved.

Huyen's summary of public benchmarks fits all of this.

”

"Public benchmarks can help you weed out bad models, but they won’t help you find the best models for your applications." — Chip Huyen, AI Engineering (p. 410)

The Biggest Lever in the Evidence Is Written Context

Three studies vary the context and the model, and the context wins each time.

Rumiantsau and Fokeev (arXiv 2604.25149, April 28, 2026). 100 questions on the Contoso retail dataset in ClickHouse, three models: Claude Opus 4.7, Claude Sonnet 4.6 and GPT-5.4. With schema only, accuracy was 45.5% to 50.5%. With the schema plus a 4 KB hand-written markdown file of measures, conventions and disambiguation rules, it was 67.7% to 68.7%, a gain of 17 to 23 points, significant at p below 0.01. Within each condition the three models were statistically indistinguishable. The authors attribute essentially all the significant variance to the document, none to model choice within the tier.

From a 4 KB definitions file

+17 to +23 pts

Three frontier models, 100 questions, schema only vs schema plus doc (Apr 2026)

dbt Labs (April 7, 2026). On the ACME Insurance benchmark, 11 questions run 20 times each, the team added three dbt models, written by an LLM with no hand-written code, and re-ran. Free text-to-SQL went to 90.0% on Sonnet 4.6 and 84.1% on GPT-5.3 Codex. Through the semantic layer, the same models scored 98.2% and 100%. In their reasoning sweep, GPT models on the highest setting took over 20 seconds per query against 8 on high, "with no meaningful accuracy improvement", and Sonnet 4.6 outscored Opus 4.6 on the semantic layer. The authors sell dbt, the set is small, and the free-SQL arm loaded the whole schema as context, which they say does not scale. Read the direction, not the decimals.

Tribal knowledge. Agarwal et al. (Feb 2026) bolt a store of learned facts about the data onto any text-to-SQL agent and report gains of up to 16.9% on Spider 2.0 and 13.7% on BIRD. A COLM workshop paper, Gwimm and Eisenach (Aug 2026), compared tuning context artifacts with tuning the retrieval harness on 5,176 retail queries: about 12 to 25% similarity gains for the artifacts, 3 to 12% for the harness. On BEAVER the best variant reached 9.00% against 6.33%, which the authors report is not significant (p = 0.12). The direction agrees; the size does not hold up everywhere.

Vendors say the same thing in their own docs. Databricks writes: "Defining business logic as SQL expressions produces more consistent results than text instructions, because Genie applies the logic exactly as written rather than interpreting it from natural language" (Tune Genie Agent quality, page dated Nov 5, 2026.) Write the measure once, as code, and the model stops guessing what "win rate" means. See the Databricks stack for where this sits in the platform.

Hubbard states the principle in measurement terms.

”

"Business managers need to realize that some things seem intangible only because they just haven’t defined what they are talking about. Figure out what you mean and you are halfway to measuring it." — Douglas W. Hubbard, How to Measure Anything (§ "Clarification Chain")

The context work is mostly this. It is not prompt tuning. It is deciding what "active customer" and "sale" mean, writing it down, and pointing the model at it. That is also the argument for report tools over open SQL when a question has a fixed meaning.

Free SQL Fails Quietly, a Governed Layer Fails Loudly

Accuracy gaps hide a second difference: what a wrong answer looks like.

dbt's first run is the clearest data. Before any remodelling, over all 11 questions, free SQL scored 64.5% on both Sonnet 4.6 and GPT-5.3 Codex. The semantic layer scored 72.7%. The semantic layer was perfect on the questions it could express (100.0%) and scored 0% on the ones that needed more entity hops than it supported. Its failure was an error message. The authors' own words: with text-to-SQL, "failure looks like a plausible but incorrect answer"; with the semantic layer, "failure looks like an error message."

A refusal costs a question. A plausible wrong number costs a decision. An out-of-scope refusal is visible, countable and fixable by modelling one more table. A confident wrong total goes into a deck. Score the two failure modes separately in your eval, and weight the second one more.

Our own small run shows the quiet kind. An analyst agent at MMNTM answers questions against a private Postgres warehouse by writing free SQL. On 29 known-answer questions (one skipped by the run window, counted as a miss), gpt-6.1-sol got 25 right and gpt-6-luna got 22 (Nov 11, 2026). The misses were nearly all about meaning, not syntax: which teams count toward a total, and which of two sale counts the question wanted. Both queries ran. Both returned a number. The number was wrong in a way no SQL linter would catch.

That is one run on one warehouse, and we use it as an illustration only. It does fit what the larger studies find: the model wrote valid SQL, and the missing piece was a definition.

Pick the Model Tier First, Then Stop

Which models count as current matters less than it used to, but you should name them. As of Nov 13, 2026, per Artificial Analysis coverage: Claude Opus 5.5 led its Intelligence Index v5 at 58 when the index launched on Oct 28. Claude Sonnet 5.5 and GPT-6.1 Sol sit just above Gemini 4 Hydrogen, which scored 54 on Nov 12 and costs a third of Sonnet's price but about 2.5 times Sol's.

No published text-to-SQL study we found tests that generation. The newest model comparisons above used Opus 4.7, Sonnet 4.6, GPT-5.4, GPT-5.3 Codex and GPT-5.2: one to two generations old. Where they tested several models in a tier, the models tied or traded places, and the larger or slower setting bought nothing. Treat that as a prior, not a law.

The first-party run adds one data point on cost. Per correct answer, gpt-6.1-sol cost $0.062 ($1.56 for the run) and gpt-6-luna cost $0.0042 ($0.09): about 15 times less for three fewer right answers. With 29 questions the 95% intervals are wide, roughly 69% to 94% for 25 of 29 and 58% to 88% for 22 of 29. They overlap. The cheaper model is not shown to be worse. See how to budget agents by cost per correct answer.

Cost per correct answer

15x

gpt-6.1-sol at $0.062 against gpt-6-luna at $0.0042, on 25 and 22 of 29 right (Nov 11, 2026)

So the order of work is:

  1. Choose a tier on cost and latency. A mid-tier current model is a safe start.
  2. Write definitions and curate tables until the eval stops improving.
  3. Re-test one tier up and one down. Move only if your own questions say so.

Run Your Own Eval: About 30 Known-Answer Questions

The public numbers cannot tell you how a model does on your warehouse. Thirty questions can, to a first approximation. When you start knowing almost nothing, a little data buys a lot.

You start knowing almost nothing about how your agent will do, so thirty graded questions are worth a lot. They will not resolve a three-point difference, so do not try to.

1

Collect real questions from stakeholders

Take about 30 from Slack, tickets and the ad hoc requests analysts already field. Keep the awkward phrasing. Include some that no table can answer and some that are vague. Do not write them yourself from the schema.

2

Get answers from a source independent of the agent

An analyst's notebook, a finance close report or a vetted dashboard. Not the agent's own SQL, and not a model's reading of it. Record the as-of date, because live data drifts. Emergence found drift behind 20 of 32 Spider2-Snow mismatches.

3

Grade per check, not per question

Split each answer into checks: right table, right filter, right grain, right number, right caveat. A final number that matches by luck still shows its failed checks. Add one check per question for out-of-scope: did the agent refuse, ask or state its assumption?

4

Tag every miss by cause

Syntax, wrong table, wrong definition, wrong period, bad rounding, no refusal. If most misses are definitions, the next hour belongs in your definitions file, not in a model swap.

5

Re-run on every model, prompt and definition change

Run each case more than once and ignore swings under about 5%, the threshold Uber uses. Keep the run log. Report the interval, not only the point score.

Two traps. Once the agent's builders see the questions, they will tune to them, so hold out a third you never look at; the hill-climbing article covers how. And an eval that never changes goes stale, because your business definitions will. See building agent evals for the wider method, and RAG reality check for why a bigger retrieval index is not the same as better context.

What to Do Monday

  • Ignore public tops when choosing. Use BEAVER-style gaps as your prior: expect a fraction of the public score on your warehouse.
  • Write the definitions file. Measures, filters, grain, "as of" rules, and a list of known traps. Start at 4 KB, the size that gave Rumiantsau and Fokeev 17 to 23 points.
  • Route fixed-meaning questions to governed tools. Let free SQL handle the rest, labelled unverified, with its assumptions stated.
  • Build the 30-question eval this week. Independent answers, per-check grading, a held-out third.
  • Choose a model tier last, and test one tier down. The cheap model may tie.
Best Practices14 min

The Eval You Climb Is the Product You Get

Teams now improve AI systems by hill climbing an eval: change one thing, rerun, keep what moves the number. How to write evals that survive being climbed.

Read
Technical Deep Dive13 min

Fixed Reports for People, Fenced SQL for Agents: Designing an MCP Server for Data

How we built a private MCP server for sales managers: reports that carry their own definitions, a staff tier enforced by the database, OAuth per the MCP spec, and what compact mode costs.

Read
Technical Deep Dive14 min

Building Agent Evals: From Zero to Production

Why 40% of agent projects fail: the 5-level maturity model for production evals. Move beyond SWE-bench scores to measure task completion, error recovery, and ROI.

Read
Analysis12 min

Nobody Can Forecast Their AI Bill

Token prices fell 53% in three months and almost no company can forecast its AI bill. Measured data from a production agent shows why, and how to budget by cost per correct answer.

Read
Technical Deep Dive13 min

RAG Is Oversold: The Gap Between Tutorial and Production

95% of RAG projects fail to reach production. The gap isn't infrastructure—it's retrieval accuracy, data processing, and reasoning. Naive RAG is obsolete; production requires rigorous engineering.

Read
Company Profiles12 min

Databricks: The $100B Data Foundation Nobody Talks About

While everyone obsesses over OpenAI and Anthropic, Databricks quietly became the hidden infrastructure layer for every enterprise AI agent. From lakehouse to Unity Catalog to DBRX, here's why they own the data moat.

Read