Methodology

How scores are computed, how models are classified, and how widgets render the data.

← Dashboard

This page documents the conventions used by the SOTA Dashboard: how the Composite Agent Score is computed, what counts as a Frontier / Agent-Product / Edge-SLM model, how the Pareto frontier is drawn, and what each of the 14 Agent widgets measures. If you only have five minutes, the “Composite Agent Score” section below covers 80% of what you need.

Composite Agent Score

The Composite Agent Score collapses a model’s performance across all tracked agentic benchmarks into a single 0–100 number. It is computed client-side in dashboard/js/agent-charts.js by the _composite() function (mirrored in Agent._compositeScores() in agent.js).

Formula

For a model m with scores on a set of benchmarks B(m):

For each benchmark b in B(m):
    max_b   = max value reported for b across all models
    v       = m's value on b
    if b is in CATEGORIES[*].lower_better:
        norm_b = (1 - v / max_b) * 100      # invert "lower is better"
    else:
        norm_b = (v / max_b) * 100           # higher-is-better

agent_score(m) = mean( norm_b  for all b in B(m) )
coverage(m)    = |B(m)|

In words: each benchmark is rescaled to 0–100 by dividing by the highest value any model has achieved on that benchmark, then we take the simple mean of all per-benchmark scores. Lower-is-better metrics (jailbreak ASR, scheming subversion rate, etc.) are inverted first so “higher = better” on the final scale.

Coverage threshold

A model is shown on rankings, scatter plots, and leaderboards only when it has scores on ≥ 3 distinct agentic benchmarks. Models with 1–2 benchmarks are excluded to avoid noisy outliers from cherry-picked single-benchmark wins. The threshold is enforced in _composite() at the line if (byModel[midKey].count < 3) continue;.

Lower-better benchmarks (inverted before averaging)

The following benchmark IDs are listed in CATEGORIES.safety.lower_better and inverted before they contribute to the composite:

Normalization caveat. The 0–100 scale is relative to the highest value currently in the dataset for that benchmark, not to an absolute SOTA upper bound. When a new model pushes the SOTA on a benchmark upward, every other model’s normalized score on that benchmark drops slightly. This makes the composite useful for ranking but not for tracking absolute progress over time — for that, look at the raw per-benchmark scores or the W5 SOTA Timeline.

Model Class Definitions

Every model in the dashboard is tagged with one of three classes. The Agent tab’s W4 Frontier-Product-Edge dot plot uses these classes directly; the W1 cost scatter colors bubbles by class.

Class Definition Examples
Frontier Large hosted general-purpose foundation models. Usually proprietary or open-weight at multi-100B scale, accessed via API or web chat. The base substrate that agent products build on top of. GPT-5, Claude Opus 4.5/Sonnet 4.5, Gemini 2.5 Pro, Grok 4, DeepSeek V3.2, Qwen3-Max, Kimi K2, GLM-4.6
Agent-Product Packaged agent products built on top of a base frontier model. They add scaffolding (tool use, memory, planners, IDE/OS hooks) and ship as a product, not a raw model. Curated list lives in AGENT_PRODUCTS in agent.js. Claude Code, OpenAI Codex CLI, Cursor Composer, Replit Agent, Cognition Devin, Manus, Anthropic Computer Use, Google Mariner, OpenAI Operator, Claude Cowork
Edge-SLM Small / on-device language models intended for laptops, phones, or embedded devices. Curated list lives in EDGE_SLMS in agent.js. Treated as $0/month in the cost simulator (W12) and at a placeholder $0.01 on the W1 log-scale X axis. Apple Foundation 3B, Apple Foundation Private Cloud, Microsoft Phi-4-mini-instruct, Phi-4, Google Gemma-3-270m, Gemma 3n, Function Gemma, Meta Llama-3.2-1B/3B-Instruct

Strict Score Attribution Policy

Every score in data/scores.json must satisfy this rule:

A score is admissible only when a primary source (vendor model card, tech report, arXiv paper, official leaderboard, or vendor blog post) shows the model name, benchmark name, and numeric value visible together on the same page.

The following are explicitly not admissible and have been purged from the dataset:

Each row in scores.json carries a source_url field. The Score History modal opens that URL when a user clicks a score, so the chain of evidence is always one click away.

Pareto Frontier Definition

The W1 Cost vs Performance Scatter draws a dashed line through the Pareto-efficient set: the subset of models for which no other model is strictly better on both axes simultaneously.

Formally, given points pi = (costi, scorei):

p_i is on the frontier  ⇔
    no p_j  exists with
        cost_j ≤ cost_i  AND  score_j ≥ score_i
        AND  (cost_j < cost_i  OR  score_j > score_i)

In plain language: a point is on the frontier if you cannot find another point that is at least as cheap AND at least as good, with at least one of those being strictly true. The dashed line connects frontier points sorted left-to-right by ascending cost. Implementation lives in _paretoFrontier() in agent-charts.js.

Edge SLM Cost Treatment

14 Widget Inventory

The Agent tab is built from 14 named widgets. Each widget has a single canonical purpose:

ID Widget What it shows
W1Cost vs Performance ScatterComposite score (Y) vs $/1M output tokens (X, log scale). Pareto frontier dashed.
W2Capability HeatmapModels × categories matrix; cell color = mean normalized score in that category.
W3Category RadarPer-model radar across the 10 agent categories.
W4Frontier-Product-Edge Dot PlotThree-class strip plot showing where each class sits on the composite score axis.
W5SOTA TimelineTime-series of SOTA holders per benchmark; shows which model held the crown when.
W6Vendor × Benchmark Bubble MatrixVendor rows, benchmark columns, bubble size = score, color = recency.
W7Capability Fingerprint Mini-RadarCompact radar variant for inline use in compare panels.
W8Score Distribution ViolinPer-benchmark distribution of all model scores; shows where the field clusters.
W9Capability SankeyFlow from category → benchmark → SOTA holder; thickness = score share.
W10Cumulative SOTA WinsStacked area of cumulative SOTA-holder counts by vendor over time.
W11Build Your Agent WizardInteractive picker: choose required capabilities → get model recommendations.
W12Cost SimulatorEstimate monthly API cost given input/output token volume across selected models.
W13Provider Availability MapWhich models are available on which inference providers (OpenAI, Anthropic, Vertex, Bedrock, Together, etc.).
W14Recommendation BreakdownExplains why the wizard recommended a model: per-capability score contributions.

Versioning & Updates

Source code references