{
  "schemaVersion": "vultax-public-research-data-v1",
  "articleUrl": "https://vultax.com/research/midterm-scorecard-2026",
  "datasets": [
    {
      "title": "Favourite's price per race at the freeze: 507 Senate, House and governor races, 17 October 2026",
      "columns": [
        {
          "name": "Category",
          "unit": null
        },
        {
          "name": "Races",
          "unit": null
        }
      ],
      "rows": [
        [
          "50-59¢",
          10
        ],
        [
          "60-69¢",
          19
        ],
        [
          "70-79¢",
          26
        ],
        [
          "80-89¢",
          50
        ],
        [
          "90-94¢",
          70
        ],
        [
          "95-98¢",
          329
        ],
        [
          "99¢+",
          3
        ]
      ],
      "measurementContext": "Each race counted once by its highest-priced contract, midpoint of best bid and ask at 03:34 UTC. 402 favourites at 90¢ or more; 10 below 60¢. Chamber-control contracts are not races and are left out of this count.",
      "sources": [
        {
          "label": "Polymarket Gamma API, events under the midterms tag",
          "url": "https://gamma-api.polymarket.com/events?tag_slug=midterms&closed=false&limit=100",
          "note": "The public catalogue swept for the manifest, open and closed events, with offset and keyset paging."
        },
        {
          "label": "Polymarket API documentation",
          "url": "https://docs.polymarket.com/",
          "note": "Order books, midpoints and the public rate limits the captures stay inside."
        },
        {
          "label": "Frozen manifest, rules, code and file hashes",
          "url": "https://vultax.com/datasets/midterm-scorecard-2026/manifest.json",
          "note": "SHA-256 for every published file; the manifest's own hash is inside manifest-v1.json."
        },
        {
          "label": "State election offices",
          "url": "https://www.nass.org/can-I-vote",
          "note": "Where official results are read for the first outcome record."
        }
      ],
      "measurement": {
        "kind": "observed",
        "temporalCoverage": "2026-10-17",
        "population": "507 races",
        "methodology": "Highest Yes midpoint among a race's non-placeholder winner contracts, from Gamma best bid and best ask at the manifest freeze"
      },
      "id": "frozen-favourites-chart",
      "kind": "published-chart",
      "description": "Every Polymarket contract about the 2026 US midterms, frozen on 17 October: 13,186 contracts in 1,352 events, a hashed manifest, two price checkpoints and a Brier rule declared before the vote. In 402 of 507 races the favourite already trades at 90¢ or more.",
      "articleUrl": "https://vultax.com/research/midterm-scorecard-2026",
      "sectionUrl": "https://vultax.com/research/midterm-scorecard-2026#frozen-favourites",
      "publishedAt": "2026-10-17",
      "modifiedAt": "2026-10-17",
      "version": "687dbb2e1bbe2fa1b0d42edcf5019ae7d5b20f0ce350a323c5af7faf7ed597d6",
      "isLive": false,
      "limitations": "Published research snapshots and calculations; these exports do not contain current quotes or live account data. Observation windows and populations are stated in the source captions and methodology. Missing metadata is unknown, not zero. A pre-registered research protocol with a frozen universe and clocks; no scores exist before the election. Prices are Polymarket order-book readings at stated times, not advice.",
      "downloads": {
        "json": "https://vultax.com/research/midterm-scorecard-2026/data.json?dataset=frozen-favourites-chart",
        "csv": "https://vultax.com/research/midterm-scorecard-2026/data.csv?dataset=frozen-favourites-chart"
      }
    },
    {
      "title": "The universe, frozen",
      "columns": [
        {
          "name": "Contract family",
          "unit": null
        },
        {
          "name": "Events",
          "unit": null
        },
        {
          "name": "Contracts",
          "unit": null
        },
        {
          "name": "Scored as",
          "unit": null
        }
      ],
      "rows": [
        [
          "House race winners",
          "445",
          "3,561",
          "Tier A"
        ],
        [
          "Governor race winners",
          "37",
          "532",
          "Tier A"
        ],
        [
          "Senate race winners",
          "35",
          "471",
          "Tier A"
        ],
        [
          "Chamber control and balance of power",
          "3",
          "23",
          "Tier A"
        ],
        [
          "Margins of victory",
          "529",
          "6,064",
          "Tier B"
        ],
        [
          "Turnout",
          "46",
          "373",
          "Tier B"
        ],
        [
          "Other statewide offices and state legislatures",
          "32",
          "240",
          "Tier B"
        ],
        [
          "County winners",
          "19",
          "235",
          "Tier B"
        ],
        [
          "Seat counts",
          "33",
          "216",
          "Tier B, except contracts already settled"
        ],
        [
          "Ballot measures",
          "37",
          "50",
          "Tier B, except one already settled"
        ],
        [
          "Combinations",
          "36",
          "155",
          "Tier B when every leg is an election result, else listed"
        ],
        [
          "Exit-poll shares",
          "9",
          "52",
          "Tier B, outcome is a survey figure"
        ],
        [
          "Primaries, already decided",
          "45",
          "783",
          "Listed, not scored"
        ],
        [
          "Campaign events, odds markets, leadership and process",
          "51",
          "431",
          "Listed, not scored"
        ]
      ],
      "measurementContext": "Counts at the freeze, 17 October 2026, 03:34 UTC. An event whose contracts fall in two families is counted in both, so the events column adds to more than 1,352. Full rows, ids and rule text are in the manifest download.",
      "sources": [
        {
          "label": "Polymarket Gamma API, events under the midterms tag",
          "url": "https://gamma-api.polymarket.com/events?tag_slug=midterms&closed=false&limit=100",
          "note": "The public catalogue swept for the manifest, open and closed events, with offset and keyset paging."
        },
        {
          "label": "Polymarket API documentation",
          "url": "https://docs.polymarket.com/",
          "note": "Order books, midpoints and the public rate limits the captures stay inside."
        },
        {
          "label": "Frozen manifest, rules, code and file hashes",
          "url": "https://vultax.com/datasets/midterm-scorecard-2026/manifest.json",
          "note": "SHA-256 for every published file; the manifest's own hash is inside manifest-v1.json."
        },
        {
          "label": "State election offices",
          "url": "https://www.nass.org/can-I-vote",
          "note": "Where official results are read for the first outcome record."
        }
      ],
      "measurement": {
        "kind": "observed",
        "temporalCoverage": "2026-10-17",
        "population": "13,186 contracts in 1,352 events",
        "methodology": null
      },
      "id": "universe-table",
      "kind": "published-table",
      "description": "Every Polymarket contract about the 2026 US midterms, frozen on 17 October: 13,186 contracts in 1,352 events, a hashed manifest, two price checkpoints and a Brier rule declared before the vote. In 402 of 507 races the favourite already trades at 90¢ or more.",
      "articleUrl": "https://vultax.com/research/midterm-scorecard-2026",
      "sectionUrl": "https://vultax.com/research/midterm-scorecard-2026#universe",
      "publishedAt": "2026-10-17",
      "modifiedAt": "2026-10-17",
      "version": "01986a0a5e10b49ba09b7a5172124b013f6935bae4e801d062e3910ec9d71880",
      "isLive": false,
      "limitations": "Published research snapshots and calculations; these exports do not contain current quotes or live account data. Observation windows and populations are stated in the source captions and methodology. Missing metadata is unknown, not zero. A pre-registered research protocol with a frozen universe and clocks; no scores exist before the election. Prices are Polymarket order-book readings at stated times, not advice.",
      "downloads": {
        "json": "https://vultax.com/research/midterm-scorecard-2026/data.json?dataset=universe-table",
        "csv": "https://vultax.com/research/midterm-scorecard-2026/data.csv?dataset=universe-table"
      }
    },
    {
      "title": "The scoring rule, declared now",
      "columns": [
        {
          "name": "Rule",
          "unit": null
        },
        {
          "name": "Declared value",
          "unit": null
        }
      ],
      "rows": [
        [
          "Primary metric",
          "Brier score per contract, (p − o)²"
        ],
        [
          "Price field",
          "Midpoint of best bid and best ask, Yes token order book, checkpoint capture"
        ],
        [
          "Missing price",
          "No bid or no ask: row kept, counted as missing, not scored"
        ],
        [
          "Wide quote",
          "Spread over 10¢: scored and flagged; Tier A shown with and without"
        ],
        [
          "Aggregation",
          "Contract mean and race mean (equal weight per race); multi-outcome Brier as a secondary table"
        ],
        [
          "Placeholders",
          "Lettered stand-in outcomes scored in all-contracts tables, excluded from Tier A means"
        ],
        [
          "Baselines",
          "Constant 50¢ (Brier 0.25) and the 27 October price, same contracts"
        ],
        [
          "Uncertainty",
          "Cluster bootstrap over races, 2,000 resamples, seed 20261103, 90% interval"
        ],
        [
          "Secondary metric",
          "Log loss with prices clipped to 1¢ and 99¢"
        ],
        [
          "Not done",
          "No normalisation of multi-outcome prices in the primary analysis; no poll or venue comparison; no fees, profit or strategy"
        ]
      ],
      "measurementContext": "From rules-v1.json, frozen 17 October 2026. A change after publication appears only as a dated correction on this page.",
      "sources": [
        {
          "label": "Polymarket Gamma API, events under the midterms tag",
          "url": "https://gamma-api.polymarket.com/events?tag_slug=midterms&closed=false&limit=100",
          "note": "The public catalogue swept for the manifest, open and closed events, with offset and keyset paging."
        },
        {
          "label": "Polymarket API documentation",
          "url": "https://docs.polymarket.com/",
          "note": "Order books, midpoints and the public rate limits the captures stay inside."
        },
        {
          "label": "Frozen manifest, rules, code and file hashes",
          "url": "https://vultax.com/datasets/midterm-scorecard-2026/manifest.json",
          "note": "SHA-256 for every published file; the manifest's own hash is inside manifest-v1.json."
        },
        {
          "label": "State election offices",
          "url": "https://www.nass.org/can-I-vote",
          "note": "Where official results are read for the first outcome record."
        }
      ],
      "measurement": {
        "kind": null,
        "temporalCoverage": null,
        "population": null,
        "methodology": null
      },
      "id": "scoring-rule-table",
      "kind": "published-table",
      "description": "Every Polymarket contract about the 2026 US midterms, frozen on 17 October: 13,186 contracts in 1,352 events, a hashed manifest, two price checkpoints and a Brier rule declared before the vote. In 402 of 507 races the favourite already trades at 90¢ or more.",
      "articleUrl": "https://vultax.com/research/midterm-scorecard-2026",
      "sectionUrl": "https://vultax.com/research/midterm-scorecard-2026#scoring-rule",
      "publishedAt": "2026-10-17",
      "modifiedAt": "2026-10-17",
      "version": "9dc8b08bb6a0c1c0e3d89a911e5195ef0cd745e85bf6369386756b686fa94a44",
      "isLive": false,
      "limitations": "Published research snapshots and calculations; these exports do not contain current quotes or live account data. Observation windows and populations are stated in the source captions and methodology. Missing metadata is unknown, not zero. A pre-registered research protocol with a frozen universe and clocks; no scores exist before the election. Prices are Polymarket order-book readings at stated times, not advice.",
      "downloads": {
        "json": "https://vultax.com/research/midterm-scorecard-2026/data.json?dataset=scoring-rule-table",
        "csv": "https://vultax.com/research/midterm-scorecard-2026/data.csv?dataset=scoring-rule-table"
      }
    }
  ]
}
