Skip to content

How ChatGPT’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score38/100

Agent-ready 48.8 × 0.30 = 14.64

API quality 3.4 × 0.20 = 0.68

Openness 7.2 × 0.20 = 1.44

Built-in AI 85.6 × 0.15 = 12.84

Automation 58.3 × 0.15 = 8.74

(14.64 + 0.68 + 1.44 + 12.84 + 8.74) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 38.34 ÷ 1.00 = 38.3

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready48.8/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [probe] https://learn.chatgpt.com/llms.txtPROBE llms.txt: HTTP 200 at https://learn.chatgpt.com/llms.txt # Codex > Build with the Codex CLI, IDE extension, and cloud automation to speed up development. Use this as a compact
  • [claimed-docs] https://learn.chatgpt.com/docs/browser.mdBrowser lets ChatGPT open websites, gather current information, and take action while you stay in control.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdUse it to give ChatGPT or Codex access to third-party documentation, or to let it interact with developer tools like your browser or Figma.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdModel Context Protocol (MCP) connects models to tools and context. Use it to give ChatGPT or Codex access to third-party documentation
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdto add Context7 (a free MCP server for developer documentation)

Run the product headlessly / in CI for automationweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://chatgpt.comUse the Codex SDK to automate coding tasks, including jobs in CI.
  • [claimed-docs] https://chatgpt.comInspect code, make changes, run commands, and automate repeatable work without leaving your terminal.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [claimed-docs] https://chatgpt.comUse `npx @openai/codex-security bulk-scan` to review repositories in one campaign.
  • [claimed-docs] https://chatgpt.comUse `/fast on`, `/fast off`, or `/fast status` in the CLI to change or inspect the current setting.
  • [claimed-docs] https://learn.chatgpt.com/docs/web-search.mdIn the CLI, pass `--search` to fetch live results for one run

Plug MCP servers into this product so it can use their toolsweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdlet it interact with developer tools like your browser or Figma
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdOnce you configure your MCP servers, you can switch among those clients without redoing setup.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdUse it to give ChatGPT or Codex access to third-party documentation, or to let it interact with developer tools like your browser or Figma.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdto add Context7 (a free MCP server for developer documentation)
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdyou can also scope MCP servers to a project with `.codex/config.toml` (trusted projects only)
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdCodex stores MCP configuration in `config.toml`
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdModel Context Protocol (MCP) connects models to tools and context. Use it to give ChatGPT or Codex access to third-party documentation

Connect an agent via an official MCP serverweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdlet it interact with developer tools like your browser or Figma
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdOnce you configure your MCP servers, you can switch among those clients without redoing setup.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdUse it to give ChatGPT or Codex access to third-party documentation, or to let it interact with developer tools like your browser or Figma.
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdto add Context7 (a free MCP server for developer documentation)
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdyou can also scope MCP servers to a project with `.codex/config.toml` (trusted projects only)
  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdCodex stores MCP configuration in `config.toml`

Use an official CLIweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/customization/memories.mdIn Codex CLI, use /memories in an interactive session to control whether the current chat can use existing local memories or become an input for future memories.
  • [claimed-docs] https://learn.chatgpt.com/docs/projects.mdRun codex from the directory you want Codex to work in, or pass --cd (-C) to set it explicitly.
  • [claimed-docs] https://learn.chatgpt.com/docs/web-search.mdIn the CLI, pass `--search` to fetch live results for one run
  • [claimed-docs] https://learn.chatgpt.com/docs/web-search.mdpass `--search` to fetch live results for one run
  • [claimed-docs] https://chatgpt.comUse the Codex SDK to automate coding tasks, including jobs in CI.
  • [claimed-docs] https://chatgpt.comInspect code, make changes, run commands, and automate repeatable work without leaving your terminal.
  • [claimed-docs] https://chatgpt.comCodex reads AGENTS.md files before doing any work.
  • [claimed-docs] https://chatgpt.comUse rules to control which commands Codex can run outside the sandbox.
  • [claimed-docs] https://chatgpt.comUse `/fast on`, `/fast off`, or `/fast status` in the CLI to change or inspect the current setting.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [claimed-docs] https://chatgpt.comUse `npx @openai/codex-security bulk-scan` to review repositories in one campaign.
  • [probe] https://learn.chatgpt.com/llms.txtPROBE llms.txt: HTTP 200 at https://learn.chatgpt.com/llms.txt # Codex > Build with the Codex CLI, IDE extension, and cloud automation to speed up development. Use this as a compact

Drive the product through a documented public APIweight 3

3 (weight) × 4 (quality) × 0.6 (partial) = 7.2 of 30 max

  • [claimed-docs] https://chatgpt.comUse the Codex SDK to automate coding tasks, including jobs in CI.
  • [claimed-docs] https://chatgpt.comInspect code, make changes, run commands, and automate repeatable work without leaving your terminal.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [claimed-docs] https://chatgpt.comUse `npx @openai/codex-security bulk-scan` to review repositories in one campaign.
  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/extend/mcp.mdyou can also scope MCP servers to a project with `.codex/config.toml` (trusted projects only)
  • [claimed-docs] https://chatgpt.comUse rules to control which commands Codex can run outside the sandbox.
  • [claimed-docs] https://learn.chatgpt.com/docs/use-chatgpt.mdYour workspace administrator can control access to ChatGPT Work, plugins, browser use, and network access.
  • [claimed-docs] https://learn.chatgpt.com/docs/enterprise/gpts-and-sharing.mdAllow GPT builders to use approved workspace apps or configure actions that interact with permitted third-party APIs.
  • [claimed-docs] https://learn.chatgpt.com/docs/enterprise/gpts-and-sharing.mdconfigure actions that interact with permitted third-party APIs

Build against official SDKsweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://chatgpt.comUse the Codex SDK to automate coding tasks, including jobs in CI.
  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

Subscribe to events via webhooksweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdScheduled tasks can now start when a supported event occurs in Gmail, Slack, or GitHub.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdUse an event trigger to triage new email, summarize channel activity, or act on pull request feedback without polling on a fixed cadence.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdscheduled tasks can run when a supported Gmail, Slack, or GitHub event occurs

Agent-ready = 102.4 ÷ 210 × 100 = 48.8

API quality3.4/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max

  • [claimed-docs] https://chatgpt.comUse rules to control which commands Codex can run outside the sandbox.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [claimed-docs] https://chatgpt.comUse `npx @openai/codex-security bulk-scan` to review repositories in one campaign.

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

API quality = 2.4 ÷ 70 × 100 = 3.4

Openness7.2/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://chatgpt.comUse the Codex SDK to automate coding tasks, including jobs in CI.
  • [claimed-docs] https://chatgpt.comInspect code, make changes, run commands, and automate repeatable work without leaving your terminal.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [probe] https://learn.chatgpt.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://learn.chatgpt.com/openapi.json, https://learn.chatgpt.com/swagger.json, https://learn.chatgpt.com/api/openapi.json, https://learn.chatgpt.com/.well-known/openapi.json)

Export all of my data in open formats and leaveweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Self-host the core productweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Openness = 3.6 ÷ 50 × 100 = 7.2

Built-in AI85.6/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/use-chatgpt.mdSearch the web, browse websites, compare sources, read files, analyze data, and summarize findings.
  • [claimed-docs] https://learn.chatgpt.com/docs/use-chatgpt.mdCreate a deck, analyze files, draft a report, build a project plan
  • [claimed-docs] https://learn.chatgpt.com/docs/projects.mdUse a project to organize related chats and give ChatGPT the context it needs.
  • [claimed-docs] https://learn.chatgpt.com/docs/projects.mdA local project gives chats access to one or more folders on your computer, such as a collection of source files or a codebase.
  • [claimed-docs] https://learn.chatgpt.com/docs/use-chatgpt.mdPlugins can connect ChatGPT to the tools and information you use for work, such as Google Drive, SharePoint, Salesforce, or Gong.
  • [claimed-docs] https://learn.chatgpt.com/docs/web.mdTurn research and analysis into documents, presentations, spreadsheets, and other finished work.

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdScheduled tasks can now start when a supported event occurs in Gmail, Slack, or GitHub.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background... Review active, paused, and completed tasks and recent runs in Scheduled.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdscheduled tasks can run when a supported Gmail, Slack, or GitHub event occurs
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdUse an event trigger to triage new email, summarize channel activity, or act on pull request feedback without polling on a fixed cadence.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 9 (quality) × 1.0 (full) = 27.0 of 30 max

  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdScheduled tasks can now start when a supported event occurs in Gmail, Slack, or GitHub.
  • [claimed-docs] https://learn.chatgpt.com/docs/use-chatgpt.mdTurn on Work in the switcher when you want ChatGPT to carry a larger task through to a reviewable result.
  • [claimed-docs] https://learn.chatgpt.com/docs/app.mdRun projects in parallel, work with files, use your computer, and keep long-running work moving from one desktop workspace.
  • [claimed-docs] https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview.mdUnlike Work on the Web, local Work can operate on resources that remain on your computer without requiring you to upload files to a cloud conversation.
  • [claimed-docs] https://chatgpt.comIn ChatGPT Work, ask ChatGPT to delegate independent work to subagents.
  • [claimed-docs] https://learn.chatgpt.com/docs/features/voice.mdChatGPT Voice can start separate tasks for longer work, check existing tasks, and send follow-up instructions.
  • [claimed-docs] https://learn.chatgpt.com/docs/browser.mdBrowser lets ChatGPT open websites, gather current information, and take action while you stay in control.
  • [claimed-docs] https://learn.chatgpt.com/docs/computer-use.mdWith Computer Use, ChatGPT can see and operate graphical user interfaces on macOS or Windows.
  • [claimed-docs] https://learn.chatgpt.com/docs/long-running-work.mdenter `/goal` to start Goal mode

Operate the product with natural-language commandsweight 2

2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/browser.mdBrowser lets ChatGPT open websites, gather current information, and take action while you stay in control.
  • [claimed-docs] https://learn.chatgpt.com/docs/computer-use.mdWith Computer Use, ChatGPT can see and operate graphical user interfaces on macOS or Windows.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/features/voice.mdChatGPT Voice lets you talk through ideas and coordinate tasks in Chat, Work, and Codex in the ChatGPT desktop app. Start work, check progress, or change direction without switching back to typing.
  • [claimed-docs] https://learn.chatgpt.com/docs/long-running-work.mdIn the ChatGPT desktop app, enter `/goal` to start Goal mode.
  • [claimed-docs] https://chatgpt.comIn ChatGPT Work, ask ChatGPT to delegate independent work to subagents.
  • [community] https://news.ycombinator.com/item?id=33847479I am beyond astounded. I was able to run a Docker image, utilize the fs inside of the container, and exit the container. Docker system commands work as expected... Wild. This is unbelievable.
  • [community] https://news.ycombinator.com/item?id=35277677This is huge, essentially adding what people have been building with LangChain Tools into the core product. The browser and file-upload/interpretation plugins are great, but I think the real game changer is retrieval over arbitrary documents/filesystem.

Built-in AI = 77.0 ÷ 90 × 100 = 85.6

Automation58.3/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://chatgpt.comUse `npx @openai/codex-security bulk-scan` to review repositories in one campaign.
  • [claimed-docs] https://chatgpt.comUse its command-line interface (CLI) to scan repositories you own or have permission to assess, review findings over time
  • [claimed-docs] https://learn.chatgpt.com/docs/app.mdRun projects in parallel, work with files, use your computer, and keep long-running work moving from one desktop workspace.
  • [claimed-docs] https://chatgpt.comIn ChatGPT Work, ask ChatGPT to delegate independent work to subagents.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background... Review active, paused, and completed tasks and recent runs in Scheduled.

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdScheduled tasks can now start when a supported event occurs in Gmail, Slack, or GitHub.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdUse an event trigger to triage new email, summarize channel activity, or act on pull request feedback without polling on a fixed cadence.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background... Review active, paused, and completed tasks and recent runs in Scheduled.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdscheduled tasks can run when a supported Gmail, Slack, or GitHub event occurs

Schedule recurring jobs or workflowsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background... Review active, paused, and completed tasks and recent runs in Scheduled.
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdScheduled tasks can now start when a supported event occurs in Gmail, Slack, or GitHub.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdscheduled tasks can run when a supported Gmail, Slack, or GitHub event occurs
  • [claimed-docs] https://learn.chatgpt.com/docs/whats-new.mdUse an event trigger to triage new email, summarize channel activity, or act on pull request feedback without polling on a fixed cadence.

Version, review, and roll back my automationsweight 1

1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max

  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdSchedule recurring tasks to run in the background... Review active, paused, and completed tasks and recent runs in Scheduled.
  • [claimed-docs] https://learn.chatgpt.com/docs/automations.mdscheduled tasks can run when a supported Gmail, Slack, or GitHub event occurs

Automation = 46.6 ÷ 80 × 100 = 58.3