Skip to main content
Settled matches only

Every call, graded.

AiGoalBot writes down each next-goal call the moment it makes it — the side, the stated probability, the confidence tier and the exact model build that produced it. Once the match is over, the call is graded against what actually happened. This page is all of them. Nothing is excluded, and the misses are counted with the hits.

7.8%

of 9586 settled calls landed

A coin flip would have landed 7.0%. 1.11× better than chance

9586

Calls graded

912

Matches covered

7.8%

Realised hit rate

7.0%

Coin-flip baseline

Covering Jul 18, 2026 – Aug 9, 2026. Recalculated automatically.

How this is measured

The rule is fixed and strict

A call names one side. It lands only if the very next goal in the match belongs to that side and arrives within 10 minutes. If the other side scores first, it is a miss. If nobody scores in the window, it is a miss.

Goals the feed had not reported yet do not count

The data feed reports a goal 20–30 seconds after it is scored, while the match statistics it derives from update instantly. For those seconds a model can appear to predict a goal that has already been scored. So a goal only counts for a call if it arrives at least 2 minutes after that call was last made — the model is asked to see a goal coming, not to notice one that has just gone in. This rule alone removed the whole of the edge previously published here, and it is why the model is now trained to look 2 minutes ahead.

Why the baseline is 7%, not 50%

Most 10-minute windows contain no goal at all, and a call cannot land in a window where nothing happens. So the honest comparison is not a 50/50 guess between two teams — it is a coin flip that only pays out when a goal actually arrives. That baseline is computed from the very same windows shown here, never assumed.

Written before the fact

Each call is stamped with the build of the model that made it, and the model is retrained daily. That is what makes a graded call provable rather than merely claimed: it was recorded before the goal, by a model that had not seen the match.

Nothing in play

A call only appears here once its match is certainly finished. A graded call on a live match would give away the score, and this page is public.

The eventual next scorer

The same calls, read on a longer question: not “did they score within 10 minutes” but “when the next goal finally came, was it theirs”.

55.5%

of 5960 calls that a further goal followed

The model’s call55.5%
Naming the same sides at random50.2%
Always backing the home side52.4%
A coin flip50.0%
  • The model’s choice is worth 5.2 points over naming those same sides blindly. Against always backing the home side — a strategy that needs no model at all — it is ahead by 3.1 points, which is inside the margin of error on this sample. Both comparisons are published because the coin flip alone flatters this figure: the home side scores most goals, and the model names the home side more often than the away side.
  • A further 3402 settled calls are not counted above, because their match finished with no more goals at all. There was nothing for those calls to be right or wrong about. They are stated rather than dropped — quoting the rate without them would imply it covers every call.
  • 224 more calls are excluded because capture stopped before full time, so whether another goal followed is unknown. Those are our outages, and they are not scored as the model’s losses in either direction.
  • This figure is not broken down by star rating or stated probability, and that is deliberate. The tiers appear to order on this question, but the entire effect sits in one five‑day stretch and disappears in the next — in the more recent half, two‑star calls outscore three‑star ones. The stated probability does not order at all. Publishing a per‑tier table would be publishing noise.
Realised hit rateCoin flip on the same windows

By confidence tier

The star rating shown on the card. Measured, the tiers do not order — a higher tier has not proved to be a stronger signal, on this label or on the next-goal one.

 CallsLandedRealisedChanceEdgeRealised vs chance
21801848.4%8.0%1.05×
★★19461678.6%7.6%1.13×
★★★54603927.2%6.4%1.13×

By stated probability

The headline percentage the card showed at the time.

 CallsLandedRealisedChanceEdgeRealised vs chance
under 20%58914417.5%6.7%1.13×
20–25%18801548.2%8.0%1.03×
25–30%14951147.6%6.7%1.13×
30% and above3203410.6%8.9%1.19×

By match phase

When in the match the call was made.

 CallsLandedRealisedChanceEdgeRealised vs chance
0–15'1277947.4%7.3%1.01×
15–30'12941088.3%8.3%1.00×
30–45'1338886.6%5.9%1.11×
45–60'20171527.5%6.8%1.11×
60–75'14701278.6%7.6%1.14×
75'+21691738.0%6.5%1.23×

Day by day

Every day of capture, in order. Small days swing hard — read the total, not the best one.

 CallsLandedRealisedChanceEdgeRealised vs chance
Jul 18370349.2%8.2%1.11×
Jul 19411358.5%6.8%1.25×
Jul 2012386.5%6.1%1.07×
Jul 21434296.7%6.8%0.98×below chance
Jul 22597477.9%7.9%1.00×
Jul 23815698.5%8.0%1.06×
Jul 24294258.5%6.3%1.35×
Jul 25916717.8%7.9%0.99×below chance
Jul 26914829.0%7.1%1.26×
Jul 279699.4%7.8%1.20×
Jul 28155127.7%6.8%1.14×
Jul 29330247.3%5.9%1.23×
Jul 30422337.8%5.3%1.47×
Jul 31247166.5%5.7%1.14×
Aug 1380236.1%6.6%0.92×below chance
Aug 2555539.5%8.4%1.14×
Aug 3207115.3%4.8%1.10×
Aug 4274186.6%5.8%1.13×
Aug 53173511.0%9.1%1.21×
Aug 6434245.5%5.8%0.96×below chance
Aug 718184.4%6.1%0.73×below chance
Aug 8765536.9%6.3%1.10×
Aug 9349246.9%6.6%1.04×

Rows marked below chance are ones where the model did worse than a coin flip. They are shown because a scorecard with the bad rows deleted would make the good ones worthless too.

The last 30 calls, named

Straight time order — no selection, no highlights reel. Whatever the model said last is what appears here.

MatchCallCalled to score nextConfidenceOutcome
UE Olot v CE SabadellClub Friendlies · Aug 981'CE Sabadell13%Missedno goal in 10 min
Shandong Taishan v Tianjin Jinmen TigerChinese Super League · Aug 986'Shandong Taishan14%Landedgoal after 7m 5s
FC Groningen v FC UtrechtEredivisie · Aug 952'FC Groningen13%Missedno goal in 10 min
Chongqing Tonglianglong FC v Shanghai PortChinese Super League · Aug 998'Chongqing Tonglianglong FC13%Missedno goal in 10 min
PEC Zwolle v AFC AjaxEredivisie · Aug 951'AFC Ajax13%Missedno goal in 10 min
Hammarby IF v BK HäckenAllsvenskan · Aug 984'Hammarby IF14%Missedno goal in 10 min
FC Groningen v FC UtrechtEredivisie · Aug 950'FC Groningen14%Missedno goal in 10 min
FC Lugano v FC ZürichSuper League · Aug 984'FC Lugano13%Landedgoal after 6m 54s
Shandong Taishan v Tianjin Jinmen TigerChinese Super League · Aug 983'Shandong Taishan13%Landedgoal after 9m 56s
Malmö FF v Degerfors IFAllsvenskan · Aug 984'Malmö FF13%Missedother side scored
Chongqing Tonglianglong FC v Shanghai PortChinese Super League · Aug 995'Chongqing Tonglianglong FC14%Missedno goal in 10 min
Lillestrøm SK v Rosenborg BKEliteserien · Aug 947'Lillestrøm SK13%Missedno goal in 10 min
FC Groningen v FC UtrechtEredivisie · Aug 948'FC Groningen13%Missedno goal in 10 min
Chongqing Tonglianglong FC v Shanghai PortChinese Super League · Aug 992'Chongqing Tonglianglong FC13%Missedno goal in 10 min
Malmö FF v Degerfors IFAllsvenskan · Aug 976'Degerfors IF13%Missedno goal in 10 min
Johor Darul Ta'zim v ChelseaClub Friendlies · Aug 971'Chelsea13%Missedno goal in 10 min
Hammarby IF v BK HäckenAllsvenskan · Aug 974'Hammarby IF13%Missedno goal in 10 min
Chongqing Tonglianglong FC v Shanghai PortChinese Super League · Aug 988'Chongqing Tonglianglong FC13%Missedno goal in 10 min
Shandong Taishan v Tianjin Jinmen TigerChinese Super League · Aug 969'Tianjin Jinmen Tiger13%Landedgoal after 8m 54s
Hammarby IF v BK HäckenAllsvenskan · Aug 971'BK Häcken13%Missedno goal in 10 min
FC Lugano v FC ZürichSuper League · Aug 968'FC Zürich13%Missedother side scored
KAA Gent v KV MechelenPro League · Aug 992'KV Mechelen13%Missedno goal in 10 min
Chongqing Tonglianglong FC v Shanghai PortChinese Super League · Aug 978'Chongqing Tonglianglong FC13%Missedno goal in 10 min
PEC Zwolle v AFC AjaxEredivisie · Aug 947'PEC Zwolle13%Missedno goal in 10 min
FC Groningen v FC UtrechtEredivisie · Aug 947'FC Utrecht13%Missedno goal in 10 min
Shandong Taishan v Tianjin Jinmen TigerChinese Super League · Aug 959'Shandong Taishan13%Missedno goal in 10 min
PEC Zwolle v AFC AjaxEredivisie · Aug 946'PEC Zwolle13%Missedno goal in 10 min
FC Lugano v FC ZürichSuper League · Aug 953'FC Lugano14%Missedno goal in 10 min
Johor Darul Ta'zim v ChelseaClub Friendlies · Aug 951'Johor Darul Ta'zim13%Missedno goal in 10 min
Shandong Taishan v Tianjin Jinmen TigerChinese Super League · Aug 953'Shandong Taishan13%Missedno goal in 10 min

Read this with the caveats

  • The sample is 9586 calls over 912 matches — enough to see the shape, not enough to settle a small bucket. A row with a few dozen calls can move several points on one goal.
  • AiGoalBot is in closed beta and the model retrains daily, so the record mixes several builds. Each build's calls are graded only against matches it had not seen.
  • This is a measurement of a model, not advice, and past accuracy does not predict future accuracy.

See it call the next goal live

The live board shows the same signals as they happen, with each match's own graded history on the card. Access is free and invitation-only during the beta.