Business Bench

Business Bench · a verifiable benchmark for agents doing business work

Business work is the domain where agent correctness can actually be measured.

Code benchmarks have exact verifiers, a narrow domain, and documented contamination and reward hacking. Work benchmarks have economic breadth and grade by rubric, checkpoint, or expert preference, so they measure plausibility. Business work has long-horizon, many-document inputs and a deliverable with a ground truth. Business Bench uses that to measure conjunctive correctness, repeat reliability, and self-verification with executable checks only: no rubric, no LLM judge, no partial credit.

Read the findingsResultsv2 specificationRepository

What it measures

A task t declares required checks Ct over the files the agent leaves behind: exact identifier sets, keyed values, workbook figures after native recalculation, sentence-level text rules, task-specific graders. An attempt passes iff every check in Ct passes. Each task runs k = 3 times in a fresh workspace. Four numbers follow:

Every task is a generator with a seed and a planted truth, so the same task exists as sealed variants and at several difficulty bands, and the whole set can become an environment with dense exact rewards. Verdicts are bound by receipts to a hashed scorer; raw and frozen verdicts are both published.

Findings from the current release

6.9–9.3
point conjunctive gap: both systems pass over 93% of checks and far fewer tasks
44–63%
of failed attempts failed exactly one required check
19.8
points between pass@3 and pass^3 for the leading system: can do it versus does it every time
10.6×
difference in estimated cost per passing attempt, with the caveats stated

Seven findings with their computation and caveats are on the findings page. 116 of 187 tasks are passed by both systems every time; the current set separates them on about a fifth of its tasks, which is why v2 adds difficulty bands and three new capability axes.

Where it sits

BenchmarkVerifierDomainWhat it cannot tell you
SWE-bench VerifiedUnit testsPython repositoriesRated Flawed by Epoch AI (Sept 2026): contamination, and an OpenAI audit finding flawed tests in a majority of the audited sample.
Terminal-Bench 4.0Test scriptsShell tasksEpoch counts 30 of 66 tasks with scoring defects, including a verifier pipe an agent can write "pass" to.
GDPvalExpert pairwise preference44 occupationsWhich deliverable a professional prefers, not whether it is correct.
TheAgentCompanyCheckpoints with partial creditSimulated software companyPartial credit hides the conjunctive gap; some checkpoints are LLM-assessed.
τ-benchDatabase stateCustomer-service tool callsIntroduced pass^k, which this benchmark adopts; single-domain, dialogue-shaped.
SpreadsheetBenchCell-level exact matchSingle spreadsheetsOne file, one question; no cross-document state, no process.
Business BenchExecutable checks on artifacts, conjunctiveBusiness deliverables and applicationsWhether a result generalises past this workload; see the self-audit for every other limit.

Complete desk comparison

Pass rate over all 561 attempts per system under the shared frozen scorer. Failures and timeouts stay in the denominator. The systems use different models and were not run at the same time, so this compares two configured systems, not a harness or a model in isolation.

SystemFrozen pass ratePassed / 561Raw / 561All 3 of 3 / 187Mean cost
Proto / DeepSeek V4.1 Flash507447147$0.04
Codex / GPT-5.6 sol473431141$0.39

Proto leads by 34 attempts under the frozen scorer and by 16 under the original grader. One task passed nowhere; 116 passed everywhere. Per-task matrix, category splits, resource use, and the scorer's effect on every verdict are on the results page.

Read before comparing. ERP.AI publishes this benchmark and builds Proto, the leading system. The frozen scorer, including its equivalence rules, was written by the same team, and it raised both systems' scores relative to the original grader. Raw verdicts are published beside frozen ones so the effect is inspectable. An earlier four-system snapshot under the original grader remains in the repository history. All of this is set out on the self-audit page.

Two handoffs, one principle

Desk track: a folder and a short ask

The agent receives business-shaped exports, spreadsheets, PDFs, and an email or two, then must leave the requested deliverables. Inputs are messy on purpose: merged headers, currency strings, mixed dates, a requirement buried in a thread. Where the files cannot support an answer, the correct deliverable says so.

Spreadsheet41Reconciled, calculated, or reshaped workbook
Bookkeeping36Reconciliation, schedule, transaction classifications
Reports30Data summary and source-grounded memo
Reformatting26Destination-compatible import file
Extraction26Structured records extracted from documents
Drafting19Business text preserving required facts and rules
Tooling9Small file-based tool or static page

Build track: an application, then three changes

The agent must hand over a working application a tester can reach and log into, import the seed data, enforce roles and row-level scope on the server, show a live dashboard, and survive a restart. Then it accommodates three change requests without losing earlier requirements.

Twenty applications: CRM, inventory, field service, leave, purchase approvals, invoicing, memberships, events, assets, helpdesk, vendors, expenses, quotes, donors, appointments, property maintenance, recruiting, work orders, point of sale.

No build campaign has completed its human acceptance pass. The task packs are released and validated; build scores are not published. Browse the build tasks.

Mechanics

Executable checks, conjunctive

A task passes only when every required check passes: exact identifier sets, keyed values, live spreadsheet formulas recalculated in LibreOffice, sentence-level text rules, and task-specific graders. A percentage of checks is not a pass.

One frozen scorer, hashed

Every attempt in the release was scored by the same immutable package. Each verdict is bound by a receipt to the original result hash, the output-file hashes, and the scorer manifest, so a rescoring can never be confused with a rerun.

Reliability beside accuracy

Three repetitions per task. The site reports attempt-level pass rate and the share of tasks passed all three times, alongside wall time, token usage, and estimated model cost.

The full paper is on the paper page; the protocol and grader are summarised under methods; the setup and run commands are under reproduce.