Mathematical Football Prediction: A Bettor’s Honest Guide
I’ve been betting on football for over a decade, and the single biggest shift in how I pick matches happened the day I stopped trusting my gut and started running the numbers. Mathematical football prediction isn’t magic. It’s just discipline plus data: expected goals, recent form, schedule congestion, lineup news. When you stack those properly, you spot value the casual bettor misses.
This guide is built around what actually works for me on a Saturday afternoon across the Premier League, La Liga, Serie A and Bundesliga. No fluff, no 100%-guaranteed nonsense.
World Cup 2026 — Match Predictions
| Match | 1 | X | 2 | +1.5 | GG | +2.5 |
|---|---|---|---|---|---|---|
| Norway – Senegal 3–2World Cup · Group Stage – 2 · 23/06 00:00 | 1✓ 45% @2.35 | X | 2 | +1.5✓ 76% @1.31 | GG✓ 55% @1.75 | +2.5✓ 51% @1.95 |
| Jordan – Algeria 1–2World Cup · Group Stage – 2 · 23/06 03:00 · ☁ 25° | 1 | X | 2✓ 51% @1.62 | +1.5✓ 79% @1.31 | GG✓ 57% @2.02 | +2.5✓ 56% @1.98 |
| Portugal – Uzbekistan 5–0World Cup · Group Stage – 2 · 23/06 17:00 · ⛈ 32° | 1✓ 77% @1.26 | X | 2 | +1.5✓ 77% @1.20 | GG | +2.5✓ 53% @1.62 |
| England – Ghana 0–0World Cup · Group Stage – 2 · 23/06 20:00 · 🌦 19° | 1✗ 90% @1.32 | X | 2 | +1.5✗ 72% @1.22 | GG | +2.5 |
| Panama – Croatia 0–1World Cup · Group Stage – 2 · 23/06 23:00 | 1 | X | 2✓ 64% @1.60 | +1.5✗ 78% @1.33 | GG✗ 50% @2.07 | +2.5✗ 55% @2.00 |
| Colombia – Congo DRWorld Cup · Group Stage – 2 · 24/06 02:00 | 182% @1.65 | X | 2 | +1.557% @1.44 | GG | +2.5 |
| Switzerland – CanadaWorld Cup · Group Stage – 3 · 24/06 19:00 · ☀ 28° | 151% @2.60 | X | 2 | +1.5 | GG | +2.5 |
| Bosnia & Herzegovina – QatarWorld Cup · Group Stage – 3 · 24/06 19:00 · ☀ 27° | 163% @1.54 | X | 2 | +1.571% @1.26 | GG | +2.5 |
| Morocco – HaitiWorld Cup · Group Stage – 3 · 24/06 22:00 · ☁ 29° | 182% @1.34 | X | 2 | +1.557% @1.19 | GG | +2.5 |
| Scotland – BrazilWorld Cup · Group Stage – 3 · 24/06 22:00 · ⛈ 29° | 1 | X | 264% @1.46 | +1.583% @1.30 | GG57% @2.45 | +2.562% @1.91 |
| Czechia – MexicoWorld Cup · Group Stage – 3 · 25/06 01:00 | 1 | X | 263% @2.01 | +1.569% @1.37 | GG | +2.5 |
| South Africa – South KoreaWorld Cup · Group Stage – 3 · 25/06 01:00 · ☀ 29° | 1 | X | 280% @1.97 | +1.561% @1.38 | GG | +2.5 |
| Ecuador – GermanyWorld Cup · Group Stage – 3 · 25/06 20:00 | 1 | X35% @4.10 | 2 | +1.5 | GG | +2.5 |
| Curaçao – Ivory CoastWorld Cup · Group Stage – 3 · 25/06 20:00 · ☀ 30° | 1 | X | 273% @1.23 | +1.585% @1.25 | GG53% @2.88 | +2.565% @1.53 |
| Japan – SwedenWorld Cup · Group Stage – 3 · 25/06 23:00 · ☀ 31° | 165% @2.09 | X | 2 | +1.585% @1.26 | GG60% @1.67 | +2.566% @1.80 |
| Tunisia – NetherlandsWorld Cup · Group Stage – 3 · 25/06 23:00 · ☁ 23° | 1 | X | 278% @1.51 | +1.589% @1.25 | GG56% @2.88 | +2.573% @1.86 |
| Match | 1 | X | 2 | +1.5 | GG | +2.5 |
|---|---|---|---|---|---|---|
| Confiança – Guarani Campinas 2–0Serie C · Brazil · 23/06 00:30 · ☀ 25° | 1 | X | 2✗ 56% | +1.5✓ 66% | GG | +2.5 |
| Ponte Preta – Novorizontino 0–2Serie B · Brazil · 23/06 01:00 · ⛅ 19° | 1 | X | 2✓ 58% | +1.5✓ 67% | GG | +2.5 |
| Vermont Green W – Hartford Athletic WUSL W League · USA · 23/06 01:00 | 1 | X | 243% | +1.568% | GG | +2.5 |
| Paisley Athletic W – Long Island Rough Riders WUSL W League · USA · 23/06 01:30 | 1 | X | 248% | +1.598% | GG90% | +2.593% |
| Norway – Senegal 3–2World Cup · World · 23/06 02:00 | 1✓ 83% | X | 2 | +1.5✓ 94% | GG✓ 61% | +2.5✓ 83% |
| Flatirons Rush – Unión Villa Krause 1–2USL League Two · USA · 23/06 03:00 | 1 | X | 2✓ 75% | +1.5✓ 92% | GG✓ 63% | +2.5✓ 78% |
| Jordan – Algeria 1–2World Cup · World · 23/06 05:00 · ☁ 25° | 1 | X | 2✓ 40% | +1.5✓ 91% | GG✓ 75% | +2.5✓ 77% |
| AC Connecticut W – New England Mutiny WUSL W League · USA · 23/06 06:00 | 1 | X | 255% | +1.593% | GG75% | +2.580% |
| Changchun Xidu – Rizhao Yuqi 0–0League Two · China · 23/06 10:00 | 1 | X✓ 43% | 2 | +1.5 | GG | +2.5 |
| Qingdao Red Lions – Dalian Kewei 0–0League Two · China · 23/06 10:00 · ☁ 24° | 1 | X✓ 37% | 2 | +1.5✗ 51% | GG | +2.5 |
| Shanghai Second – Dalian Yingbo B 1–2League Two · China · 23/06 10:00 | 1 | X | 2✓ 42% | +1.5✓ 55% | GG | +2.5 |
| Xiamen Feilu – Hubei Chufeng Heli 0–0League Two · China · 23/06 10:00 · ☀ 31° | 1✗ 50% | X | 2 | +1.5✗ 73% | GG✗ 50% | +2.5 |
| Robina City – Capalaba 5–1Queensland Premier League · Australia · 23/06 11:30 | 1✓ 67% | X | 2 | +1.5✓ 79% | GG | +2.5✓ 57% |
| Edgeworth Eagles – Lambton Jaffas 3–2Northern NSW NPL · Australia · 23/06 12:00 | 1 | X | 2✗ 42% | +1.5✓ 78% | GG✓ 57% | +2.5✓ 54% |
| Paro – Ugyen Academy 11–0Premier League · Bhutan · 23/06 12:00 | 1✓ 51% | X | 2 | +1.5✓ 85% | GG✗ 64% | +2.5✓ 65% |
| Zvezda St. Petersburg – Spartak Moscow 2 2–3Second League – Group 2 · Russia · 23/06 13:00 · ⛅ 19° | 1✗ 52% | X | 2 | +1.5✓ 67% | GG | +2.5 |
| Guangdong Mingtu – Guizhou Zhucheng 0–0League Two · China · 23/06 13:30 | 1 | X✓ 35% | 2 | +1.5✗ 57% | GG | +2.5 |
| Nantong Haimen Codion – Shanghai Port II 2–2League Two · China · 23/06 13:30 | 1 | X | 2✗ 48% | +1.5✓ 77% | GG✓ 55% | +2.5✓ 53% |
| Aluminij – Universitatea ClujFriendlies Clubs · World · 23/06 14:00 | 1 | X | 243% | +1.568% | GG | +2.5 |
| Koper – FC Noah 2–0Friendlies Clubs · World · 23/06 14:00 | 1✓ 74% | X | 2 | +1.5✓ 80% | GG | +2.5✗ 58% |
| Olimpija Ljubljana – Vllaznia Shkodër 4–0Friendlies Clubs · World · 23/06 14:00 | 1✓ 47% | X | 2 | +1.5✓ 71% | GG | +2.5 |
| Humenné – Zemplín Michalovce 1–2Friendlies Clubs · World · 23/06 16:00 | 1✗ 61% | X | 2 | +1.5✓ 94% | GG✓ 77% | +2.5✓ 83% |
| Shkendija – HNK Hajduk Split 0–4Friendlies Clubs · World · 23/06 16:00 | 1✗ 46% | X | 2 | +1.5✓ 87% | GG✗ 69% | +2.5✓ 70% |
| Alga – Bars 3–1Premier League · Kyrgyzstan · 23/06 16:30 | 1✓ 45% | X | 2 | +1.5✓ 80% | GG✓ 59% | +2.5✓ 58% |
| Neftchi – Dordoi Bishkek 1–3Premier League · Kyrgyzstan · 23/06 16:30 | 1 | X | 2✓ 35% | +1.5✓ 66% | GG | +2.5 |
| KuPS – Ilves 4–3Veikkausliiga · Finland · 23/06 17:00 | 1✓ 60% | X | 2 | +1.5✓ 81% | GG✓ 55% | +2.5✓ 59% |
| Lahti – Turku PS 0–0Veikkausliiga · Finland · 23/06 17:00 | 1✗ 49% | X | 2 | +1.5✗ 74% | GG✗ 52% | +2.5 |
| VPS – AC Oulu 5–1Veikkausliiga · Finland · 23/06 17:00 · ☁ 16° | 1✓ 34% | X | 2 | +1.5✓ 69% | GG | +2.5 |
| Saburtalo – Meshakhte 2–1Erovnuli Liga · Georgia · 23/06 17:00 · ☁ 24° | 1✓ 48% | X | 2 | +1.5✓ 66% | GG | +2.5 |
| BFA – Kauno Žalgiris 0–3Cup · Lithuania · 23/06 17:00 · ☀ 21° | 1 | X | 2✓ 48% | +1.5✓ 86% | GG✗ 67% | +2.5✓ 68% |
| Levski Sofia – Etar Veliko Tarnovo 6–0Friendlies Clubs · World · 23/06 17:00 | 1✓ 66% | X | 2 | +1.5✓ 70% | GG | +2.5 |
| Zbrojovka Brno – Prostějov 4–1Friendlies Clubs · World · 23/06 17:00 | 1✓ 76% | X | 2 | +1.5✓ 89% | GG✓ 58% | +2.5✓ 73% |
| Sileks – Dinamo Tirana 1–2Friendlies Clubs · World · 23/06 17:00 | 1✗ 40% | X | 2 | +1.5✓ 77% | GG✓ 57% | +2.5✓ 53% |
| Minija – Panevėžys 2–1Cup · Lithuania · 23/06 17:30 · ☀ 24° | 1✓ 40% | X | 2 | +1.5✓ 94% | GG✓ 80% | +2.5✓ 83% |
| Botev Plovdiv – Spartak Pleven 4–0Friendlies Clubs · World · 23/06 17:30 | 1✓ 75% | X | 2 | +1.5✓ 72% | GG | +2.5 |
| FC Gomel – Enisey 0–0Friendlies Clubs · World · 23/06 17:30 | 1✗ 67% | X | 2 | +1.5✗ 75% | GG | +2.5✗ 51% |
| Inter Turku – SJK 1–1Veikkausliiga · Finland · 23/06 18:00 · 🌦 16° | 1✗ 56% | X | 2 | +1.5✓ 66% | GG | +2.5 |
| FF Jaro – Gnistan 1–1Veikkausliiga · Finland · 23/06 18:00 · ☁ 13° | 1 | X | 2✗ 38% | +1.5✓ 75% | GG✓ 55% | +2.5✗ 51% |
| Buenos Aires City – Control Orientado 1–2Torneo Promocional Amateur · Argentina · 23/06 18:30 | 1✗ 48% | X | 2 | +1.5✓ 70% | GG | +2.5 |
| Portugal – Uzbekistan 5–0World Cup · World · 23/06 19:00 · ⛈ 32° | 1✓ 59% | X | 2 | +1.5✓ 80% | GG✗ 55% | +2.5✓ 58% |
| Mariehamn – HJK Helsinki 0–4Veikkausliiga · Finland · 23/06 19:00 · ☁ 16° | 1 | X | 2✓ 52% | +1.5✓ 75% | GG✗ 52% | +2.5✓ 51% |
| Dinamo Tbilisi – Dinamo Batumi 2–1Erovnuli Liga · Georgia · 23/06 19:00 | 1✓ 43% | X | 2 | +1.5✓ 75% | GG✓ 54% | +2.5✓ 51% |
| Großschwarzenlohe – Eichstätt 2–3Friendlies Clubs · World · 23/06 19:00 | 1 | X | 2✓ 94% | +1.5✓ 96% | GG | +2.5✓ 89% |
| Buchbach – 1. FC PassauFriendlies Clubs · World · 23/06 19:30 | 141% | X | 2 | +1.592% | GG77% | +2.579% |
| Cabofriense – Bonsucesso 0–0Copa Rio · Brazil · 23/06 19:45 | 1 | X | 2✗ 77% | +1.5✗ 91% | GG✗ 60% | +2.5✗ 76% |
| Olaria – Duque de Caxias 4–0Copa Rio · Brazil · 23/06 19:45 | 1✓ 55% | X | 2 | +1.5✓ 83% | GG✗ 60% | +2.5✓ 62% |
| Pérolas Negras – Santa Cruz RJ 5–1Copa Rio · Brazil · 23/06 19:45 | 1✓ 91% | X | 2 | +1.5✓ 99% | GG✓ 69% | +2.5✓ 95% |
| Cruzeiro U20 – América Mineiro U20 2–2Brasileiro U20 A · Brazil · 23/06 20:00 | 1✗ 61% | X | 2 | +1.5✓ 85% | GG✓ 61% | +2.5✓ 66% |
| Grêmio U20 – Bahia U20 4–0Brasileiro U20 A · Brazil · 23/06 20:00 | 1 | X | 2✗ 47% | +1.5✓ 81% | GG✗ 60% | +2.5✓ 59% |
| São Paulo U20 – Fortaleza U20 1–0Brasileiro U20 A · Brazil · 23/06 20:00 | 1✓ 40% | X | 2 | +1.5✗ 77% | GG✗ 57% | +2.5✗ 53% |
| Vitória U20 – Santos U20 1–2Brasileiro U20 A · Brazil · 23/06 20:00 | 1 | X | 2✓ 36% | +1.5✓ 70% | GG | +2.5 |
| America MG U17 – Sao Paulo U17 0–0Brasileiro U17 · Brazil · 23/06 20:00 | 1✗ 64% | X | 2 | +1.5✗ 89% | GG✗ 65% | +2.5✗ 72% |
| Athletico PR U17 – Internacional U17 3–2Brasileiro U17 · Brazil · 23/06 20:00 | 1✓ 73% | X | 2 | +1.5✓ 89% | GG✓ 59% | +2.5✓ 72% |
| Atletico GO U17 – Fortaleza U17 0–2Brasileiro U17 · Brazil · 23/06 20:00 | 1✗ 35% | X | 2 | +1.5✓ 71% | GG✗ 51% | +2.5 |
| Atlético Mineiro U17 – Palmeiras U17 3–4Brasileiro U17 · Brazil · 23/06 20:00 | 1 | X | 2✓ 72% | +1.5✓ 93% | GG✓ 68% | +2.5✓ 80% |
| Corinthians U17 – Botafogo U17 4–0Brasileiro U17 · Brazil · 23/06 20:00 | 1✓ 80% | X | 2 | +1.5✓ 80% | GG | +2.5✓ 58% |
| Fluminense U17 – RB Bragantino U17 2–0Brasileiro U17 · Brazil · 23/06 20:00 | 1✓ 45% | X | 2 | +1.5✓ 88% | GG✗ 70% | +2.5✗ 71% |
| Juventude U17 – Cruzeiro U17 2–1Brasileiro U17 · Brazil · 23/06 20:00 | 1 | X | 2✗ 64% | +1.5✓ 84% | GG✓ 57% | +2.5✓ 63% |
| Santos U17 – Gremio U17 0–1Brasileiro U17 · Brazil · 23/06 20:00 | 1✗ 66% | X | 2 | +1.5✗ 88% | GG✗ 63% | +2.5✗ 71% |
| Vasco U17 – Flamengo RJ U17 1–1Brasileiro U17 · Brazil · 23/06 20:00 | 1✗ 54% | X | 2 | +1.5✓ 66% | GG | +2.5 |
| Ezeiza – Uribelarrea 0–0Torneo Promocional Amateur · Argentina · 23/06 20:30 | 1 | X | 2✗ 61% | +1.5✗ 59% | GG | +2.5 |
| Cuiabá U20 – Juventude U20 2–0Brasileiro U20 A · Brazil · 23/06 21:00 | 1✓ 54% | X | 2 | +1.5✓ 79% | GG✗ 56% | +2.5✗ 57% |
| Sporting JAX W – TLH Reckoning WUSL W League · USA · 23/06 21:00 | 1 | X | 241% | +1.559% | GG | +2.5 |
| Coquimbo Unido – Deportes Limache 1–1Copa Chile · Chile · 23/06 21:00 · ☀ 16° | 1 | X | 2✗ 42% | +1.5✓ 92% | GG✓ 76% | +2.5✗ 78% |
| England – Ghana 0–0World Cup · World · 23/06 22:00 · 🌦 19° | 1✗ 63% | X | 2 | +1.5✗ 93% | GG✗ 73% | +2.5✗ 80% |
| Wake – Charlotte Independence 2 0–4USL League Two · USA · 23/06 22:30 | 1 | X | 2✓ 84% | +1.5✓ 89% | GG | +2.5✓ 72% |
| Union Macomb W – Kalamazoo FC WUSL W League · USA · 23/06 22:30 | 164% | X | 2 | +1.551% | GG | +2.5 |
| Vitória ES – Vilavelhense 0–0Copa Espírito Santo · Brazil · 23/06 23:45 · ☀ 23° | 1✗ 61% | X | 2 | +1.5✗ 85% | GG✗ 61% | +2.5✗ 66% |
| Northern Indiana – Kings Hammer Columbus 2–1USL League Two · USA · 24/06 00:00 | 1✓ 64% | X | 2 | +1.5✓ 70% | GG | +2.5 |
| Pittsburgh Riverhounds 2 – Akron City 2–1USL League Two · USA · 24/06 00:00 | 1✓ 58% | X | 2 | +1.5✓ 81% | GG✓ 56% | +2.5✓ 59% |
| Steel City W – Erie Sports Center WUSL W League · USA · 24/06 00:00 | 168% | X | 2 | +1.561% | GG | +2.5 |
| Mamoré – Caldense 1–0Mineiro – 2 · Brazil · 24/06 00:00 | 1✓ 37% | X | 2 | +1.5✗ 63% | GG | +2.5 |
| Port City – SC United Bantams 1–2USL League Two · USA · 24/06 00:30 | 1 | X | 2✓ 51% | +1.5✓ 90% | GG✓ 72% | +2.5✓ 75% |
| Chattanooga Red Wolves W – SSA Royals WUSL W League · USA · 24/06 00:30 | 135% | X | 2 | +1.566% | GG | +2.5 |
| Uberaba – Guarani MG 2–1Mineiro – 2 · Brazil · 24/06 00:30 | 1✓ 41% | X | 2 | +1.5 | GG | +2.5 |
| Resende – SE Belford Roxo 8–1Copa Rio · Brazil · 24/06 00:30 | 1✓ 77% | X | 2 | +1.5✓ 91% | GG✓ 60% | +2.5✓ 76% |
| Panama – Croatia 0–1World Cup · World · 24/06 01:00 | 1✗ 62% | X | 2 | +1.5✗ 92% | GG✗ 72% | +2.5✗ 79% |
| America Mineiro – Criciuma 0–1Serie B · Brazil · 24/06 01:00 · ⛅ 19° | 1 | X | 2✓ 48% | +1.5✗ 66% | GG | +2.5 |
| Blackwatch Rush – Western Mass Pioneers 4–3USL League Two · USA · 24/06 01:00 | 1 | X | 2✗ 54% | +1.5✓ 81% | GG✓ 58% | +2.5✓ 59% |
| Black Rock – AC Connecticut 2–1USL League Two · USA · 24/06 01:00 | 1✓ 59% | X | 2 | +1.5✓ 80% | GG✓ 55% | +2.5✓ 58% |
| Boston City – Vermont Green 1–4USL League Two · USA · 24/06 01:00 | 1 | X | 2✓ 79% | +1.5✓ 90% | GG✓ 56% | +2.5✓ 75% |
| Nona – Brooke House 5–0USL League Two · USA · 24/06 01:00 | 1✓ 42% | X | 2 | +1.5✓ 55% | GG | +2.5 |
| North Carolina Fusion – Asheville City 1–2USL League Two · USA · 24/06 01:00 | 1 | X | 2✓ 67% | +1.5✓ 88% | GG✓ 63% | +2.5✓ 71% |
| Sporting Jax 2 – Shark Coast 1–1USL League Two · USA · 24/06 01:00 | 1✗ 42% | X | 2 | +1.5✓ 78% | GG✓ 57% | +2.5✗ 54% |
| Toledo Villa – Dayton Dutch Lions 0–1USL League Two · USA · 24/06 01:00 | 1 | X | 2✓ 41% | +1.5✗ 86% | GG✗ 67% | +2.5✗ 67% |
| Union Macomb – Lansing City 2–3USL League Two · USA · 24/06 01:00 | 1 | X | 2✓ 47% | +1.5✓ 93% | GG✓ 79% | +2.5✓ 81% |
| Eagle FC – PA Classics 0–3USL League Two · USA · 24/06 01:00 | 1 | X | 2✓ 41% | +1.5✓ 92% | GG✗ 76% | +2.5✓ 78% |
| Richmond Ivy W – Norfolk WUSL W League · USA · 24/06 01:00 | 144% | X | 2 | +1.574% | GG53% | +2.5 |
| Rochester W – Minnesota Aurora WUSL W League · USA · 24/06 01:00 | 1 | X | 244% | +1.574% | GG53% | +2.5 |
| Wake W – Carolina Ascent II WUSL W League · USA · 24/06 01:00 | 1 | X | 266% | +1.587% | GG61% | +2.569% |
| Knoxville W – Asheville City WUSL W League · USA · 24/06 01:00 | 1 | X | 256% | +1.585% | GG63% | +2.565% |
| River Light W – Edgewater Castle WUSL W League · USA · 24/06 01:00 | 170% | X | 2 | +1.590% | GG64% | +2.575% |
| Sioux Falls City W – Rockford Raptors WUSL W League · USA · 24/06 01:00 | 172% | X | 2 | +1.588% | GG59% | +2.571% |
| Valeriodoce – Ipatinga 1–1Mineiro – 2 · Brazil · 24/06 01:00 | 1✗ 83% | X | 2 | +1.5✓ 79% | GG | +2.5✗ 55% |
| Southern Soccer Academy – Montgomery United 4–0USL League Two · USA · 24/06 01:30 | 1✓ 79% | X | 2 | +1.5✓ 92% | GG✗ 61% | +2.5✓ 78% |
| Hill Country Lobos – Laredo Heat 0–5USL League Two · USA · 24/06 02:00 | 1 | X | 2✓ 51% | +1.5✓ 85% | GG✗ 64% | +2.5✓ 65% |
| Peoria – St. Louis Ambush 2–0USL League Two · USA · 24/06 02:30 | 1✓ 36% | X | 2 | +1.5✓ 80% | GG✗ 60% | +2.5✗ 58% |
| Delaware FC – Reading United 1–2USL League Two · USA · 24/06 02:30 | 1✗ 41% | X | 2 | +1.5✓ 88% | GG✓ 70% | +2.5✓ 71% |
| West Chester United – Ocean City Nor'easters 0–1USL League Two · USA · 24/06 02:30 | 1 | X | 2✓ 46% | +1.5✗ 85% | GG✗ 66% | +2.5✗ 66% |
| Lonestar II W – Lonestar San Antonio WUSL W League · USA · 24/06 02:30 | 186% | X | 2 | +1.590% | GG | +2.575% |
| Everton de Vina – U. Catolica 1–3Copa Chile · Chile · 24/06 02:30 | 1 | X | 2✓ 54% | +1.5✓ 93% | GG✓ 76% | +2.5✓ 80% |
| Palestino – A. Italiano 1–2Copa Chile · Chile · 24/06 02:30 | 1✗ 68% | X | 2 | +1.5✓ 87% | GG✓ 60% | +2.5✓ 69% |
| Midlakes United – Snohomish United 0–4USL League Two · USA · 24/06 03:30 | 1✗ 55% | X | 2 | +1.5✓ 90% | GG✗ 71% | +2.5✓ 75% |
| Stockton Cargo W – California Storm II WUSL W League · USA · 24/06 04:00 | 1 | X | 247% | +1.582% | GG62% | +2.561% |
| Colombia – Congo DR 1–0World Cup · World · 24/06 04:00 | 1✓ 59% | X | 2 | +1.5✗ 80% | GG✗ 55% | +2.5✗ 58% |
| Xi'an Ronghai – Tai'an Tiankuang 3–2League Two · China · 24/06 09:00 · ☁ 30° | 1 | X | 2✗ 39% | +1.5✓ 65% | GG | +2.5 |
| Deren – Central Stallions 2–0Premier League · Mongolia · 24/06 10:00 | 1✓ 48% | X | 2 | +1.5✓ 95% | GG✗ 81% | +2.5✗ 84% |
| Ružomberok – Malženice 1–0Friendlies Clubs · World · 24/06 11:00 | 1✓ 46% | X | 2 | +1.5✗ 96% | GG✗ 84% | +2.5✗ 88% |
| Charlestown City Blues – Cooks Hill United 2–2Northern NSW NPL · Australia · 24/06 12:00 | 1 | X | 2✗ 39% | +1.5✓ 88% | GG✓ 70% | +2.5✓ 71% |
| Slovácko – Vysočina Jihlava 1–2Friendlies Clubs · World · 24/06 12:00 | 1✗ 51% | X | 2 | +1.5✓ 82% | GG✓ 61% | +2.5✓ 61% |
| BIT – Shandong Taishan II 1–3League Two · China · 24/06 13:00 · 🌦 25° | 1 | X | 2✓ 49% | +1.5✓ 59% | GG | +2.5 |
| Ulaanbaatar – Khangarid 3–1Premier League · Mongolia · 24/06 13:00 | 1✓ 44% | X | 2 | +1.5✓ 95% | GG✓ 81% | +2.5✓ 84% |
| Jiangxi Liansheng – Shangyu Pterosaur 0–1League Two · China · 24/06 13:30 | 1✗ 51% | X | 2 | +1.5✗ 55% | GG | +2.5 |
| Shenzhen 2028 – Langfang Glory City 3–1League Two · China · 24/06 13:30 · ⛈ 28° | 1✓ 60% | X | 2 | +1.5✓ 85% | GG✓ 61% | +2.5✓ 65% |
| Yichun Grand Tiger – Wuhan Three Towns II 2–1League Two · China · 24/06 13:30 · 🌧 25° | 1✓ 42% | X | 2 | +1.5✓ 52% | GG | +2.5 |
| Chengdu Rongcheng II – Guangzhou Dandelion 0–0League Two · China · 24/06 14:00 · ☁ 24° | 1✗ 36% | X | 2 | +1.5✗ 62% | GG | +2.5 |
| Mjallby AIF – Halmstad 3–3Friendlies Clubs · World · 24/06 14:00 | 1✗ 69% | X | 2 | +1.5✓ 89% | GG✓ 62% | +2.5✓ 72% |
| Drukpa – Tensung 1–1Premier League · Bhutan · 24/06 14:00 | 1✗ 81% | X | 2 | +1.5✓ 76% | GG | +2.5✗ 52% |
| Botev Vratsa – Dunav RuseFriendlies Clubs · World · 24/06 14:00 | 1 | X | 248% | +1.583% | GG62% | +2.562% |
| Gornik Zabrze – Puszcza Niepołomice 3–0Friendlies Clubs · World · 24/06 14:00 | 1✓ 54% | X | 2 | +1.5✓ 89% | GG✗ 69% | +2.5✓ 72% |
| Gyori ETO FC – Universitatea ClujFriendlies Clubs · World · 24/06 14:00 | 1 | X | 263% | +1.583% | GG56% | +2.562% |
| Dukla Banská Bystrica – Tatran Prešov 0–0Friendlies Clubs · World · 24/06 14:00 | 1 | X | 2✗ 42% | +1.5✗ 84% | GG✗ 64% | +2.5✗ 63% |
| Yantra 2019 – Cherno More Varna 0–1Friendlies Clubs · World · 24/06 14:00 | 1 | X | 2✓ 80% | +1.5✗ 80% | GG | +2.5✗ 58% |
| Brinje-Grosuplje – Corvinul Hunedoara 1–0Friendlies Clubs · World · 24/06 14:00 | 1 | X | 2✗ 59% | +1.5✗ 84% | GG✗ 60% | +2.5✗ 64% |
| Al Ahed – Safa 4–1Premier League · Lebanon · 24/06 14:30 · ⛅ 27° | 1 | X | 2✗ 44% | +1.5✓ 74% | GG✓ 53% | +2.5 |
| Dodoma Jiji – JKT Tanzania 0–0Ligi kuu Bara · Tanzania · 24/06 15:00 | 1✗ 47% | X | 2 | +1.5✗ 65% | GG | +2.5 |
| Fountain Gate – Mashujaa 0–1Ligi kuu Bara · Tanzania · 24/06 15:00 | 1✗ 35% | X | 2 | +1.5✗ 59% | GG | +2.5 |
| KMC – Namungo 2–3Ligi kuu Bara · Tanzania · 24/06 15:00 · ☀ 25° | 1 | X✗ 35% | 2 | +1.5✓ 57% | GG | +2.5 |
| Mtibwa Sugar – Simba 0–3Ligi kuu Bara · Tanzania · 24/06 15:00 | 1 | X | 2✓ 48% | +1.5✓ 68% | GG | +2.5 |
| Pamba Jiji – Mbeya City 0–2Ligi kuu Bara · Tanzania · 24/06 15:00 | 1✗ 56% | X | 2 | +1.5✓ 70% | GG | +2.5 |
| Singida Black Stars – Tanzania Prisons 3–1Ligi kuu Bara · Tanzania · 24/06 15:00 · ⛅ 22° | 1✓ 56% | X | 2 | +1.5✓ 68% | GG | +2.5 |
| Tabora United – Coastal Union 1–1Ligi kuu Bara · Tanzania · 24/06 15:00 | 1✗ 52% | X | 2 | +1.5✓ 65% | GG | +2.5 |
| Young Africans – Azam 3–0Ligi kuu Bara · Tanzania · 24/06 15:00 | 1✓ 63% | X | 2 | +1.5✓ 78% | GG | +2.5✓ 54% |
| Shabab Al Sahel – Reyady Abaseya 3–0Premier League · Lebanon · 24/06 15:00 | 1✓ 41% | X | 2 | +1.5✓ 59% | GG | +2.5 |
| Paks – Szentlőrinc SE 3–3Friendlies Clubs · World · 24/06 15:00 | 1✗ 52% | X | 2 | +1.5✓ 82% | GG✓ 59% | +2.5✓ 60% |
| TB – HB II 1–21. Deild · Faroe-Islands · 24/06 16:00 | 1 | X | 2✓ 37% | +1.5✓ 79% | GG✓ 59% | +2.5✓ 57% |
| Avaí U20 – Athletico PR U20 0–2Brasileiro U20 A · Brazil · 24/06 16:00 | 1 | X | 2✓ 40% | +1.5✓ 77% | GG✗ 57% | +2.5✗ 53% |
| Al Ittihad – Hottin 4–0Premier League · Syria · 24/06 16:00 · ☀ 30° | 1✓ 58% | X | 2 | +1.5✓ 81% | GG✗ 56% | +2.5✓ 59% |
| Shorta – Al Wahda 1–1Premier League · Syria · 24/06 16:00 | 1 | X | 2✗ 46% | +1.5✓ 66% | GG | +2.5 |
| Al Shouleh – Omaya SC 0–1Premier League · Syria · 24/06 16:00 | 1 | X | 2✓ 37% | +1.5✗ 67% | GG | +2.5 |
| Al Taliya – Jabala 1–0Premier League · Syria · 24/06 16:00 | 1✓ 68% | X | 2 | +1.5✗ 74% | GG | +2.5 |
| Damascus Al-Ahli – Jaish 0–1Premier League · Syria · 24/06 16:00 | 1✗ 44% | X | 2 | +1.5✗ 59% | GG | +2.5 |
| Wathba – Foutoua 4–0Premier League · Syria · 24/06 16:00 | 1✓ 64% | X | 2 | +1.5✓ 70% | GG | +2.5 |
| Khan Shaykhun SC – Al Karama 1–1Premier League · Syria · 24/06 16:00 | 1 | X | 2✗ 46% | +1.5✓ 70% | GG | +2.5 |
| Tishreen – Horriya 1–1Premier League · Syria · 24/06 16:00 | 1✗ 47% | X | 2 | +1.5✓ 62% | GG | +2.5 |
| Dynamo Makhachkala U19 – Spartak Moskva U19 0–0Youth Championship · Russia · 24/06 16:00 | 1✗ 48% | X | 2 | +1.5✗ 80% | GG✗ 59% | +2.5✗ 58% |
| Vautour Club – Bitam 2–0Championnat D1 · Gabon · 24/06 16:30 | 1✓ 37% | X | 2 | +1.5✓ 67% | GG | +2.5 |
| Babrungas – Kauno Žalgiris II 0–01 Lyga · Lithuania · 24/06 17:00 | 1✗ 76% | X | 2 | +1.5✗ 68% | GG | +2.5 |
| Šiauliai – Džiugas Telšiai 2–1Cup · Lithuania · 24/06 17:00 | 1✓ 59% | X | 2 | +1.5✓ 86% | GG✓ 64% | +2.5✓ 68% |
| Dynamo Kyiv – Žilina 2–0Friendlies Clubs · World · 24/06 17:00 | 1✓ 51% | X | 2 | +1.5✓ 91% | GG✗ 74% | +2.5✗ 76% |
| Grazer AK – Slovan Bratislava 0–1Friendlies Clubs · World · 24/06 17:00 | 1✗ 62% | X | 2 | +1.5✗ 86% | GG✗ 61% | +2.5✗ 67% |
| Rosengård W – Djurgården W 4–1Damallsvenskan · Sweden · 24/06 18:00 | 1✓ 50% | X | 2 | +1.5✓ 73% | GG✓ 50% | +2.5 |
| Uppsala W – Häcken W 2–3Damallsvenskan · Sweden · 24/06 18:00 | 1 | X | 2✓ 38% | +1.5✓ 70% | GG | +2.5 |
| Gagra – Samgurali 0–0Erovnuli Liga · Georgia · 24/06 18:00 · ☁ 22° | 1✗ 49% | X | 2 | +1.5✗ 82% | GG✗ 61% | +2.5✗ 61% |
| Grebbestad – Kumla 2–1Division 2 – Norra Götaland · Sweden · 24/06 18:00 | 1✓ 43% | X | 2 | +1.5✓ 79% | GG✓ 58% | +2.5✓ 55% |
| BK Hacken – Hammarby FF 1–4Friendlies Clubs · World · 24/06 18:00 | 1✗ 47% | X | 2 | +1.5✓ 89% | GG✓ 71% | +2.5✓ 72% |
| Dainava – TransINVEST Vilnius 1–1Cup · Lithuania · 24/06 18:00 · ⛅ 20° | 1 | X | 2✗ 83% | +1.5✓ 99% | GG✓ 86% | +2.5✗ 97% |
| CSKA Sofia – Polessya 0–4Friendlies Clubs · World · 24/06 18:00 | 1 | X | 2✓ 42% | +1.5✓ 85% | GG✗ 67% | +2.5✓ 66% |
| FC Schweinfurt 05 – BSG Chemie Leipzig 1–1Friendlies Clubs · World · 24/06 18:00 | 1✗ 38% | X | 2 | +1.5✓ 86% | GG✓ 68% | +2.5✗ 68% |
| Weiz – First Vienna 2–6Friendlies Clubs · World · 24/06 18:00 | 1✗ 77% | X | 2 | +1.5✓ 72% | GG | +2.5 |
| Universitatea Craiova – Sabah FA 1–1Friendlies Clubs · World · 24/06 18:00 | 1✗ 40% | X | 2 | +1.5✓ 77% | GG✓ 57% | +2.5✗ 53% |
| AF Elbasani – SutjeskaFriendlies Clubs · World · 24/06 18:00 | 1 | X | 240% | +1.563% | GG | +2.5 |
| Freienbach – Rapperswil 1–3Friendlies Clubs · World · 24/06 18:30 | 1✗ 50% | X | 2 | +1.5✓ 95% | GG✓ 82% | +2.5✓ 86% |
| Bad Schallerbach – Lask Linz 0–6Friendlies Clubs · World · 24/06 18:30 | 1 | X | 2✓ 59% | +1.5✓ 80% | GG✗ 55% | +2.5✓ 58% |
| AIK W – Eskilstuna United W 1–0Damallsvenskan · Sweden · 24/06 19:00 | 1✓ 50% | X | 2 | +1.5✗ 65% | GG | +2.5 |
| Norrköping W – Vittsjö W 1–1Damallsvenskan · Sweden · 24/06 19:00 | 1✗ 39% | X | 2 | +1.5✓ 65% | GG | +2.5 |
| Växjö W – Brommapojkarna W 2–1Damallsvenskan · Sweden · 24/06 19:00 | 1✓ 55% | X | 2 | +1.5✓ 85% | GG✓ 64% | +2.5✓ 66% |
| Gamle Oslo – Lokomotiv Oslo 6–13. Division – Girone 1 · Norway · 24/06 19:00 | 1✓ 65% | X | 2 | +1.5✓ 99% | GG✓ 89% | +2.5✓ 95% |
| Karlberg – Piteå 3–1Ettan – Norra · Sweden · 24/06 19:00 | 1 | X | 2✗ 41% | +1.5✓ 79% | GG✓ 58% | +2.5✓ 55% |
| Lilla Torg – Torns 4–0Division 2 – Södra Götaland · Sweden · 24/06 19:00 | 1✓ 45% | X | 2 | +1.5✓ 84% | GG✗ 64% | +2.5✓ 63% |
| Västra Frölunda – Qviding FIF 5–0Division 2 – Västra Götaland · Sweden · 24/06 19:00 | 1 | X | 2✗ 39% | +1.5✓ 90% | GG✗ 73% | +2.5✓ 74% |
| Kubikenborg – Fransta 3–0Division 2 – Norrland · Sweden · 24/06 19:00 | 1✓ 66% | X | 2 | +1.5✓ 93% | GG✗ 73% | +2.5✓ 81% |
| Tasmania Berlin – BFC Preussen 1–4Friendlies Clubs · World · 24/06 19:00 | 1✗ 44% | X | 2 | +1.5✓ 81% | GG✓ 61% | +2.5✓ 59% |
| Angby – EnskedeDivision 2 – Norra Svealand · Sweden · 24/06 19:30 | 150% | X | 2 | +1.575% | GG53% | +2.551% |
| Lindo FF – SmedbyDivision 2 – Södra Svealand · Sweden · 24/06 19:30 | 1 | X | 247% | +1.592% | GG75% | +2.578% |
| NSI Runavik – KI KlaksvikLøgmanssteypid · Faroe-Islands · 24/06 19:30 | 143% | X | 2 | +1.595% | GG83% | +2.586% |
| América RJ – CEAC / AraruamaCarioca A2 · Brazil · 24/06 19:45 | 148% | X | 2 | +1.577% | GG55% | +2.553% |
| América RJ – GoytacazCopa Rio · Brazil · 24/06 19:45 | 173% | X | 2 | +1.592% | GG66% | +2.579% |
| Blumenau – CaravaggioCatarinense – 2 · Brazil · 24/06 20:00 | 1 | X | 245% | +1.582% | GG62% | +2.561% |
| Coimbra – AymorésMineiro – 2 · Brazil · 24/06 20:00 | 167% | X | 2 | +1.566% | GG | +2.5 |
| Al Ansar – Jwaaya FCPremier League · Lebanon · 24/06 20:30 · ⛅ 25° | 140% | X | 2 | +1.575% | GG55% | +2.551% |
| Americano Bacabal – TupanMaranhense – 2 · Brazil · 24/06 20:30 | 139% | X | 2 | +1.565% | GG | +2.5 |
| Glentoran – The New SaintsFriendlies Clubs · World · 24/06 20:30 | 1 | X | 243% | +1.577% | GG56% | +2.553% |
| Switzerland – CanadaWorld Cup · World · 24/06 21:00 · ☀ 28° | 140% | X | 2 | +1.594% | GG80% | +2.583% |
| Cleveland Force – BuffaloUSL League Two · USA · 24/06 21:00 | 1 | X | 264% | +1.593% | GG73% | +2.580% |
| Bosnia & Herzegovina – QatarWorld Cup · World · 24/06 21:00 · ☀ 27° | 174% | X | 2 | +1.596% | GG75% | +2.588% |
| Fylkir – AftureldingCup · Iceland · 24/06 21:15 | 165% | X | 2 | +1.596% | GG79% | +2.587% |
| NY Cosmos – TormentaUSL League One · USA · 24/06 22:00 | 141% | X | 2 | +1.582% | GG62% | +2.560% |
| Fort Lauderdale Utd II W – Miami City WUSL W League · USA · 24/06 22:00 | 156% | X | 2 | +1.590% | GG72% | +2.575% |
| D. La Serena – CobresalCopa Chile · Chile · 24/06 22:00 · ☀ 14° | 1 | X | 250% | +1.594% | GG80% | +2.583% |
| Northern Virginia FC W – Eagle FC WUSL W League · USA · 24/06 23:00 | 1 | X | 272% | +1.585% | GG53% | +2.565% |
| Morocco – HaitiWorld Cup · World · 25/06 00:00 · ☁ 29° | 164% | X | 2 | +1.577% | GG | +2.553% |
| Scotland – BrazilWorld Cup · World · 25/06 00:00 · ⛈ 29° | 1 | X | 261% | +1.559% | GG | +2.5 |
| Colorado ISA – Albion ColoradoUSL League Two · USA · 25/06 00:00 | 1 | X | 279% | +1.592% | GG61% | +2.578% |
| Louisville City II – West Virginia AllianceUSL League Two · USA · 25/06 00:00 | 140% | X | 2 | +1.586% | GG68% | +2.568% |
| NC Courage II W – SC United Bantams WUSL W League · USA · 25/06 00:00 | 178% | X | 2 | +1.593% | GG64% | +2.581% |
| Charlotte Eagles II W – Tormenta WUSL W League · USA · 25/06 00:00 | 150% | X | 2 | +1.575% | GG53% | +2.551% |
| Charlottesville Blues W – Virginia Beach United WUSL W League · USA · 25/06 00:00 | 1 | X | 269% | +1.573% | GG | +2.5 |
| Port City NC W – North Carolina Fusion WUSL W League · USA · 25/06 00:30 | 164% | X | 2 | +1.577% | GG | +2.553% |
| Democrata SL – Villa NovaMineiro – 2 · Brazil · 25/06 00:30 | 135% | X | 2 | +1.571% | GG51% | +2.5 |
| Charleston Battery – Loudoun UnitedUSL Championship · USA · 25/06 01:00 | 168% | X | 2 | +1.580% | GG | +2.558% |
| Miami FC – Orange County SCUSL Championship · USA · 25/06 01:00 | 1 | X | 240% | +1.584% | GG64% | +2.563% |
| Portland Hearts of Pine – Richmond KickersUSL League One · USA · 25/06 01:00 | 151% | X | 2 | +1.572% | GG | +2.5 |
| Erie Sports Center – Steel CityUSL League Two · USA · 25/06 01:00 | 1 | X | 271% | +1.590% | GG62% | +2.574% |
| Miami AC – FC Miami CityUSL League Two · USA · 25/06 01:00 | 140% | X | 2 | +1.595% | GG83% | +2.586% |
| Ballard – West Seattle JunctionUSL League Two · USA · 25/06 01:00 | 177% | X | 2 | +1.590% | GG58% | +2.575% |
| Santafé Wanderers – Sunflower StateUSL League Two · USA · 25/06 01:00 | 143% | X | 2 | +1.568% | GG | +2.5 |
| AFC Ann Arbor – Flint City BucksUSL League Two · USA · 25/06 01:00 | 1 | X | 248% | +1.584% | GG64% | +2.564% |
| The Villages – Inter GainesvilleUSL League Two · USA · 25/06 01:00 | 158% | X | 2 | +1.562% | GG | +2.5 |
| Connecticut Rush – New England FCUSL League Two · USA · 25/06 01:00 | 1 | X | 252% | +1.587% | GG68% | +2.570% |
| Inter Miami II – WestonUSL League Two · USA · 25/06 01:00 | 150% | X | 2 | +1.573% | GG50% | +2.5 |
| Hickory – Tobacco RoadUSL League Two · USA · 25/06 01:00 | 1 | X | 251% | +1.596% | GG83% | +2.587% |
| Kalamazoo FC – Midwest UnitedUSL League Two · USA · 25/06 01:00 | 1 | X | 256% | +1.592% | GG74% | +2.578% |
| Patuxent – Loudoun 2USL League Two · USA · 25/06 01:00 | 1 | X | 268% | +1.593% | GG71% | +2.580% |
| Real Central New Jersey – Lehigh Valley UnitedUSL League Two · USA · 25/06 01:00 | 143% | X | 2 | +1.595% | GG81% | +2.584% |
| Colorado Storm – Real Colorado FoxesUSL League Two · USA · 25/06 01:00 | 159% | X | 2 | +1.589% | GG69% | +2.573% |
| Cleveland Force W – Flower City 1872 WUSL W League · USA · 25/06 01:00 | 144% | X | 2 | +1.588% | GG71% | +2.571% |
| Dayton Dutch Lions W – Racing Louisville WUSL W League · USA · 25/06 01:00 | 140% | X | 2 | +1.561% | GG | +2.5 |
| Long Island Rough Riders W – Cedar Stars WUSL W League · USA · 25/06 01:00 | 177% | X | 2 | +1.599% | GG90% | +2.597% |
| Indy Eleven W – Toledo Villa WUSL W League · USA · 25/06 01:00 | 188% | X | 2 | +1.593% | GG51% | +2.581% |
| Detroit City W – Midwest United WUSL W League · USA · 25/06 01:00 | 1 | X | 238% | +1.579% | GG59% | +2.555% |
| Buffalo W – Pittsburgh Riveters WUSL W League · USA · 25/06 01:00 | 1 | X | 257% | +1.584% | GG61% | +2.564% |
| Loudoun United FC W – Lancaster Inferno WUSL W League · USA · 25/06 01:00 | 1 | X | 268% | +1.589% | GG64% | +2.573% |
| Annapolis Blues W – Virginia Development Academy WUSL W League · USA · 25/06 01:00 | 1 | X | 257% | +1.582% | GG58% | +2.560% |
| Bethesda SC – Annapolis BluesUSL League Two · USA · 25/06 01:30 | 1 | X | 247% | +1.587% | GG68% | +2.569% |
| Ironbound – FC Motown IIUSL League Two · USA · 25/06 01:30 | 1 | X | 245% | +1.582% | GG62% | +2.561% |
| Morris Elite – New Jersey CopaUSL League Two · USA · 25/06 01:30 | 1 | X | 249% | +1.591% | GG74% | +2.576% |
| Westchester Flames – Hudson Valley HammersUSL League Two · USA · 25/06 01:30 | 141% | X | 2 | +1.596% | GG84% | +2.587% |
| Charlotte Independence – Greenville TriumphUSL League One Cup · USA · 25/06 01:30 | 164% | X | 2 | +1.589% | GG65% | +2.572% |
| Manhattan W – Morris Elite WUSL W League · USA · 25/06 01:30 | 1 | X | 279% | +1.596% | GG72% | +2.588% |
| Concepción – HuachipatoCopa Chile · Chile · 25/06 01:30 | 146% | X | 2 | +1.572% | GG51% | +2.5 |
| Union La Calera – Universidad de ChileCopa Chile · Chile · 25/06 01:30 · ☀ 11° | 1 | X | 273% | +1.592% | GG66% | +2.579% |
| Evergreen – Hill CityUSL League Two · USA · 25/06 01:45 | 152% | X | 2 | +1.595% | GG80% | +2.584% |
| Colorado Springs – San AntonioUSL Championship · USA · 25/06 02:00 · ☀ 20° | 149% | X | 2 | +1.581% | GG60% | +2.559% |
| Davis Legacy – Project 51OUSL League Two · USA · 25/06 02:00 | 1 | X | 255% | +1.595% | GG80% | +2.584% |
| GFI – Brazos ValleyUSL League Two · USA · 25/06 02:00 | 173% | X | 2 | +1.594% | GG71% | +2.583% |
| Houston Sur – AHFC RoyalsUSL League Two · USA · 25/06 02:00 | 1 | X | 270% | +1.594% | GG72% | +2.582% |
| Lubbock Matadors – McKinney ChupacabrasUSL League Two · USA · 25/06 02:00 | 139% | X | 2 | +1.589% | GG72% | +2.572% |
| Minneapolis City – RKCUSL League Two · USA · 25/06 02:00 | 184% | X | 2 | +1.588% | GG | +2.571% |
| Rockford Raptors – Edgewater CastleUSL League Two · USA · 25/06 02:00 | 151% | X | 2 | +1.589% | GG70% | +2.572% |
| Sueno – River LightUSL League Two · USA · 25/06 02:00 | 172% | X | 2 | +1.595% | GG75% | +2.586% |
| Charlottesville Blues – LionsbridgeUSL League Two · USA · 25/06 02:00 | 1 | X | 250% | +1.580% | GG58% | +2.558% |
| Mississippi Brilla – Memphis 901USL League Two · USA · 25/06 02:00 | 149% | X | 2 | +1.582% | GG61% | +2.561% |
| Challenge W – AHFC Royals WUSL W League · USA · 25/06 02:00 | 1 | X | 263% | +1.578% | GG | +2.554% |
| Rally Madison FC W – RKC Third Coast WUSL W League · USA · 25/06 02:00 | 149% | X | 2 | +1.579% | GG58% | +2.557% |
| Corpus Christi – AltaUSL League One · USA · 25/06 02:30 | 142% | X | 2 | +1.578% | GG57% | +2.554% |
| West Texas – Fort Worth VaquerosUSL League Two · USA · 25/06 02:30 | 166% | X | 2 | +1.572% | GG | +2.5 |
| CAP – BOAMineiro – 2 · Brazil · 25/06 02:30 | 1 | X | 247% | +1.559% | GG | +2.5 |
| South Africa – South KoreaWorld Cup · World · 25/06 03:00 · ☀ 29° | 1 | X | 247% | +1.559% | GG | +2.5 |
| Spokane Velocity – Westchester SCUSL League One · USA · 25/06 03:00 | 166% | X | 2 | +1.577% | GG | +2.553% |
| Marin – Sportivo San JuanUSL League Two · USA · 25/06 03:00 | 1 | X | 242% | +1.596% | GG85% | +2.588% |
| Lonestar – San Antonio FC 2USL League Two · USA · 25/06 03:00 | 166% | X | 2 | +1.588% | GG63% | +2.571% |
| Colorado ISA W – Albion Colorado WUSL W League · USA · 25/06 03:00 | 149% | X | 2 | +1.594% | GG79% | +2.583% |
| Sta Clarita Blue Heat W – OC Sporting WUSL W League · USA · 25/06 03:00 | 179% | X | 2 | +1.590% | GG56% | +2.575% |
| Czechia – MexicoWorld Cup · World · 25/06 03:00 | 135% | X | 2 | +1.571% | GG51% | +2.5 |
| Los Angeles FC II – Minnesota United IIMLS Next Pro · USA · 25/06 04:00 | 149% | X | 2 | +1.581% | GG60% | +2.559% |
| Academica – San Francisco CityUSL League Two · USA · 25/06 04:00 | 1 | X | 274% | +1.598% | GG82% | +2.592% |
| Ventura County Fusion – SeahorsesUSL League Two · USA · 25/06 04:00 | 168% | X | 2 | +1.574% | GG | +2.5 |
| Pleasanton Rage W – San Juan SC WUSL W League · USA · 25/06 04:00 | 136% | X | 2 | +1.580% | GG60% | +2.558% |
| West Seattle Rhodies W – Olympia WUSL W League · USA · 25/06 04:00 | 180% | X | 2 | +1.590% | GG55% | +2.575% |
| AMSG W – Los Angeles SC WUSL W League · USA · 25/06 04:00 | 1 | X | 270% | +1.592% | GG67% | +2.578% |
| Colorado Storm W – Real Colorado WUSL W League · USA · 25/06 04:00 | 1 | X | 243% | +1.598% | GG90% | +2.594% |
| Bigfoot W – Portland Cherry Bombs FC WUSL W League · USA · 25/06 04:00 | 1 | X | 254% | +1.578% | GG54% | +2.554% |
| Stars FC – City SCUSL League Two · USA · 25/06 04:30 | 141% | X | 2 | +1.592% | GG77% | +2.579% |
| Salmon Bay W – Tacoma Galaxy WUSL W League · USA · 25/06 04:30 | 179% | X | 2 | +1.588% | GG52% | +2.571% |
| Khovd – HuntersPremier League · Mongolia · 25/06 10:00 | 1 | X | 266% | +1.596% | GG81% | +2.589% |
| Khoromkhon – Ulaangom CityPremier League · Mongolia · 25/06 13:00 | 153% | X | 2 | +1.599% | GG93% | +2.597% |
| Sport Academy Kairat – Khan Tengri1. Division · Kazakhstan · 25/06 14:00 | 170% | X | 2 | +1.583% | GG52% | +2.562% |
| Yelimay Semey 2 – Turan Turkistan1. Division · Kazakhstan · 25/06 14:00 | 1 | X | 263% | +1.584% | GG58% | +2.564% |
| GKS Katowice – Świt SkolwinFriendlies Clubs · World · 25/06 14:00 | 142% | X | 2 | +1.586% | GG68% | +2.568% |
| FC Orenburg – FK NeftekhimikFriendlies Clubs · World · 25/06 14:00 | 149% | X | 2 | +1.579% | GG58% | +2.557% |
| FC Botosani – DunfermlineFriendlies Clubs · World · 25/06 14:00 | 145% | X | 2 | +1.561% | GG | +2.5 |
| FC Krasnodar – PSK DinskayaFriendlies Clubs · World · 25/06 14:00 | 176% | X | 2 | +1.586% | GG51% | +2.567% |
| Al Nejmeh – Tadamon SourPremier League · Lebanon · 25/06 14:30 | 161% | X | 2 | +1.559% | GG | +2.5 |
| Aktobe Jas – Arys1. Division · Kazakhstan · 25/06 15:00 | 145% | X | 2 | +1.588% | GG70% | +2.571% |
| Jaiyq – Akademiya Ontustik1. Division · Kazakhstan · 25/06 15:00 | 1 | X | 248% | +1.582% | GG61% | +2.560% |
| Kaspij Aktau 2 – Tobol 21. Division · Kazakhstan · 25/06 15:00 | 165% | X | 2 | +1.578% | GG | +2.554% |
| Grobiņa – AudaVirsliga · Latvia · 25/06 16:00 | 1 | X | 254% | +1.570% | GG | +2.5 |
| Bjørkelangen – Sarpsborg 08 II3. Division – Girone 6 · Norway · 25/06 17:00 | 1 | X | 254% | +1.595% | GG80% | +2.585% |
| BFC Daugavpils – RigaVirsliga · Latvia · 25/06 17:00 | 1 | X | 261% | +1.582% | GG55% | +2.560% |
| FK Crvena Zvezda – SKU AmstettenFriendlies Clubs · World · 25/06 17:30 | 155% | X | 2 | +1.586% | GG65% | +2.568% |
| Piteå W – Hammarby WDamallsvenskan · Sweden · 25/06 18:00 | 1 | X | 258% | +1.567% | GG | +2.5 |
| Åsane II – Os3. Division – Girone 3 · Norway · 25/06 18:00 | 140% | X | 2 | +1.590% | GG74% | +2.575% |
| Staal Jørpeland – Hinna3. Division – Girone 4 · Norway · 25/06 18:00 | 158% | X | 2 | +1.594% | GG78% | +2.584% |
| Våg – Viking II3. Division – Girone 4 · Norway · 25/06 18:00 | 143% | X | 2 | +1.577% | GG56% | +2.553% |
| FC jazz – Tampere UnitedYkkönen · Finland · 25/06 18:00 | 1 | X | 272% | +1.580% | GG | +2.558% |
| JJK – Inter Turku IIYkkönen · Finland · 25/06 18:00 | 145% | X | 2 | +1.592% | GG76% | +2.578% |
| Al Fahaheel – Al QadsiaPremier League · Kuwait · 25/06 18:05 | 1 | X | 243% | +1.563% | GG | +2.5 |
| Strindheim – Melhus3. Division – Girone 2 · Norway · 25/06 19:00 | 1 | X | 247% | +1.593% | GG78% | +2.580% |
| Austevoll – Fyllingsdalen3. Division – Girone 3 · Norway · 25/06 19:00 | 155% | X | 2 | +1.593% | GG77% | +2.581% |
| IFK Skövde – LidköpingDivision 2 – Norra Götaland · Sweden · 25/06 19:00 | 152% | X | 2 | +1.586% | GG66% | +2.568% |
| Nyköping – Nacka IliriaDivision 2 – Södra Svealand · Sweden · 25/06 19:00 | 171% | X | 2 | +1.579% | GG | +2.555% |
| Galtabacks – BöljanDivision 2 – Västra Götaland · Sweden · 25/06 19:00 | 143% | X | 2 | +1.579% | GG58% | +2.555% |
| Super Nova – FS JelgavaVirsliga · Latvia · 25/06 19:00 · ⛅ 21° | 138% | X | 2 | +1.575% | GG55% | +2.551% |
| Renaissance Berkane – FAR RabatBotola Pro · Morocco · 25/06 19:00 | 1 | X | 235% | +1.563% | GG | +2.5 |
| CODM Meknès – Hassania AgadirBotola Pro · Morocco · 25/06 19:00 · ☁ 25° | 144% | X | 2 | +1.562% | GG | +2.5 |
| Olympique Dcheïra – Ittihad TangerBotola Pro · Morocco · 25/06 19:00 · ☀ 23° | 1 | X | 247% | +1.562% | GG | +2.5 |
| Kawkab Marrakech – FUS RabatBotola Pro · Morocco · 25/06 19:00 | 142% | X | 2 | +1.567% | GG | +2.5 |
| CR Khemis Zemamra – Olympique SafiBotola Pro · Morocco · 25/06 19:00 · ⛅ 23° | 138% | X | 2 | +1.559% | GG | +2.5 |
| UTS Rabat – Difaa EL JadidaBotola Pro · Morocco · 25/06 19:00 · ⛅ 23° | 1 | X | 237% | +1.561% | GG | +2.5 |
| Wydad AC – Maghreb FèsBotola Pro · Morocco · 25/06 19:00 · ⛅ 23° | 1 | X35% | 2 | +1.558% | GG | +2.5 |
| Yacoub El Mansour – Raja CasablancaBotola Pro · Morocco · 25/06 19:00 · ⛅ 23° | 1 | X | 245% | +1.569% | GG | +2.5 |
| Konnerud – IF Ready3. Division – Girone 1 · Norway · 25/06 19:30 | 1 | X | 243% | +1.592% | GG77% | +2.579% |
| Brumunddal – Gjøvik-Lyn3. Division – Girone 6 · Norway · 25/06 19:30 | 1 | X | 256% | +1.585% | GG63% | +2.565% |
| Vikingur Gota – HB TorshavnLøgmanssteypid · Faroe-Islands · 25/06 19:30 · ⛅ 23° | 167% | X | 2 | +1.593% | GG71% | +2.580% |
| Al Kuwait – KazmaPremier League · Kuwait · 25/06 19:45 · ☀ 37° | 161% | X | 2 | +1.578% | GG51% | +2.554% |
| Helges – SunnerstaDivision 2 – Norra Svealand · Sweden · 25/06 20:00 | 1 | X | 266% | +1.586% | GG59% | +2.567% |
| Corinthians U20 – Flamengo U20Brasileiro U20 A · Brazil · 25/06 20:00 | 139% | X | 2 | +1.582% | GG62% | +2.560% |
| Fluminense U20 – Palmeiras U20Brasileiro U20 A · Brazil · 25/06 20:00 | 1 | X | 263% | +1.585% | GG60% | +2.566% |
| RB Bragantino U20 – Botafogo U20Brasileiro U20 A · Brazil · 25/06 20:00 | 144% | X | 2 | +1.590% | GG74% | +2.575% |
| Vasco da Gama U20 – Criciuma U20Brasileiro U20 A · Brazil · 25/06 20:00 | 172% | X | 2 | +1.582% | GG | +2.560% |
| Bahia U17 – Vitoria U17Brasileiro U17 · Brazil · 25/06 20:00 | 150% | X | 2 | +1.573% | GG50% | +2.5 |
| América-SP U20 – Ponte Preta U20Paulista – U20 · Brazil · 25/06 20:00 | 1 | X | 244% | +1.588% | GG71% | +2.571% |
| Al Hikma – Al MabarrahPremier League · Lebanon · 25/06 20:30 | 151% | X | 2 | +1.570% | GG | +2.5 |
| Araioses – ExpressinhoMaranhense – 2 · Brazil · 25/06 20:30 | 156% | X | 2 | +1.574% | GG | +2.5 |
| Al Salmiyah – Al ArabiPremier League · Kuwait · 25/06 20:45 | 1 | X | 237% | +1.569% | GG | +2.5 |
| Breidablik – Vikingur ReykjavikÚrvalsdeild · Iceland · 25/06 21:15 | 1 | X | 247% | +1.593% | GG78% | +2.580% |
| Curaçao – Ivory CoastWorld Cup · World · 25/06 22:00 · ☀ 30° | 1 | X | 259% | +1.586% | GG64% | +2.568% |
| Ecuador – GermanyWorld Cup · World · 25/06 22:00 | 1 | X | 265% | +1.588% | GG64% | +2.571% |
*Odds correct as of date published, prices subject to change, check 1XBET for actual odds.


What Mathematical Football Prediction Actually Means
People hear “mathematical model” and picture a black box that spits out winners. The reality is more boring. A decent model takes every match a team has played, weighs the quality of their opponents, adjusts for home advantage, and then estimates a probability for each scoreline. Poisson distributions, Elo-style ratings, and xG (expected goals) are the three building blocks most public models use.
The model doesn’t care about your favourite club. That’s its main advantage. The variables that matter most in my own workflow:
- Expected goals for and against, ideally over the last 8 to 12 matches
- Goalkeeper status (a backup keeper can swing the line by 0.3 goals)
- Travel and rest days, especially in midweek European fixtures
- Referee tendencies for cards and penalty calls
- Weather, but only for under/over markets in winter rounds
None of these guarantee a win. They shift probabilities, and probabilities are all you have when you’re betting.
Spotting Must-Win Teams Today
What makes a team a “must-win”?
A must-win isn’t just the favourite. It’s a team where the situation, the form and the opponent line up. Think Bayern at home against a newly promoted side in October. Or Real Madrid hosting a mid-table La Liga club the weekend before a Champions League knockout, where the bookies still price them at short odds and the model agrees.
The four things I check before calling a side a genuine must-win:
- Form: at least 4 wins in their last 6, ideally with clean sheets
- Opposition trouble: missing a key defender, on a bad run, or just travelled across Europe
- Home record: many teams are completely different sides at home, and the gap is bigger than people think
- Motivation: title race, top-four push, or a derby that the squad won’t take lightly
How to use must-win picks without blowing your bankroll
The mistake I made for years was stacking five “must-wins” into an accumulator. One late equaliser kills the slip every single time. What works better:
Singles on the highest-confidence pick of the day. Boring, but the maths is on your side. Two-fold accas when two picks each clear 70% in the model, which gives roughly 50% combined and decent returns at the typical 1.40-1.60 acca price. Asian handicap -1 if the favourite is too short for a straight win but the model expects a comfortable scoreline. I almost never touch 4+ accumulators on must-wins. The variance eats you alive.
Daily picks, not daily nonsense
Every day at Forwins we publish the matches our model rates highest, with the probability for each market shown next to the tip. If the number is below 70% on a 1X2 pick, we don’t post it. If you only see two or three matches on a quiet Tuesday, that’s the point.
⚠️ Bet responsibly. Stake what you can afford to lose. If betting stops being fun, stop.
Over 2.5 Predictions: What Most People Get Wrong
Over 2.5 means three or more goals in the match. Simple market, simple rule. The bit people miss is that “both teams score a lot” doesn’t automatically mean over 2.5 hits. You need pace and chance creation, not just two leaky defences.
A useful rule of thumb: if the combined xG for the fixture sits above 2.8 and neither side has parked the bus in their last five league games, over 2.5 is usually live. Bayer Leverkusen and Stuttgart games in 2024-25 are the textbook example. Two attacking sides, both pressing high, with combined goal totals north of 3 in most weeks.
Where it goes wrong:
- Big derbies. Tactically tight, lots of yellow cards, fewer chances than the season average suggests
- Wet pitches and December rounds in Northern Europe
- Sides that have just played a Europa or Champions League midweek game and rotated
The Draw: Underrated and Often Mispriced
Most casual bettors never touch the X. That’s exactly why there’s value in it. Draws are statistically the rarest of the three 1X2 outcomes in most leagues (around 24-28% in the top five European leagues), but when the model and the situation point to one, the typical 3.20-3.60 price is generous.
Where draws cluster:
- Teams within 2-3 points of each other in the table
- Matches between defensive sides with low xG totals (think Atletico Madrid vs Real Sociedad)
- End-of-season fixtures where both teams are already safe
Serie A produces more draws than any other top league, year after year. Italian football is built around defensive shape, and that shows in the scorelines. If you want to specialise in draws, start there.
Weekend Picks: Where the Real Volume Is
Saturdays and Sundays carry the bulk of the betting calendar. Premier League and La Liga slates on the same day, plus Serie A and Bundesliga, plus the smaller leagues. There’s too much football to bet on every match, and trying is the fastest way to lose a bankroll.
My weekend filter is simple. I rank every match by model confidence, throw out anything below 70%, and look for two or three plays where the bookie line and my model disagree by more than 5 percentage points. Those are the value bets. A “lock” at 1.20 with a true 90% chance is fine, but you make real money when the line is wrong, not when it’s right.
Can You Really Get 90% Accurate Predictions?
The honest version is less exciting: it holds up on safe markets across a short run of bets, and falls apart the moment you want better odds.
Over 1.5 goals in Bundesliga matches hits around 88% historically. Double chance on a heavy home favourite against a bottom-table side hits 90%+. But those are 1.10-1.25 odds. To grow a bankroll meaningfully on those, you’d need huge stakes, and a single 10% loss wipes out many wins.
Anyone selling you “90% accurate predictions” at decent odds is either cherry-picking past results or selling you a dream. The honest target for a profitable bettor is 55-58% on near-evens lines. That’s the level where compounding actually works.
Football Prediction for Tomorrow: Plan, Don’t React
The biggest edge you can get isn’t a better model. It’s earlier lines. Bookmaker odds the day before a match are softer than the same lines an hour before kick-off, because the market hasn’t adjusted to the late money yet. If your model fancies the away team and the price is 2.80 today, it’s likely closer to 2.50 by Saturday morning.
That’s why we publish next-day previews every evening at Forwins. Read them, check the team news the morning of the match, and place early when the value is still there.
BTTS Tips: When Both Teams Actually Score
BTTS is a strange market. It looks like a coin flip, but the long-term hit rate across the top leagues sits around 52-54%. The model edge is small, which means the bookmaker margin matters more here than on most markets. Always shop the line.
BTTS tends to hit in matches where:
- Both teams have scored in 4+ of their last 6 matches
- Neither side has a stand-out goalkeeper
- The favourite likes to attack rather than sit on a 1-0
Bundesliga is the BTTS league. La Liga and Ligue 1 are the worst for it, because the bottom-half teams often struggle to score at all.
Predictions for Nigerian Bettors
Nigeria has one of the most active football betting communities in Africa, and the markets popular with Nigerian bettors aren’t always the ones I’d default to. Multi-bets on weekend EPL games are everywhere. So is interest in the NPFL, where pricing is wider because fewer models cover the league.
If you bet from Nigeria, the same rules apply: stick to leagues you can actually follow, avoid huge accumulators no matter how tempting the payout looks, and shop for the best line. We cover the main European leagues plus selected NPFL fixtures.
The Short Version
A model gives you probabilities. You compare them to the bookie’s price. When your number is meaningfully higher, you bet. When it isn’t, you skip. That’s the entire job.
Everything else, including how many picks we post each day, which leagues we cover, and which markets we trust, follows from that idea. We publish daily previews for the top leagues, plus weekend round-ups every Friday. Take what’s useful, ignore what isn’t.
FAQ: Football Predictions & Betting
What are mathematical football predictions?
Mathematical football predictions are forecasts built from statistical models rather than gut feeling. They combine recent form, expected goals, head-to-head data, lineup news, and home advantage to produce a probability for each outcome. Think of it as a forecast rather than a guarantee. It gives you the likelihood of each result and a sense of how far to trust that number.
How do you predict draws in football?
Look for matches between teams of similar quality (within a few points in the table), low combined xG, and defensive styles. Serie A produces the most draws of any top European league. Atletico-style sides that prioritise structure over attacking risk are also reliable draw candidates, especially when they meet each other.
What does Over 2.5 mean in football betting?
Over 2.5 means betting that the match will end with three or more goals. Final scores of 2-1, 3-0, 3-2, 4-1 all win. A 2-0, 1-1 or 0-0 loses. It’s one of the most popular goal markets because the line cuts cleanly through the most common scorelines.
How do I find value bets?
A value bet is one where your estimated probability is higher than what the bookmaker’s odds imply. If you think a team has a 60% chance to win and the price is 1.90 (implied probability 52.6%), that’s value. Finding these consistently requires a method for estimating probability that isn’t just based on which team you like.
Are weekend predictions different from weekday ones?
The method is the same, but weekends have far more matches, so the filter has to be tighter. With 20+ games across the top leagues on a Saturday, you can afford to skip 90% of them and only bet the ones where the model edge is clear. Weekday matches often have softer lines because the market is thinner.
Can football predictions really be 90% accurate?
Only on safe markets like Over 1.5 in attacking leagues or double chance on heavy favourites, where odds are too short to grow a bankroll meaningfully. On more useful markets like 1X2 picks at 1.80-2.20, a sustainable hit rate sits in the 55-60% range. Anyone claiming 90% accuracy at decent odds is cherry-picking results.
Are your football predictions free?
Yes. All daily picks, weekend previews, and analysis on Forwins.com are free. We publish full reasoning alongside each tip so you can judge whether the logic holds, rather than just copying the bet blindly.
Do you cover Nigerian football?
We cover selected NPFL fixtures and any international matches involving Nigerian teams. The bulk of our daily output is the top European leagues, since that’s where the lines are sharpest and our data is most reliable.
What’s the best market for beginners?
Double chance (1X or X2) is the gentlest starting point. You’re covering two outcomes out of three, so the hit rate is naturally high, and it forces you to think about which outcome you’re ruling out rather than which one you’re picking. Once you’re comfortable, move to 1X2 and over/under markets.
