---
title: "Per-venue forecast-accuracy calibration"
method: GET
path: "/api/prediction-markets/calibration"
tags: ["public-pm-data"]
---

# Per-venue forecast-accuracy calibration

`GET /api/prediction-markets/calibration`

## Request

- Base URL: `https://api.coinrithm.com`
- URL: `https://api.coinrithm.com/api/prediction-markets/calibration`
- Auth: none required

Keyless per-source calibration (Expected Calibration Error + reliability
curve) computed from each venue's own probability ~24h before
resolution against the realised outcome, over resolved markets with
>=24h of pre-resolution history. Venues below the minimum sample appear
in `pending`, not `scored`.

## Response `200`

Scored + pending per-venue calibration

- PublicPmCalibrationResponse
  - `leadHours` number, required
  - `minSample` integer, required
  - `methodology` string
  - `scored` object[], required
    - `source` string
    - `name` string
    - `sampleSize` integer: Events actually scored: those whose t-24h snapshot captured the market's COMPLETE outcome book. Read alongside `excluded` — the exclusion rate differs sharply by venue, so sampleSize is not comparable across venues on its own.
    - `calibrationError` number
    - `meanWinnerConfidence` number
    - `excluded` object: Cohort events NOT scored, by reason. Published so a consumer can see how much of a venue's corpus stands behind the number.
      - `noLeadPoint` integer: No timeline point at or before resolvedAt - 24h.
      - `partialBookAtLead` integer: The t-24h snapshot held only part of the event's outcome set. Scoring those would condition inclusion on whether the eventual winner happened to be captured.
      - `winnerNotAnOutcome` integer: Complete book, but the declared winner is not one of the event's outcomes — a resolution-provenance defect.
      - `invalidLeadPoint` integer: The lead-window capture failed validation.
      - `nonExclusiveBook` integer: Complete lead book without a recorded single-winner structure, so one stored winner cannot score the other outcomes.
      - `unpricedMassBook` integer: Complete single-winner book whose prices sum below the complete-book minimum (probability mass no outcome carries).
    - `reliability` object[]
      - `bucket` string
      - `predictedMean` number
      - `realizedRate` number
      - `pairs` integer
  - `pending` object[], required
    - `source` string
    - `name` string
    - `reason` string
    - `excluded` object: Same exclusion counts as on `scored` rows, when computed.
  - `methodologyVersion` string: Version of the calibration methodology that produced this payload.
  - `finalPrice` PublicPmCalibrationSeries
    - `methodology` string, required
    - `minSample` integer, required
    - `scored` object[], required
      - `source` string
      - `name` string
      - `basis` string
      - `sampleSize` integer
      - `calibrationError` number: Expected calibration error, 0-1 (lower is better).
      - `meanWinnerConfidence` number: Mean probability assigned to the eventual winner, 0-1.
      - `medianLeadSeconds` number, nullable: `ownCapture` only: median seconds between the scored capture and resolution.
      - `p90LeadSeconds` number, nullable: `ownCapture` only: 90th percentile of that lead.
      - `reliability` object[]
        - `bucket` string
        - `predictedMean` number
        - `realizedRate` number
        - `pairs` integer
      - `byYear` object[]
        - `year` integer
        - `sampleSize` integer
        - `calibrationError` number
        - `meanWinnerConfidence` number
  - `ownCapture` PublicPmCalibrationSeries
    - `methodology` string, required
    - `minSample` integer, required
    - `scored` object[], required
      - `source` string
      - `name` string
      - `basis` string
      - `sampleSize` integer
      - `calibrationError` number: Expected calibration error, 0-1 (lower is better).
      - `meanWinnerConfidence` number: Mean probability assigned to the eventual winner, 0-1.
      - `medianLeadSeconds` number, nullable: `ownCapture` only: median seconds between the scored capture and resolution.
      - `p90LeadSeconds` number, nullable: `ownCapture` only: 90th percentile of that lead.
      - `reliability` object[]
        - `bucket` string
        - `predictedMean` number
        - `realizedRate` number
        - `pairs` integer
      - `byYear` object[]
        - `year` integer
        - `sampleSize` integer
        - `calibrationError` number
        - `meanWinnerConfidence` number

## Other responses

- `500`: Server error

---

[API](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api.md) · [All operations](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/llms.txt) · [OpenAPI document](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/revisions/28fb59f285fe?raw)
