Full Transparency
Prediction Results & Track Record
Every prediction we published is tracked here with the final score and a clear win or loss. Results load from yesterday by default and update once matches finish. No cherry-picking — every settled tip is shown with a green tick or red cross.
Accuracy by Market — Friday, July 10, 2026
| Time | Fixture | Market | Pick | Score | Conf. | Result |
|---|---|---|---|---|---|---|
| 00:00 | Nacional Potosí vs AuroraBolivia: Primera División | 1X2 | 1 | 2–0 | Medium | Won |
| 01:00 | Real Colorado Foxes vs Flatirons RushUSA: USL League Two | 1X2 | 1 | 2–2 | Medium | Lost |
| 01:00 | Colorado Rapids vs FC JuarezWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–1 | High | Lost |
| 07:30 | Botev Vratsa vs Arda KardzhaliWorld: Friendlies Clubs | Double Chance | 12 | 1–0 | High | Won |
| 07:30 | Ludogorets vs Septemvri SofiaWorld: Friendlies Clubs | 1X2 | 1 | 1–0 | Medium | Won |
| 08:00 | Obolon'-Brovar vs UCSAWorld: Friendlies Clubs | Double Chance | 12 | 0–0 | High | Lost |
| 08:00 | Fehérvár FC vs Szombathelyi HaladasWorld: Friendlies Clubs | 1X2 | 1 | 3–0 | Medium | Won |
| 09:00 | Zlin vs Dukla Banská BystricaWorld: Friendlies Clubs | 1X2 | 1 | 2–1 | High | Won |
| 09:00 | Wieczysta Kraków vs Ruch ChorzówWorld: Friendlies Clubs | 1X2 | 1 | 2–0 | High | Won |
| 09:30 | Green Gully vs Altona MagicAustralia: Victoria NPL | BTTS / GG | BTTS - Yes | 1–3 | High | Won |
| 09:30 | Peninsula Power vs WDSC WolvesAustralia: Queensland NPL | 1X2 | 1 | 0–0 | Medium | Lost |
| 09:30 | Brisbane Roar II vs Rochedale RoversAustralia: Queensland NPL | Over / Under Goals | Ov2.5 | 4–1 | High | Won |
| 09:30 | Cambuur vs RodaWorld: Friendlies Clubs | 1X2 | 1 | 2–1 | Medium | Won |
| 09:30 | NK Slaven Belupo vs Debreceni VSCWorld: Friendlies Clubs | 1X2 | 1 | 0–1 | Medium | Lost |
| 09:45 | Dandenong City vs South MelbourneAustralia: Victoria NPL | BTTS / GG | BTTS - Yes | 0–2 | High | Lost |
| 10:00 | Macarthur Rams vs Bankstown City LionsAustralia: New South Wales NPL 2 | 1X2 | 2 | 1–1 | High | Lost |
| 10:00 | Lokomotiv Moskva U19 vs Akademiya Konoplev U20Russia: Youth Championship | 1X2 | 1 | 1–1 | High | Lost |
| 10:00 | Almaz Antey U19 vs Spartak Moskva U19Russia: Youth Championship | Over / Under Goals | Ov2.5 | 3–3 | High | Won |
| 10:00 | Holstein Kiel vs SonderjyskeWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–1 | High | Won |
| 10:00 | Ulsan Citizen vs Yeoju SejongSouth-Korea: K3 League | Double Chance | 12 | 1–0 | High | Won |
| 10:00 | Birmingham vs HuddersfieldWorld: Friendlies Clubs | 1X2 | 1 | 3–1 | Medium | Won |
| 10:00 | Gumi Sportstoto W vs Boeun Sangmu WSouth-Korea: WK League | Double Chance | 12 | 0–1 | High | Won |
| 10:00 | Seoul W vs Suwon FMC WSouth-Korea: WK League | 1X2 | 2 | 0–3 | High | Won |
| 10:15 | Oakleigh Cannons vs AvondaleAustralia: Victoria NPL | Over / Under Goals | Ov2.5 | 2–0 | High | Lost |
| 10:15 | Glenorchy Knights vs Kingborough LionsAustralia: Tasmania NPL | 1X2 | 2 | 0–2 | High | Won |
| 10:15 | Launceston United vs RiversideAustralia: Tasmania NPL | 1X2 | 2 | 0–1 | High | Won |
| 10:30 | Cheonan City vs Gimhae CitySouth-Korea: K League 2 | 1X2 | 1 | 0–1 | High | Lost |
| 10:30 | Suwon City FC vs Jeonnam DragonsSouth-Korea: K League 2 | 1X2 | 1 | 5–0 | Medium | Won |
| 10:30 | Northcote City vs Melbourne KnightsAustralia: Victoria NPL 2 | BTTS / GG | BTTS - Yes | 0–1 | High | Lost |
| 10:30 | Preston Lions vs Hume CityAustralia: Victoria NPL | BTTS / GG | BTTS - Yes | 2–1 | High | Won |
| 10:30 | Langwarrin vs Melbourne Victory IIAustralia: Victoria NPL 2 | 1X2 | 2 | 3–3 | Medium | Lost |
| 10:30 | Brunswick Juventus FC vs Western United IIAustralia: Victoria NPL 2 | 1X2 | 1 | 5–4 | High | Won |
| 10:30 | Holland Park Hawks vs North StarAustralia: Queensland Premier League | Over / Under Goals | Ov2.5 | 0–0 | High | Lost |
| 10:30 | Radomiak Radom vs Dynamo KyivWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–4 | High | Won |
| 11:00 | FC Nordsjaelland vs Hradec KrálovéWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 0–3 | High | Won |
| 11:00 | Osters IF vs LyngbyWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 0–3 | High | Won |
| 11:35 | Shandong Luneng vs Yunnan YukunChina: Super League | 1X2 | 1 | 4–3 | Medium | Won |
| 12:00 | Rubin Kazan U20 vs Dinamo Moskva U19Russia: Youth Championship | 1X2 | 2 | 1–3 | High | Won |
| 12:00 | Ekibastuz vs Sport Academy KairatKazakhstan: 1. Division | 1X2 | 2 | 2–4 | Medium | Won |
| 12:00 | Kaspij Aktau 2 vs TarazKazakhstan: 1. Division | Over / Under Goals | Ov2.5 | 1–0 | Medium | Lost |
| 12:00 | Yelimay Semey 2 vs Astana IIKazakhstan: 1. Division | 1X2 | 2 | 2–1 | Medium | Lost |
| 12:00 | AFC Bournemouth U21 vs WorthingWorld: Friendlies Clubs | 1X2 | X | 2–2 | High | Won |
| 12:00 | FC WIL 1900 vs FC LuzernWorld: Friendlies Clubs | 1X2 | 2 | 0–2 | Medium | Won |
| 12:30 | Veres Rivne vs Kolos KovalivkaWorld: Friendlies Clubs | Double Chance | 12 | 2–3 | High | Won |
| 13:00 | Shakhter Karagandy vs Turan TurkistanKazakhstan: 1. Division | Over / Under Goals | Ov2.5 | 1–0 | High | Lost |
| 13:00 | Ried vs BaşakşehirWorld: Friendlies Clubs | 1X2 | 1 | 1–1 | Medium | Lost |
| 13:00 | Chornomorets vs InhuletsWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–0 | High | Lost |
| 13:00 | Scotland Mabvuku vs TelOneZimbabwe: Premier Soccer League | 1X2 | 1 | 2–0 | Medium | Won |
| 13:00 | Racing vs Tadamon SourLebanon: Premier League | Double Chance | 12 | 1–3 | High | Won |
| 13:30 | Plzen vs BSC Young BoysWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 3–5 | High | Won |
| 13:30 | SV Sandhausen vs 1. FC KaiserslauternWorld: Friendlies Clubs | 1X2 | 2 | 3–5 | Medium | Won |
| 14:00 | Alay vs ToktogulKyrgyzstan: Premier League | Double Chance | 12 | 1–0 | High | Won |
| 14:00 | Asiagoal vs BarsKyrgyzstan: Premier League | 1X2 | 2 | 3–7 | Medium | Won |
| 14:00 | Chertanovo U20 vs Krasnodar U19Russia: Youth Championship | 1X2 | 2 | 1–3 | High | Won |
| 14:00 | CSKA Moskva U19 vs Zenit U19Russia: Youth Championship | Over / Under Goals | Ov2.5 | 1–0 | High | Lost |
| 14:00 | Nizhny Novgorod U19 vs Dynamo Makhachkala U19Russia: Youth Championship | Over / Under Goals | Ov2.5 | 3–2 | High | Won |
| 14:00 | Stoke City vs SC BragaWorld: Friendlies Clubs | 1X2 | X | 0–1 | High | Lost |
| 14:00 | Nautico Hacoaj vs Defensores GlewArgentina: Torneo Promocional Amateur | Double Chance | 12 | 0–0 | Medium | Lost |
| 14:00 | Legia Warszawa vs AS TrencinWorld: Friendlies Clubs | 1X2 | 1 | 1–0 | Medium | Won |
| 14:30 | Ilbirs vs OzgonKyrgyzstan: Premier League | 1X2 | 2 | 0–1 | Medium | Won |
| 14:30 | Bishkek City vs Muras UnitedKyrgyzstan: Premier League | 1X2 | 2 | 1–5 | Medium | Won |
| 14:30 | Slonim vs NivaBelarus: 1. Division | 1X2 | 2 | 2–2 | Medium | Lost |
| 14:30 | Inter Turku II vs RopsFinland: Ykkönen | 1X2 | 2 | 0–2 | Medium | Won |
| 14:30 | Karviná vs Považská BystricaWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–0 | High | Lost |
| 15:00 | Fakel U19 vs Ural U20Russia: Youth Championship | Over / Under Goals | Ov2.5 | 3–2 | High | Won |
| 15:00 | Rodina Moscow U19 vs Rostov U19Russia: Youth Championship | Over / Under Goals | Ov2.5 | 5–1 | High | Won |
| 15:00 | FC Nordsjaelland vs Gornik ZabrzeWorld: Friendlies Clubs | Double Chance | 12 | 0–2 | Medium | Won |
| 15:00 | Yantra 2019 vs FratriaWorld: Friendlies Clubs | Double Chance | 12 | 1–1 | High | Lost |
| 15:00 | FC Zurich vs SochauxWorld: Friendlies Clubs | 1X2 | X | 1–2 | High | Lost |
| 15:00 | Francs Borains vs Crossing SchaerbeekWorld: Friendlies Clubs | 1X2 | 1 | 5–2 | Medium | Won |
| 15:00 | River Plate Res. vs Racing Club Res.Argentina: Reserve League | Double Chance | 12 | 1–2 | Medium | Won |
| 15:00 | Austria Lustenau vs FC AarauWorld: Friendlies Clubs | 1X2 | 1 | 1–0 | High | Won |
| 15:00 | SKU Amstetten vs ArtisWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–2 | High | Won |
| 15:00 | Sturm Graz II vs BeltinciWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–3 | High | Won |
| 15:30 | Ostrovets FC vs FC Energetik-Bgu MinskBelarus: 1. Division | Over / Under Goals | Ov2.5 | 1–1 | High | Lost |
| 15:30 | Kooteepee vs JäPSFinland: Ykkösliiga | 1X2 | 1 | 4–1 | High | Won |
| 15:30 | Tampere United vs SalPaFinland: Ykkönen | 1X2 | 1 | 0–1 | High | Lost |
| 15:30 | FC Dnepr Mogilev vs FC MinskBelarus: Premier League | Double Chance | 12 | 1–2 | Medium | Won |
| 15:30 | ÅIFK vs Ilves IIFinland: Kakkonen Lohko B | 1X2 | 1 | 1–1 | Medium | Lost |
| 15:30 | GBK vs JBKFinland: Kakkonen Lohko C | Over / Under Goals | Ov2.5 | 2–0 | High | Lost |
| 15:30 | Radnicki NIS vs Neftchi BakuWorld: Friendlies Clubs | BTTS / GG | BTTS - Yes | 0–3 | High | Lost |
| 15:30 | Metta LU vs SpēksLatvia: Cup | 1X2 | 1 | 3–1 | High | Won |
| 16:00 | VPS vs SJKFinland: Veikkausliiga | BTTS / GG | BTTS - Yes | 1–0 | High | Lost |
| 16:00 | Real Pilar vs Deportivo CamionerosArgentina: Primera B Metropolitana | 1X2 | 1 | 2–1 | High | Won |
| 16:00 | SCR Altach vs FC VaduzWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–0 | High | Lost |
| 16:00 | Villa San Carlos vs San Martín BurzacoArgentina: Primera B Metropolitana | BTTS / GG | BTTS - No | 0–0 | High | Won |
| 16:00 | FC Rot-Weiß Erfurt vs Nürnberg IIWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 0–0 | High | Lost |
| 16:00 | PK-35 vs KäPaFinland: Ykkösliiga | 1X2 | 1 | 3–1 | High | Won |
| 16:00 | Laagri vs Trans NarvaEstonia: Meistriliiga | Over / Under Goals | Ov2.5 | 3–0 | Medium | Won |
| 16:00 | Fach-Donaufeld vs Austria Vienna (Am)World: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–1 | High | Lost |
| 16:00 | Kickers Emden vs Preußen MünsterWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–5 | High | Won |
| 16:00 | 1. FC Heidenheim vs FC LuganoWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 0–1 | High | Lost |
| 16:00 | Radomlje vs NK VarazdinWorld: Friendlies Clubs | 1X2 | 2 | 0–1 | Medium | Won |
| 16:00 | Luzino vs Grom Nowy StawWorld: Friendlies Clubs | 1X2 | X | 0–2 | High | Lost |
| 16:00 | Maribor vs CharltonWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–1 | High | Lost |
| 16:00 | NK Lokomotiva Zagreb vs FK PartizanWorld: Friendlies Clubs | Double Chance | 12 | 2–2 | Medium | Lost |
| 16:00 | Ajax vs AEK LarnacaWorld: Friendlies Clubs | 1X2 | 1 | 1–0 | High | Won |
| 16:00 | Germany U19 W vs Spain U19 WEurope: UEFA U19 Championship Women | 1X2 | 2 | 0–1 | Medium | Won |
| 16:30 | SV Breinig vs Alemannia AachenWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 0–5 | High | Won |
| 16:30 | VfR Mannheim vs Waldhof MannheimWorld: Friendlies Clubs | 1X2 | 2 | 0–2 | Medium | Won |
| 16:30 | Mannsdorf-Großenzersdorf vs Rapid Wien IIWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 2–2 | High | Won |
| 16:30 | SSV Ulm 1846 vs EichstättWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 4–3 | High | Won |
| 16:30 | Leobendorf vs Floridsdorfer ACWorld: Friendlies Clubs | 1X2 | 2 | 1–3 | High | Won |
| 16:45 | Eimsbütteler TV vs SaselWorld: Friendlies Clubs | 1X2 | 1 | 6–4 | Medium | Won |
| 17:00 | Arsenal Sarandi vs Defensores UnidosArgentina: Primera B Metropolitana | 1X2 | 1 | 3–1 | Medium | Won |
| 17:00 | Deportivo Laferrere vs Deportivo ArmenioArgentina: Primera B Metropolitana | BTTS / GG | BTTS - No | 1–1 | High | Lost |
| 17:00 | SSV Jeddeloh vs SV MeppenWorld: Friendlies Clubs | Over / Under Goals | Ov2.5 | 1–4 | High | Won |
| 17:00 | Leevon PPK vs RigaLatvia: Cup | 1X2 | 2 | 2–3 | High | Won |
| 17:30 | Atlantis vs KiffenFinland: Kakkonen Lohko A | Over / Under Goals | Ov2.5 | 3–5 | High | Won |
| 18:00 | Argentino de Merlo vs Argentino QuilmesArgentina: Primera B Metropolitana | 1X2 | 1 | 3–0 | High | Won |
| 18:00 | Brown DE Adrogue vs ItuzaingóArgentina: Primera B Metropolitana | 1X2 | 1 | 0–0 | High | Lost |
| 18:00 | Excursionistas vs ComunicacionesArgentina: Primera B Metropolitana | 1X2 | 1 | 1–2 | High | Lost |
| 18:00 | Liniers vs Sportivo ItalianoArgentina: Primera B Metropolitana | Over / Under Goals | Un2.5 | 0–1 | High | Won |
| 18:00 | Talleres Remedios vs FlandriaArgentina: Primera B Metropolitana | 1X2 | 1 | 1–1 | Medium | Lost |
| 18:00 | UAI Urquiza vs Deportivo MerloArgentina: Primera B Metropolitana | BTTS / GG | BTTS - No | 0–0 | High | Won |
| 18:00 | Villa Dalmine vs Dock SudArgentina: Primera B Metropolitana | 1X2 | 1 | 2–1 | Medium | Won |
| 18:00 | Botafogo SP U20 vs SC Paulinense SP U20Brazil: Paulista U20 | Double Chance | 12 | 1–1 | High | Lost |
| 18:00 | Mirassol U20 vs Portuguesa Santista U20Brazil: Paulista U20 | 1X2 | 2 | 1–1 | Medium | Lost |
| 18:00 | Ponte Preta U20 vs Ferroviária U20Brazil: Paulista U20 | 1X2 | 2 | 0–2 | Medium | Won |
| 18:00 | Enfield Town vs Leyton OrientWorld: Friendlies Clubs | 1X2 | X | 1–4 | High | Lost |
| 18:00 | Parkgate vs RotherhamWorld: Friendlies Clubs | 1X2 | 2 | 0–1 | High | Won |
| 18:00 | Floresta CE U20 vs Horizonte U20Brazil: Cearense U20 | Double Chance | 12 | 2–1 | High | Won |
| 18:00 | Inter de Minas U20 vs Villa Real U20Brazil: Mineiro U20 | 1X2 | 1 | 3–1 | Medium | Won |
| 18:00 | Juventus U20 vs São Bento U20Brazil: Paulista U20 | 1X2 | 1 | 3–1 | High | Won |
| 18:00 | Guarani U20 vs Mauá U20Brazil: Paulista U20 | 1X2 | 1 | 2–1 | High | Won |
| 18:00 | Ituano U20 vs Gremio Prudente U20Brazil: Paulista U20 | 1X2 | 1 | 0–3 | Medium | Lost |
| 18:00 | Santo André U20 vs Bandeirante U20Brazil: Paulista U20 | 1X2 | 1 | 2–1 | Medium | Won |
| 18:00 | Sfera U20 vs Flamengo SP U20Brazil: Paulista U20 | 1X2 | 1 | 5–0 | Medium | Won |
| 18:00 | Tanabi SP U20 vs Osasco Audax U20Brazil: Paulista U20 | Double Chance | 12 | 0–3 | High | Won |
| 18:00 | União São João U20 vs Aguai U20Brazil: Paulista U20 | 1X2 | 1 | 1–2 | High | Lost |
| 18:00 | Velo Clube U20 vs São Caetano U20Brazil: Paulista U20 | Double Chance | 12 | 2–2 | High | Lost |
| 18:30 | Clevedon Town vs Weston-super-MareWorld: Friendlies Clubs | 1X2 | 2 | 1–1 | High | Lost |
| 18:30 | Maidenhead vs Milton Keynes DonsWorld: Friendlies Clubs | 1X2 | 2 | 1–4 | High | Won |
| 18:30 | Resistencia vs Sportivo CarapeguáParaguay: Division Intermedia | Double Chance | 12 | 1–1 | High | Lost |
| 18:45 | Dundalk vs Drogheda UnitedIreland: Premier Division | 1X2 | 1 | 1–2 | Medium | Lost |
| 18:45 | Athlone Town vs Cobh RamblersIreland: First Division | BTTS / GG | BTTS - Yes | 2–0 | Medium | Lost |
| 18:45 | Bray Wanderers vs UCDIreland: First Division | BTTS / GG | BTTS - Yes | 6–0 | High | Lost |
| 18:45 | Cork City vs Longford TownIreland: First Division | 1X2 | 1 | 3–4 | Medium | Lost |
| 18:45 | Finn Harps vs Treaty UnitedIreland: First Division | BTTS / GG | BTTS - Yes | 0–1 | High | Lost |
| 18:45 | Wexford vs KerryIreland: First Division | 1X2 | 1 | 2–2 | Medium | Lost |
| 18:45 | Harlow Town vs Buckhurst HillWorld: Friendlies Clubs | 1X2 | X | 0–2 | High | Lost |
| 18:45 | Horsham vs EastleighWorld: Friendlies Clubs | 1X2 | 2 | 3–2 | Medium | Lost |
| 18:45 | Livingston vs Heart Of MidlothianWorld: Friendlies Clubs | 1X2 | 2 | 2–1 | High | Lost |
| 19:00 | Waterford vs St Patrick's Athl.Ireland: Premier Division | 1X2 | 2 | 1–1 | High | Lost |
| 19:00 | Spain vs BelgiumWorld: World Cup | 1X2 | 1 | 2–1 | Medium | Won |
| 19:15 | Ægir vs HK KopavogurIceland: 1. Deild | 1X2 | 2 | 3–4 | Medium | Won |
| 19:15 | IR Reykjavik vs Throttur ReykjavikIceland: 1. Deild | 1X2 | 2 | 1–1 | Medium | Lost |
| 19:15 | Leiknir R. vs GrottaIceland: 1. Deild | Over / Under Goals | Ov2.5 | 0–1 | High | Lost |
| 19:15 | Njardvik vs GrindavikIceland: 1. Deild | 1X2 | 1 | 5–4 | Medium | Won |
| 20:00 | Atletico San Luis vs Mineros de ZacatecasWorld: Friendlies Clubs | 1X2 | 1 | 4–0 | High | Won |
| 21:00 | Fernando De La Mora vs Paraguari ACParaguay: Division Intermedia | Double Chance | 12 | 2–2 | Medium | Lost |
About Our Track Record
How 90Predict Tracks and Reports Prediction Results
Prediction accuracy is easy to claim and difficult to verify unless every result is tracked openly. This page exists to remove that ambiguity. Every tip published on 90Predict — across all markets, all confidence levels, and all pages — is logged here with its date, fixture, market, pick, and final outcome. There is no manual curation of which results appear. Wins, losses, and voids are all recorded.
How Results Are Verified and Recorded
Results are pulled from official match data within 24 hours of each fixture completing. The outcome is recorded as Won (prediction correct), Lost (prediction incorrect), or Void (match postponed, abandoned, or otherwise unsettleable). Win rates are calculated from settled predictions only — voids are tracked for completeness but excluded from percentage calculations. This is the industry-standard approach used by professional tipster verification services.
Why Confidence Level Matters
High Confidence tips require a minimum of three independent statistical factors to align before qualifying. Medium Confidence tips require two. The difference in historical win rate between these tiers — currently 71.8% for High vs 55.2% for Medium — reflects that stricter selection criteria produce more consistent outcomes. For accumulator builders, this means using High Confidence tips as anchor legs and treating Medium Confidence picks with more caution is the statistically supported approach.
Market-by-Market Performance
Not all markets are equally predictable. Double Chance leads at 74.2% because covering two of three outcomes structurally reduces uncertainty. Over/Under 2.5 Goals and BTTS perform strongly because both are driven by quantifiable team-level statistics — goals averages, xG, defensive records — that are more stable than match result data. HT/FT predictions carry inherently more risk because they require two independent outcomes to align, making them harder to predict despite strong pre-match analysis.
These market-level win rates are visible above and updated daily as new results are recorded. If you are building a strategy around a specific market, these figures provide the honest baseline from which to work.
A Note on Result Transparency
Some prediction sites selectively report only their winning tips or reset their records periodically. 90Predict does neither. Every prediction is tracked from publication date, including tips that lose. Our loss rate is visible alongside our win rate because understanding both is necessary to evaluate track record honestly. The losses on this page are as much a part of the record as the wins.
Past prediction accuracy does not guarantee future results. 90Predict publishes analysis for informational purposes only. Never bet money you cannot afford to lose, regardless of historical win rates.