Changelog
What changed in the Transfers benchmark, newest first.
A published score is only auditable if the rules behind it are traceable, so nothing here is retroactive. A version page is written once and never edited; when something has to change, a new version supersedes it and the entry below names what it replaced.
Entries record changes to the benchmark — the cohort, the pins, the rules. Software changes that leave every published number identical are not benchmark changes and are not listed.
2026-10-14 — Three Arena entries: form over one, two and three seasons
Three new Arena entries answer every open case with one naive rule: a signing will do what he
did. Each metric's predicted distribution is the share of the player's own past league appearances
that land in each band of the destination league's grid. The three differ only in how much past they
read: arena-form-1s the 2025/26 season, arena-form-2s the last two, arena-form-3s the last three.
Every appearance counts, as raw per-match values; a past in another league is read on the
destination's bands, not translated.
A case with fewer than eight appearances in the window is refused, and counts against the entry's coverage, never as a wrong answer: a player arriving from a league whose matches the Arena does not hold has no past this rule can read. The one-season entry answers 602 of the 877 cases, the two-season 651, the three-season 662.
Scored from matchday one, 25 July, under a stated exception. The entries locked on 14 October. The rule reads only seasons that ended before 1 July 2026, enforced by a date cut-off — the newest match any of them read was played on 24 May 2026 — so no match of the season being scored can reach a prediction. Each row says Scored under an exception, with the reason, and publishes its score split at the lock. No snapshot already published changes; the entries appear from the next weekly run, scoring the season to date.
No rule changed, and no other entry's number moves.
2026-10-09 — Each weekly run records the season to date
A weekly run now records every appearance from the start of the season up to the end of its window, where it used to record only the seven days of its window. No rule changed, and no published number changes: appearances are recorded once whatever reads them, and the realised distributions were already rebuilt from the whole season every week.
What it changes is what happens to a week whose matches had not been collected when it was scored. That week used to be lost for the rest of the season; it is now caught up by the following run. Any appearance recovered this way shows in the next snapshot, never in one already published.
2026-10-09 — A sixth competition: the Swiss Super League
The Swiss Super League joins the five original destination leagues: 68 cases across twelve clubs, from the summer window that closed on 8 September.
2026-10-09-transfers-cases-v3 replaces 2026-09-02-transfers-cases-v2. No case of the five
original leagues changed: the 809 are identical, field for field. The date is the newest snapshot
the cohort reads. Each league is read from the newest snapshot that holds it, so the five still read
the one of 2 September and the Swiss Super League its own of 9 October.
A second match-level provider. The Swiss league is scored from a second provider's per-match
statistics, because the source of the other five publishes none for it. They agree with it exactly on every
metric this benchmark requests, measured on shared matches before anything was collected. The
reference pool, 2026-10-swisssuperleague-2024-2026-pool-v1, is cut from its 2024/25 and 2025/26
seasons; a sparse metric's bands match the other leagues' (ST/goals is 0 · 1 · 2+), and passing
volume sits lower, as it differs between any two leagues.
The Arena's two entries are scored on it from matchday one, 25 July, under a stated exception. The cohort was added nine rounds in. The base rate reads only band widths, so no outcome can reach it. The LLM entry's web search is bounded to 24 July, the eve of round one, and its row publishes its own score split at the lock — before and after — so that any leakage shows rather than averages away. Both rows say Scored under an exception, with the reason. A participant entering now locks under the ordinary rule and is scored on what is played after it.
No weekly snapshot is published for the Swiss weeks before today. The first one scores the season to date; a trajectory reaching back before the entries locked would draw a history that never happened.
2026-09-03 — First published board
The Transfers leaderboard began rendering published weekly snapshots. Ten snapshots exist, covering the weeks ending 2026-08-17, 2026-08-24 and 2026-08-31 across the five destination leagues.
Weeks before today were scored on already-played matches. The first weekly cycles were run retroactively rather than waiting three weeks for them to arrive in real time. This changed no rule: a prediction is still scored only on appearances made after its own lock, and the participant scored in these weeks locked its answers before any of them were played, which is why its information-at-lock reads as blind. What was compressed is the calendar, not the evidence.
Cohort at first publication: 809 cases across five leagues, 436 scorable.
2026-09-02 — Case registry rebuilt after the window shut
2026-09-02-transfers-cases-v2 replaces 2026-09-02-transfers-cases-v1.
Rebuilt from the arrivals snapshot dated 2026-09-02, the first taken after the summer transfer window closed, so the cohort is the season's completed intake rather than a partial one.
Arrivals snapshots are used whole and never merged. The source withdraws rows as well as adding them — a transfer recorded in August can be absent in September — so combining two snapshots would produce a cohort that never existed at any moment.
Entity crosswalk 2026-09-entity-crosswalk-v2 replaces -v1 in the same rebuild, after
reconciling players who had entered the registry with no match-source identity. See
Data & coverage for what that reconciliation refuses to
guess at, and why.
2026-09-02 — Case registry identifiers carry their date
2026-09-02-transfers-cases-v1 replaces 2026-09-transfers-cases-v1.
A transfer cohort is defined by the day it was cut, because the transfer window is still open on most of the days it might be cut. A month was not precise enough to identify which intake a pin refers to, so the identifier carries the full date.
No case changed. This is a naming correction, recorded because a version identifier that silently changed meaning would be worse than one that visibly changed shape.
2026-08-31 — Version identifiers stopped naming suppliers
The entity crosswalk's version identifier was renamed to 2026-09-entity-crosswalk-v1. The previous
identifier named two commercial data providers.
The Arena's credibility rests on being independent of any one vendor, and a version pin appears in the public spec and in every published snapshot — it is not the place to advertise a supply chain. The methodology is described in full throughout this documentation; what is avoided is phrasing that reads as an endorsement or an exclusive dependency.
No data changed.
2026-08-29 — Transfers benchmark opened
Contract 2026-09-transfers-distributional-v0, five destination leagues, reference pools cut from
the 2024/25 and 2025/26 seasons.
Participants predict a distribution over percentile bands of a player's per-match output at his new club, locked before his first appearance and scored against what happens afterwards. Scoring is ranked probability score against the realised distribution, divided by what the league base rate scored on the same outcomes.
The full opening rules are in the version archive.