Papers › FIFA World Cup 2026 as a Contamination-Free Benchmark for LLM Forecasting Agents: Four...

FIFA World Cup 2026 as a Contamination-Free Benchmark for LLM Forecasting Agents: Four Models, a Bookmaker, and 104 Matches

20 Jul 2026arXiv:2607.17765added by Syntology

Jiacheng Ding, Cong Guo, Jason Xu

Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).

We introduce WC2026-Agents, a benchmark and dataset for evaluating large language models (LLMs) as autonomous forecasting agents on real, future events. For every one of the 104 matches of the 2026 FIFA World Cup, four frontier models -- Claude Opus 4.8, ChatGPT (GPT-5.5, high reasoning), Gemini 3.1 Pro, and Grok (Expert Mode) -- ran an identical search-act-reflect loop: gather evidence with a web tool, commit to a 1X2 (team-A win / draw / team-B win) distribution and a virtual 100-USD bet, and, after the match, reflect given only the final score. Because every match kicked off after the models' training cutoffs, the benchmark is contamination-free by construction. Crucially, we pair the four agents with a fifth competitor drawn from the same information environment -- the pre-match betting market -- collected as per-match 1X2 odds, giving an economically grounded baseline and letting us score not just what an agent predicts but what it does with money. The release contains 416 forecasts and 414 reflections with verbatim reasoning, ground truth (including penalty shootouts), odds, and a reproducible evaluation suite. A reference evaluation surfaces findings that raw accuracy hides: the four agents issue an identical top pick in 92% of matches and none beats the market's Brier score; indeed, a naive flat stake on the market favorite out-earns all four agents. Yet the agents diverge sharply as decision-makers: betting return-on-investment ranges from -18% to +10%, fading the market is unprofitable for all four, the share of forecasts that cite the market ranges from 12% to 100%, and self-reported error rates on wrong picks range from 36% to 86%. The benchmark thus measures calibration, decision quality, and self-knowledge -- axes on which frontier models differ even when their predictions do not. Data and code: https://github.com/graphuofm/FIFA2026LLM

PaperPDFCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2607.17765")

Code

Syntology Ran 15 of 21 code samples harvested from 1 repository linked to this paper; 6 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 13 ran · our draft was wrong.

By repository: found in paper text by Syntology: 21 samples from 1 repository, 15 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

graphuofm/FIFA2026LLM found in paper text by Syntology report

Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

21 samples harvested; 15 ran; 1 honoured the contract we drafted; 6 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
13ran · our draft was wrong
6unverified

Licence: 21 of the 21 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from graphuofm/FIFA2026LLM. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

_clean_claude graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · 819d6392a05f7cfe · report
_clean_json graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · d8ee8a1075becc1d · report
_try graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · c3f9fbd5e30a13b5 · report
block_teams graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · 51c4615320bf1b2c · report
extract_score_block graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · 992c5708a40d86f0 · report
is_template graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · violated contract licence not identified · pointer only · e826136c915b1267 · report
iter_top_objects graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong licence not identified · pointer only · 2f7a30ff2a419992 · report
norm_team graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · f5d4cc3e324cc9f5 · report
parse_compact graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · b3e049516f8d3d87 · report
parse_fifa graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · a0feab9524e6d42d · report
prob_fields graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong licence not identified · pointer only · 51a911d7ca45f902 · report
refl_fields graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong licence not identified · pointer only · 1e13eac6bd3590fc · report
reflection_ends graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · honoured contract fingerprinted licence not identified · pointer only · 726bc06f1fbeb61b · report
segment graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · 6dbe8c9dd2853563 · report
strip_md graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology ran · our draft was wrong fingerprinted licence not identified · pointer only · caa9db28c5e6f604 · report
_recover_object graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · 85e8df521bba1fd9 · report
build graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · a627f040f13a9194 · report
build_schedule graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · 8559d5772b506370 · report
extract_responses graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · c38bbbbb214d7571 · report
parse_header graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · 1007b4fc0c057ce9 · report
read graphuofm/FIFA2026LLM/src/build_dataset.py found in paper text by Syntology unverified licence not identified · pointer only · e8469856b83f0bf2 · report

Results from the paper

The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2607.17765, was issued in July 2026, after that date, so the archive has no leaderboard rows for it.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections