Paper: 2607.14051 Authors: Xiao Ye, Jacob Dineen, Evan Zhu, Shijie Lu, Kevin Song, Ben Zhou Categories: cs.CL

The Gap

Existing LLM forecasting benchmarks evaluate models through backtesting: replay resolved questions and score the probabilities a model would have assigned before the answer was known. But there are two channels through which the answer leaks into the test. First, a model with retrieval can surface news articles, forum posts, or reports written after the event — turning forecasting into a lookup task. Second, and sneakier, each new generation of models is trained on data scraped closer to the evaluation date. A question that was genuinely “in the future” for GPT-3-era models now sits inside GPT-5’s training corpus. Either way, you’re grading recall while claiming to grade foresight.

Prior work on temporal evaluation (e.g., LMSYS, future benchmarks with cutoffs) has acknowledged the training-data leak partially, but nobody has tackled both leaks simultaneously with a principled, reproducible framework. Hindcast fills this gap by designing an evaluation that stands at a chosen past date and refuses to look forward — through either channel.

Problem: LLM forecasting benchmarks leak future info
    |
    v
Two leaks: retrieval sees post-event docs,
           training data encroaches on eval questions
    |
    v
Prior work: partial fixes (cutoff dates for training,
            but no retrieval freeze)
    |
    v
Hindcast: freeze knowledge at per-question t_0,
          score vs outcome AND market price at t_0
    |
    v
Evidence: retrieval helps only when Reddit had
          pre-event discussion; hurts otherwise
    |
    v
Conclusion: temporal isolation reveals true
            forecasting ability, not memorization

The Increment

One sentence: Before this paper, evaluating an LLM forecaster was like letting a detective read today’s newspapers before solving a 1995 cold case; after Hindcast, the evidence room is sealed at a chosen date and the detective is graded against both the truth and what the original investigators concluded from the same evidence.

Core Mechanism

Hindcast’s pipeline has three stages. First, for each resolved Polymarket prediction market question, a cutoff date t_0 is chosen — a point in time before the outcome was known. Second, a frozen snapshot of public Reddit is prepared: only posts and comments timestamped before t_0 are accessible. The LLM forecaster reads this snapshot (or not, depending on the experimental condition) and produces a probability estimate for the question. Third, the forecast is scored two ways: against the actual market resolution (did the model get it right?) and against the Polymarket price at t_0 (did the model beat the crowd’s forecast made from the same information?).

The key design choices that close the leaks: the Reddit snapshot is frozen once and never updated, so no post-event information can creep in through retrieval. The cutoff is set per-market, not per-model, so a newer model trained on more data doesn’t gain an unfair advantage — it’s still being tested on questions that were genuinely unresolved at t_0. And because the snapshot never changes, the evaluation re-runs cleanly on new markets as models improve, without going stale.

The dual scoring against both the outcome and the market price at t_0 is what makes this framework genuinely useful. A model that merely matches the market price isn’t demonstrating forecasting skill — it’s demonstrating that it can read the consensus. Only models that beat the market price at t_0 are adding value beyond what humans already knew from the same information.

+-------------------+       +-------------------+
| Polymarket        |       | Reddit archive    |
| resolved question |       | (public posts)    |
+--------+----------+       +--------+----------+
         |                           |
         v                           v
+--------+---------------------------+----------+
|              Choose cutoff t_0               |
|        (before outcome was known)            |
+--------+---------------------------+----------+
         |                           |
         v                           v
+--------+----------+       +--------+----------+
| Market price      |       | Freeze snapshot   |
| at t_0            |       | to posts < t_0    |
| (human forecast)  |       +--------+----------+
+--------+----------+                |
         |                           v
         |                  +--------+----------+
         |                  | LLM reads only    |
         |                  | pre-t_0 context   |
         |                  | produces prob est |
         |                  +--------+----------+
         |                           |
         v                           v
+--------+---------------------------+----------+
|                   Scoring                     |
|  (1) model prob vs actual outcome             |
|  (2) model prob vs market price at t_0        |
+-----------------------------------------------+

Structural Metaphor

Think of Hindcast as evaluating cold-case detectives. Each case is a resolved Polymarket question. The evidence room is the Reddit archive. Normally, when we evaluate a detective on a cold case, we hand them today’s newspaper clippings along with the original case file — a newer detective who’s read more recent papers naturally “solves” more cases, but we can’t tell if they’re better at deduction or just better at reading.

Hindcast seals the evidence room on a chosen date. The detective can only examine documents filed before that date. Their solution is then scored two ways: (1) Did they identify the correct perpetrator (the actual outcome)? (2) How does their conclusion compare to the notes left by the original lead investigator, who had access to the same sealed evidence (the market price at t_0)?

This metaphor is load-bearing. The sealed evidence room = frozen Reddit snapshot (no post-event leakage). The original investigator’s notes = market price at t_0 (a calibrated human forecast from the same information). The per-case seal date = per-market cutoff (a case from 2019 is sealed at a different date than one from 2023). And the key finding maps naturally: retrieval helps the detective only when witnesses had actually discussed the case before the seal date. If the evidence room contains only speculation and rumors, retrieval hurts — it’s noise, not signal.

Key Concepts

  • Information leakage in evaluation: When you test a model’s ability to predict the future, you need to make sure the model can’t see the future during the test. This sounds obvious, but it happens in two non-obvious ways. Retrieval leakage: the model’s search tool finds a Wikipedia article written after the event. Training data leakage: the model was trained on text that includes the answer. Hindcast closes both by freezing a knowledge source (Reddit) at a date before the outcome and never letting the model see anything from after that date — not through retrieval, and not through training (by choosing t_0 dates that are genuinely in the model’s past).

  • Market price as baseline: Instead of just checking “did the model get the right answer?”, Hindcast also checks “did the model beat the crowd?” The Polymarket price at t_0 is itself a forecast — a probability estimate made by humans who had access to the same pre-t_0 information. If a model merely matches this price, it’s doing no better than a reader of the same Reddit threads. Only beating the market price demonstrates genuine forecasting edge. This is like grading a student not just on correctness, but on whether they outperformed the class average on the same exam.

  • Temporal isolation: The core discipline that makes Hindcast work. Every component of the evaluation — the knowledge source, the scoring baseline, the question selection — is anchored to a single point in time t_0. Nothing from after t_0 is allowed in. This makes the evaluation reproducible and fair across model generations, because the question “could this model have known?” has a crisp, verifiable answer.

Framework Shift

Before (mainstream approach):              After (Hindcast):

Q + "all available knowledge"             Q + frozen snapshot at t_0
         |                                          |
         v                                          v
     LLM forecast                             LLM forecast
         |                                          |
         v                                          v
  Score vs outcome only                    Score vs outcome
                                           AND vs market@t_0

  Leaks: retrieval + training              No leaks: both sealed
  Baseline: none / accuracy                Baseline: crowd wisdom
  Stale: yes (new models break it)         Stable: re-runs cleanly

From “grade against the answer” to “grade against the answer and the crowd’s forecast from the same frozen moment,” the core shift is treating evaluation as a time-travel problem where every information channel must be sealed at the same date.

Expert Assessment

Problem choice: This is a real gap, not manufactured. The dual-leakage problem — retrieval and training data — is underappreciated in the forecasting evaluation literature. Most temporal benchmarks focus on training data cutoffs and ignore retrieval entirely. Hindcast addresses both simultaneously, and the prediction-market framing gives it a natural, economically grounded baseline. This sits squarely in the trajectory of “making LLM evaluation trustworthy,” which is one of the field’s most important open problems.

Method maturity: Mostly clever insight rather than brute force. Using prediction markets as both question source and baseline is elegant — markets are liquid, resolved, and come with calibrated probability prices. The frozen Reddit snapshot is a pragmatic choice (public, timestamped, large), though it introduces a domain bias: Reddit skews toward certain topics and demographics. The per-market t_0 cutoff is the key engineering contribution that prevents the evaluation from going stale. A simpler approach might use a single global cutoff, but the per-market design is strictly better and worth the complexity.

Experimental integrity: The dual-scoring against market prices is a genuine contribution to baseline fairness — most forecasting benchmarks have no baseline at all, just raw accuracy. The finding that retrieval hurts when Reddit only had speculation is both plausible and important. One concern: Reddit is not the only public knowledge source, and results may not transfer to models using different retrieval corpora. The authors should be explicit about this limitation. Also, Polymarket questions skew toward politics, crypto, and pop culture — generalizability to other forecasting domains (scientific, geopolitical) is untested.

Writing quality: The abstract is exceptionally clear — it identifies the problem, the mechanism, and the key finding in three tight sentences. From what’s visible, the writing is disciplined. The weakest spot (likely) is the related work section: the paper would benefit from a more systematic comparison to temporal evaluation methods in NLP beyond forecasting (e.g., temporal fact verification, time-aware QA). A table mapping prior work’s leakage coverage would elevate the framing.

Verdict: weak accept — The problem is real, the solution is principled, and the key finding (retrieval helps only with pre-event discussion) is genuinely useful for practitioners designing forecasting systems. The scope is narrow (Reddit + Polymarket only), but that’s appropriate for a first cut at this problem.

Takeaways

  1. When building any “predict the future” benchmark, audit for both retrieval and training-data leakage. Most teams only think about one. Hindcast gives you a concrete checklist: freeze your knowledge source at a per-question cutoff, and score against a crowd baseline from the same frozen moment.

  2. Retrieval is not universally helpful for forecasting — it depends on whether the corpus actually discussed the event beforehand. If you’re building a retrieval-augmented forecaster, measure retrieval quality separately: how much of the relevant information existed in your corpus before the cutoff? This finding transfers directly to any RAG system evaluated on temporal tasks.

  3. Prediction markets are an underused source of calibrated human baselines. If you’re evaluating any system that produces probabilities, check whether a prediction market existed for the same question. The market price at t_0 is a free, high-quality baseline that tells you whether your model is adding value beyond consensus.

论文: 2607.14051 作者: Xiao Ye, Jacob Dineen, Evan Zhu, Shijie Lu, Kevin Song, Ben Zhou 分类: cs.CL

缺口

现有的LLM预测基准通过回测来评估模型:重放已解决的问题,给模型在答案揭晓前分配的概率打分。 但答案会通过两个渠道泄漏到测试中。 第一个是检索渠道:带检索功能的模型能搜到事件发生后才写的文章,把预测变成了查表。 第二个更隐蔽:每一代新模型的训练数据都更接近评估日期。 对三年前的模型来说还是”未来”的问题,现在已经进入了最新模型的训练语料。 无论哪种情况,你其实是在考记忆力,却以为在考判断力。

此前的时序评估工作(如LMSYS、带截止日期的未来基准)部分承认了训练数据泄漏问题, 但没有人同时堵住两个泄漏口,也没有给出可复现的系统性方案。 Hindcast填补的正是这个缺口:设计一套站在过去某个时间点、拒绝向前看的评估框架。

问题:LLM预测基准泄漏未来信息
    |
    v
两个泄漏口:检索看到事后文档,
            训练数据侵入评估问题
    |
    v
此前方案:部分修补(训练截止日期,
          但未冻结检索)
    |
v
Hindcast:在每个问题的 t_0 冻结知识,
          同时对比实际结果和 t_0 时的市场价
    |
    v
证据:检索仅在Reddit有事前讨论时有帮助;
      只有猜测时反而有害
    |
    v
结论:时序隔离才能揭示真正的预测能力,
      而非记忆能力

增量

一句话: 在这篇论文之前,评估LLM预测能力就像让侦探先读今天的报纸再破1995年的冷案;Hindcast之后,证据室在选定日期封存,侦探的结论同时与真相和当时调查员的判断对比。

核心机制

Hindcast的流水线分三步。 第一步,为Polymarket上每一个已结算的预测市场问题选定一个截止日期 t_0——一个结果尚未揭晓的时间点。 第二步,准备一份冻结的Reddit公开帖子快照:只有时间戳早于 t_0 的帖子和评论才可见。 LLM预测器读取这份快照(或者不读,取决于实验条件),然后对问题输出一个概率估计。 第三步,用两种方式给预测打分:对比实际市场结算结果(模型猜对了吗?),以及对比 t_0 时刻的Polymarket价格(模型是否超越了同一信息条件下的人类共识?)。

堵住泄漏口的关键设计选择:Reddit快照一旦冻结就永不更新,事后信息无法通过检索溜进来; 截止日期按每个市场单独设定,而非按模型设定,所以训练数据更多的新模型不会获得不公平优势—— 它面对的仍然是在 t_0 时刻确实未解决的问题。 由于快照不变,随着模型改进,评估可以在新市场上干净地重新运行,不会过期。

双重评分——同时对比实际结果和 t_0 时的市场价格——才是这个框架真正有用的地方。 一个仅仅匹配市场价格的模型并没有展示预测技能,它只是展示了读懂共识的能力。 只有超越 t_0 时市场价格的模型,才在同等信息条件下证明了超越人群的价值。

+------------------+      +------------------+
| Polymarket       |      | Reddit 存档      |
| 已结算问题       |      | (公开帖子)       |
+--------+---------+      +--------+---------+
         |                          |
         v                          v
+--------+-------------------------+---------+
|            选定截止日期 t_0               |
|         (结果揭晓之前的时间点)            |
+--------+-------------------------+---------+
         |                          |
         v                          v
+--------+---------+      +--------+---------+
| t_0 时的市场价格 |      | 冻结快照         |
| (人类预测基准)   |      | 仅保留 < t_0 帖子|
+--------+---------+      +--------+---------+
         |                          |
         |                 +--------+---------+
         |                 | LLM 只读         |
         |                 | t_0 前的上下文   |
         |                 | 输出概率估计     |
         |                 +--------+---------+
         |                          |
         v                          v
+--------+-------------------------+---------+
|                  评分                       |
|  (1) 模型概率 vs 实际结果                  |
|  (2) 模型概率 vs t_0 时的市场价格          |
+--------------------------------------------+

核喻(结构性比喻)

把Hindcast想象成评估冷案侦探的过程。 每个案件就是一个已结算的Polymarket问题,证据室就是Reddit存档。

正常情况下评估侦探破冷案时,我们会把今天的报纸和原始案卷一起给他—— 资历更浅但读了更多近期报纸的侦探自然”破”更多案子, 但我们分不清他是推理能力更强,还是单纯读得更多。

Hindcast在选定日期封存证据室。 侦探只能查看该日期之前归档的文件。 然后用两种方式评判他的结论: (1)他是否指认了正确的嫌犯(实际结果)? (2)他的结论与当时负责此案的调查员留下的笔记相比如何—— 那位调查员面对的是同一间封存的证据室(t_0 时的市场价格)。

这个比喻是承重的,每个部分都映射到方法的一个组件: 封存的证据室 = 冻结的Reddit快照(无事后泄漏); 原调查员的笔记 = t_0 时的市场价格(同一信息条件下的校准人类预测); 每个案件独立的封存日期 = 每个市场的独立截止日期; 关键发现也自然映射:只有证人在封存日期前确实讨论过案情时,查阅档案才有帮助。 如果证据室里只有猜测和传闻,检索反而有害——是噪声,不是信号。

关键概念

  • 评估中的信息泄漏: 测试模型预测未来的能力时,需要确保模型在测试期间看不到未来。 这听起来显而易见,但它通过两种不显眼的方式发生。 检索泄漏:模型的搜索工具找到了事件发生后才写的维基百科文章。 训练数据泄漏:模型的训练文本中包含答案。 Hindcast通过在结果揭晓前冻结知识源(Reddit)来堵住两个口—— 既不让检索泄漏,也不让训练数据泄漏(通过选择真正处于模型训练数据之前的 t_0)。

  • 市场价格作为基准: 不只是检查”模型猜对了吗?“,还要检查”模型是否超越了人群?” t_0 时刻的Polymarket价格本身就是一次预测—— 是接触到同一份 t_0 前信息的人类做出的概率估计。 如果模型只是匹配这个价格,它做的不过是读了同样那些Reddit帖子。 只有超越市场价格才说明模型有真正的预测优势。 这就像不只看学生答对了多少题,还要看他是否在同一场考试中超越了班级平均分。

  • 时序隔离: 让Hindcast成立的核心纪律。 评估的每个组件——知识来源、评分基准、问题选择——都锚定在同一个时间点 t_0t_0 之后的任何东西都不允许进入。 这使得评估可复现、对不同代际模型公平, 因为”这个模型当时能知道吗?“这个问题有了清晰可验证的答案。

框架转变

之前(主流方法):                     之后(Hindcast):

Q + "所有可用知识"                  Q + t_0 时的冻结快照
         |                                    |
         v                                    v
    LLM 概率估计                         LLM 概率估计
         |                                    |
         v                                    v
  仅对比实际结果评分                   同时对比实际结果
                                     和 t_0 时市场价格评分

  泄漏口:检索 + 训练数据             无泄漏:两个口都封住
  基准:无 / 准确率                   基准:人群智慧
  稳定性:新模型一出就过期            稳定性:可反复运行

从”对比答案评分”到”对比答案同一冻结时刻的群体预测评分”, 核心转变是把评估当作时间旅行问题,要求每个信息渠道都在同一日期封存。

专家评审

选题眼光: 这是真缺口,不是人造的。 双重泄漏——检索和训练数据——在预测评估文献中被严重低估。 大多数时序基准只关注训练数据截止日期,完全忽略检索端。 Hindcast同时堵住两个口,而预测市场框架给了它一个自然的、有经济学基础的基准。 这正好落在”让LLM评估值得信赖”的轨迹上,是该领域最重要的开放问题之一。

方法成熟度: 多数是巧劲,不是蛮力。 用预测市场同时作为问题来源和基准很优雅——市场有流动性、有结算结果、有校准过的概率价格。 冻结Reddit快照是务实选择(公开、有时间戳、体量大), 但引入了领域偏差:Reddit在话题和人口统计上有偏。 按市场设定 t_0 是关键工程贡献,防止评估过期。 更简单的方案可能用一个全局截止日期,但按市场设定严格更优,值得这点复杂度。

实验诚意: 双重评分对比市场价格是对基准公平性的真正贡献—— 大多数预测基准根本没有基准,只有原始准确率。 检索在Reddit只有猜测时有害的发现既合理又重要。 一个隐患:Reddit不是唯一的公开知识源,结果可能不适用于使用不同检索语料的模型。 作者应明确说明这一局限。 另外,Polymarket问题偏向政治、加密货币和流行文化—— 向其他预测领域(科学、地缘政治)的可推广性未经检验。

写作功力: 摘要写得极其清晰——三句话内说清问题、机制和关键发现。 行文纪律性强。 最可能薄弱的部分是相关工作章节:论文应该更系统地与NLP中超越预测的时序评估方法做对比 (如时序事实验证、时间感知问答)。 一张展示此前工作泄漏覆盖范围的表格能让整体论述再上一个台阶。

判决: 弱接收——问题真实、方案有原则、关键发现(检索仅在有事前讨论时有用)对实践者有直接价值。 范围较窄(仅Reddit和Polymarket),但作为这个问题的首次切入恰如其分。

要点总结

  1. 构建任何”预测未来”基准时,同时审计检索泄漏和训练数据泄漏。 大多数团队只想到其中一个。 Hindcast给了你一个具体清单:在每个问题的截止日期冻结知识源, 并对比同一冻结时刻的群体基准来评分。

  2. 检索对预测并非普遍有用——取决于语料是否在事前讨论过该事件。 如果你在构建带检索的预测器,单独度量检索质量: 你的语料中有多少相关信息在截止日期前就存在? 这个发现可以直接迁移到任何涉及时序任务的RAG系统。

  3. 预测市场是被低估的校准人类基准来源。 如果你在评估任何产出概率的系统,查一下同一问题是否有预测市场存在。 t_0 时刻的市场价格是一个免费的高质量基准,告诉你模型是否在共识之上增加了价值。