# ModelsAgree open dataset

Every poll we have ever run, unedited. We ask ChatGPT, Claude, Gemini and Grok
the same "best X" questions on a weekly rolling schedule and log every answer to
an append-only history — nothing is overwritten, failed polls included. This zip
is that history.

Generated: 2026-07-15T15:43:40.812Z
Records: 12,815 across 1435 categories
Span: 2026-06-25 → 2026-07-15

## Files
- polls-devtools.jsonl — 7,188 records (software / dev tools / crypto ranking polls)
- polls-gear-opinions.jsonl — 5,534 records (consumer gear + opinion polls)
- polls-claude-variants.jsonl — 93 records (Claude Haiku/Sonnet/Opus variant comparison polls)

## Schema (JSONL, one poll-answer per line)
- ts            ISO timestamp the answer was received
- asked_at      date the poll batch was launched
- slug          category id (matches modelsagree.com/best/<slug>)
- type          "ranked" (top-5 list) | "pick" (single best) | "verdict"
- question      the exact question asked (prompt template on /methodology)
- model         ChatGPT | Claude | Gemini | Grok (variant file: Claude Haiku/Sonnet/Opus)
- pick          the model's #1 answer (null on failure)
- ranked        the model's full ranked list, first = best
- reason        the model's verbatim one-line reasoning
- missed        notable products the model was asked to reconsider (when used)
- price         price the model quoted, when the question asks for one
- counter       poll sequence counter for the category
- prompt_version prompt template revision
- err           error text when a poll failed (kept — we don't cherry-pick)

## Method, honestly
Consumer CLI/product surfaces of each model, fresh session per question, no
temperature control (we don't have it) — which is WHY every category is
re-polled weekly: single answers are noisy, the time series is the signal.
Full methodology: https://modelsagree.com/methodology

## License
CC BY 4.0 — use it for anything, cite "ModelsAgree (modelsagree.com)".
