○ Translated from the Finnish original
Signals.⚽
Track record40 warnings in the archive, each graded against the outcome ● measured·osumatarkkuus 75 % (9/12, tapahtumataso) ● measured·3 dead claims julkaistu, tapamme omat ideamme, kun data sanoo niin
Skeptikolle

Track record – we claim in advance and grade ourselves in public afterwards

You probably came here to debunk one of our claims. Good. This page is built for exactly that: calibration, the full warning archive with its misses, and the list of claims we killed ourselves.

Kalibraatio, sanoimme X, toteutui Y

rises monotonically · misses in the count too
Riskipiste → poissaolon/virallisen tiedon toteuma
all players, two seasons · n = 15 581 ● measured
matala riskipiste5 %
keskitaso24 %
korkea52 %
The curve rises from 23 % to 65 % with the risk score; if it did not rise, the whole product would be worthless. That is why it is public.
Pre-flag-sweep, tapahtumataso (sama vamma = 1)
measured 16.7.2026 ● measured
pre-flag75 % (9/12)
varoitustaso63 % (12/19)
clear-base~17 %
Core numbers from the same data: the fitness concern showed before the official word2.2× (N = 15.581) · breakout before output 1.9× (n = 5 005) · uutinen × tapahtuma 4.77× (n = 511) ● measured

Varoitusarkisto

40 warnings · misses included and marked
#R24-001William Saliba (Arsenal), substituted on 31.08. already at min 4 → no game in the next✓ hit
#R24-002Jurriën Timber (Arsenal), substituted on 14.03. already at min 37 → no game in the next✓ hit
#R24-003Benjamin White (Arsenal), substituted on 13.12. already at min 30 → no game in the next✓ hit
#R24-004Benjamin White (Arsenal), substituted on 10.05. already at min 27 → no game in the next✓ hit
#R24-005Martin Ødegaard (Arsenal), substituted on 13.09. already at min 17 → no game in the next✓ hit
#R24-006Martin Ødegaard (Arsenal), substituted on 04.10. already at min 29 → no game in the next✓ hit
#R24-007Noni Madueke (Arsenal), substituted on 21.09. already at min 45 → no game in the next✓ hit
#R24-008Gabriel Martinelli Silva (Arsenal), substituted on 17.01. already at min 45 → no game in the next✓ hit
#R24-009Kai Havertz (Arsenal), substituted on 25.04. already at min 33 → no game in the next✓ hit
#R24-010Cristhian Mosquera (Arsenal), substituted on 28.09. already at min 45 → no game in the next✓ hit
#R24-011Cristhian Mosquera (Arsenal), substituted on 03.12. already at min 43 → no game in the next✓ hit
#R24-012Viktor Gyökeres (Arsenal), substituted on 01.11. already at min 45 → no game in the next✓ hit
#R24-013Matty Cash (Aston Villa), substituted on 04.03. already at min 45 → no game in the next✓ hit
#R24-014Tyrone Mings (Aston Villa), substituted on 28.09. already at min 31 → no game in the next✓ hit
#R24-015Youri Tielemans (Aston Villa), substituted on 13.09. already at min 45 → no game in the next✓ hit
#R24-016Emiliano Buendía Stati (Aston Villa), substituted on 26.10. already at min 28 → no game in the next✓ hit
#R24-017John McGinn (Aston Villa), substituted on 18.01. already at min 17 → no game in the next✓ hit
#R24-018Boubacar Kamara (Aston Villa), substituted on 23.08. already at min 15 → no game in the next✓ hit
#R24-019Amadou Onana (Aston Villa), substituted on 30.12. already at min 45 → no game in the next✓ hit
#R24-020Harvey Elliott (Aston Villa), substituted on 28.09. already at min 45 → no game in the next✓ hit
#R24-021Douglas Luiz Soares de Paulo (Aston Villa), substituted on 01.11. already at min 13 → no game in the next✓ hit
#R24-022Kyle Walker (Burnley), substituted on 21.02. already at min 45 → no game in the next✓ hit
#R24-023Maxime Estève (Burnley), substituted on 30.12. already at min 14 → no game in the next✓ hit
#R24-024Lucas Pires Silva (Burnley), substituted on 06.12. already at min 42 → no game in the next✓ hit
#R24-025Axel Tuanzebe (Burnley), substituted on 02.02. already at min 45 → no game in the next✓ hit
#R24-026Jacob Bruun Larsen (Burnley), substituted on 28.02. already at min 45 → no game in the next✓ hit
#R24-027Hannibal Mejbri (Burnley), substituted on 21.03. already at min 17 → no game in the next✓ hit
#R24-028Loum Tchaouna (Burnley), substituted on 03.12. already at min 45 → no game in the next✓ hit
#R24-029Adam Smith (Bournemouth), substituted on 30.08. already at min 25 → no game in the next✓ hit
#R24-030Tyler Adams (Bournemouth), substituted on 15.12. already at min 4 → no game in the next✓ hit
#R24-031David Brooks (Bournemouth), substituted on 28.02. already at min 45 → no game in the next✓ hit
#R24-032Ryan Christie (Bournemouth), substituted on 09.05. already at min 41 → no game in the next✓ hit
#R24-033Junior Kroupi (Bournemouth), substituted on 27.12. already at min 45 → no game in the next✓ hit
#R24-034Bafodé Diakité (Bournemouth), substituted on 27.12. already at min 45 → no game in the next✓ hit
#R24-035Rico Henry (Brentford), substituted on 03.03. already at min 20 → no game in the next✓ hit
#R24-036Aaron Hickey (Brentford), substituted on 21.02. already at min 44 → no game in the next✓ hit
#R24-037Kevin Schade (Brentford), substituted on 01.02. already at min 41 → no game in the next✓ hit
#R24-038Mikkel Damsgaard (Brentford), substituted on 25.01. already at min 36 → no game in the next✓ hit
#R24-039Antoni Milambo (Brentford), substituted on 17.08. already at min 45 → no game in the next✓ hit
#R24-040Vitaly Janelt (Brentford), substituted on 21.02. already at min 45 → no game in the next✓ hit
huti3 pre-flag cases out of 12 did not lead to an absence or an official notice (event level); included in every count, not hidden✗ huti
huti7 warning-level cases out of 19 did not materialise; the warning level is the weaker observation, and we say so out loud✗ huti
Early substitution → no game in the next · season 2024-25 ● measured· the warning id (#R24-NNN) travels with the shared card, so every claim can be traced back here.

Team hypotheses – how the summer numbers held

resolved hypothesis = outcome · the faded ones too
No team hypothesis resolved yet – hypotheses set in the summer resolve as the season runs, when a new measurement moves the state. This section also shows the faded and the dead, with the same weight.

What we do not claim: the graveyard of observations

dead observations in public · nobody else tells you this
📅
Calendar / fixture congestion
k. 10.7.2026
”Predicted everything, hit nothing.”
🏃
Raaka minuuttikuorma
k. 10.7.2026
”Died as a fatigue gauge, woke as a durability mark.”
inverse ● measured
📉
A run of three weak points matches
k. 16.7.2026
”Just regression to the mean.”
0.97× stratifioitu ● measured
A gravestone means: we measured it, it did not work, and we do not sell it. The “rising/falling” stamp comes only from underlying data, never from points runs.

All observations, in one view

one engine · many signal families
2.2×
before the official flag
Fitness observation
Accumulating early substitutions + news point to a shrinking role.
William Saliba (Arsenal), taken off as early as min 4 → no game next
● measured
Have your say🫣 through the fingers 24 %
1.9×
before the output arrives
Form / breakout
Expected goal involvements (xGI) lead the realised.
Yéremy Pino Santos, xGI 10.6 vs 4 realised ('due')
● measured
Have your say🧤 safe hands 39 %
4.77×
uutinen × tapahtuma
Cross-checked sources
Two observations weak alone become strong together.
each alone only ~1.6×
● measured
Have your say🧠 cool head 50 %
2.48
Arsenal
Squad risk (team level)
Player-level observations composed into a team.
avg. regulars under fitness concern / round
● measured
Have your say🫣 through the fingers 26 %
–
reactions on this page · dominant mood in the pulse
Community mood
The page's own soft mood number: community mood per story.
starting numbers ○ illustrative; the cold start is bridged with public-source sentiment (threshold 500 reactions/day); weight in the reading only once reliability is measured
○ live / rakentuu
Have your say🧠 cool head 45 %
This inventory used to live on the front page; now the front-page thread shows only the changes, and the full picture lives here.

Miten luemme

four principles, briefly
The rise is predictable, the fall is not, and we say so.When a player creates more than they convert (gap between created and returned > 2, output ≤ 1), the points level of their next starts rose in 54.7 % of cases (1.7×) and none fell, but n = 53 is a small sample and will grow with further seasons before the claim hardens. The weaker gap (1–2): a rise in 37 % (1.15×, n = 492).● measured
We do not draw a down-arrow the data does not carry.The points drop is not predicted for continuers – the drop happenspoissaolona, which the fitness path predicts (72 % / 3.6×, n = 1 086). That is why the player card has only ↗ (rise) and ⤵ (absence risk); there is no down-arrow, because the measurement does not support one.● measured
Every number carries its mark.● measured = real data or a measured history run; ○ illustrative = not yet measured. The card shows one number; the rest (sample sizes, seasons, confounds) live in the ●'s tooltip and on this page.
Misses are published right where the hits are.The warning archive shows both, and dead findings get a gravestone. Email is no place to embarrass yourself; this page is the place to prove honesty.
The house glossary, the only place these words appear
the terms live in the code, in this box and in the Analyst-level term layer; in stories and this page's body text we use plain language (warning · outcome · hit · observation · mark)
kuittia warning checked against the outcome: we said it in advance, and after the game what happened was logged, hit or not. Archive ids (#R24-001…) point to these rows.
signaalian observation or mark that stands out in the data, measured against history before it earns weight in a reading.
lippuofficial absence data, the league's own availability list.
kuvioa recurring situation in a player's rows, for example a run of early substitutions without an explanation.