跳到正文
DEV Community· RESK·· 3 小時前AI 評分44

我們如何為選舉預測評分,以及分數不能衡量甚麼

How we score an election forecast (and what the score does not measure)

AI 導讀

這套選舉預測基準先評分答案的推理,再於結果認證後加入勝選者準確率、校準曲線及 Brier score。每份答案由固定評審按具體程度、證據根據及校準度評分,各項為 0 至 100;預測答錯仍可能得高分,含糊答案則總是低分。評分不衡量預測是否正確,樣本亦不足以支持對模型預測能力作出強結論。

正文

How we score an election forecast (and what the score does not measure)

TL;DR: We score the reasoning before the outcome. Each answer is rated 0 to 100 on specificity, grounding and calibration by a fixed judge. After certification we add winner accuracy, calibration curves and the Brier score. A model can be wrong and score well; a vague answer always scores badly.

The protocol is public at elections.lforla.org/methodology.html.

1. Pre-registration

Every answer was collected before the vote, between 26 August and 31 October 2026, and is published verbatim. The date attached to each model is the date its forecast entered the benchmark.

This matters more than any scoring detail. If a forecast can be edited after the first results, the score measures hindsight, not forecasting.

The snapshot is sealed with SHA-256:

26c1563ea12200b9436e9ab7fd03b1af7f59fd17aea5697a2bd96a25bd38b2d9

Git tag: elections-forecasts-2026-10-31.

2. The judge

Each answer is rated by a fixed judge: DeepSeek V4 Pro at temperature 0, with a fixed prompt. The judge does not see the election result. It sees the question, the answer, and a rubric.

Using one judge for every answer keeps the scale comparable. It also creates a conflict: several models under test are from the same family as the judge. We disclose it rather than hide it. A future version should use a panel of judges and publish the disagreement.

3. The three axes

Each axis is scored 0 to 100.

Specificity

Does the answer name a candidate or party and state a probability?

  • A named winner with a probability and a seat range scores high.
  • A named winner with no probability scores lower.
  • "It depends" scores near zero.

Grounding

Does the answer use evidence that is relevant to the race?

Polls, incumbency, district structure, the electoral calendar, the rules of the second round. A confident answer with no grounding is a guess with better typography.

Calibration

Does the stated probability match the real uncertainty?

A 95% call on a coin-flip race is worse than a 60% call on the same race, even if both name the same winner. Calibration rewards honesty about what is unknown.

4. From axes to a score

The category score is the mean of its questions. The overall score is the mean of the two categories: US 2026 and France 2027. A refusal scores 0.

The current board is dominated by models that give a named call, a probability and a reason. That is the intended behaviour. The benchmark is not neutral about vagueness.

5. What the score does not measure

It does not measure whether the forecast is right. That is the next layer, and it can only be computed after certification.

It also does not measure:

  • the quality of the underlying polls;
  • whether the model's theory of the race is correct;
  • writing style, beyond the judge's ability to control for length;
  • the model's robustness to a different prompt language.

A model can be wrong and score well. A vague answer always scores badly. Those are different failure modes, and conflating them is how forecast benchmarks become entertainment.

6. After the vote: accuracy, calibration and Brier

Once results are certified, every probabilistic call becomes a number.

Winner accuracy

The share of races where the model named the winning party or candidate. Simple, intuitive, and easy to game with a safe consensus pick.

Calibration

Group calls by stated probability and compare with outcomes. Did 70% calls happen about 70% of the time? With 18 models and two races, the sample is too small for a real calibration curve. We will publish the curve with that caveat, not instead of it.

Brier score

The Brier score is the mean squared error of the probability assigned to the outcome.

For a binary race, convert every call to the implied probability of Democratic control:

  • a Democratic call at 70% gives P(dem) = 0.70;
  • a Republican call at 70% gives P(dem) = 0.30.

Then:

Brier = (P(dem) - y)^2

where y = 1 if Democrats control the chamber and y = 0 otherwise.

Examples:

Call Outcome Brier
70% Democratic Democrats win 0.09
70% Democratic Republicans win 0.49
55% Democratic Republicans win 0.3025
55% Democratic Democrats win 0.2025

Lower is better. The important property is that a confident wrong call costs more than a hedged one. That is what makes the score useful: it prices false confidence.

7. Limits

  • Small sample. Two chambers and one French presidential election are not enough for strong claims about a model's forecasting ability. We report per-race results, not a universal ranking.
  • Language. Prompts are in French. Models with weaker French are disadvantaged. We disclose the prompt language and publish the verbatim answers so readers can judge.
  • Judge family. The judge and some contestants share a family. The rubric is fixed, but the conflict is real.
  • Style. Some models answer in one sentence; others write four paragraphs. The judge controls for substance, not length, but style still matters at the margin.
  • One snapshot. A forecast is a point in time. We do not average multiple runs or cherry-pick the best one.

8. Reproduce it

The forecast file and its hash are published in the repository. If you find a scoring bug, the answer is not to adjust the result; it is to publish the correction and re-run the score on the same sealed inputs.

Originally published at elections.lforla.org.

來源:DEV Community · dev.to