Open blank notebook with a pencil lying across the pages on a wooden table
Match Analysis

How AI Predicts Sports Results — and What the Oracle on This Site Really Does

Researched and drafted with AI assistance from published sources; published by LokeNessiSport Editorial Team · Last updated: 28 March 2026

18+ | Gambling involves risk. Only bet what you can afford to lose. If gambling is causing you problems, contact BeGambleAware.org or Hjelpelinjen: 800 800 40.

A sports prediction model is a method for turning information about a match into a probability for each outcome. Bookmakers run such models all day; so do professional bettors; so do the "AI tips" services that advertise on social media. This guide explains how the serious versions work, how to tell whether any model — including one someone is selling you — is actually any good, and, because this site carries a tool called the Oracle, exactly what that tool does and does not do.

First, what the Oracle on this site is

The Oracle on this site today is a three-question quiz: you pick your sport, your risk appetite and your focus, and it returns a named strategy profile, suitable bet types and a bankroll rule. It predicts nothing about any match. Until September 2026 the homepage also carried a Norse Oracle widget that took two team names and returned a themed verdict, a rune, a "confidence" figure and a predicted score. Those outputs were generated at random — the confidence was a random whole number between 60 and 89, and the win percentages and scoreline were drawn the same way — with nothing calculated from the teams typed in, which is why the widget was removed. Neither was betting advice. An earlier version of this page described the Oracle as machine learning with calibrated probabilities; that was wrong, and this page corrects it.

The rest of this guide is about how real prediction models work, so you can judge the ones that claim to be real.

Rating systems: Elo

The oldest working approach is a rating system. Elo, borrowed from chess, gives every team a number, converts the gap between two ratings into a win probability, and moves both ratings after the result. The expected score for team A is 1 ÷ (1 + 10^((R_B − R_A) ÷ 400)). With A rated 1,600 and B rated 1,500, the exponent is −0.25, 10^−0.25 is 0.562, and A's expected score is 1 ÷ 1.562 = 0.640, or 64%. If A then wins, both ratings move by K × (1 − 0.640); with K = 20 that is +7.2 for A and −7.2 for B. Draws, home advantage and margin of victory are handled with extra terms. Elo is simple, transparent and hard to beat for a one-number rating; surface-specific Elo for tennis shows the method adapted to one sport.

Scoring models: Poisson

For football, the standard next step is to estimate how many goals each side should score and let a Poisson distribution turn those averages into probabilities for every scoreline. If the home side's expected goals for the match are 1.6, the probability of exactly two home goals is e^−1.6 × 1.6² ÷ 2! = 0.202 × 2.56 ÷ 2 = 0.258, about 26%. Repeat for every home and away total, multiply the pairs, and you have a full grid: the cells where home goals exceed away goals add up to the home-win probability, the diagonal is the draw, and the cells above the 2.5 line give the over. The hard part is not the distribution but the two averages going into it — attack and defence strength, home advantage, line-ups — which is where most of a model's quality lives. The Poisson football model, step by step builds one from scratch.

Chance quality: expected goals (xG)

Results are a noisy signal: a side can win 1–0 while being outplayed. Expected goals (xG) scores each shot by how often shots like it are scored — from the location, the body part, the assist type and the pressure on the shooter — and adds those values up. A team creating 2.1 xG a game and conceding 0.8 is doing something a 1–1 draw does not show. xG feeds rating systems and Poisson models as a cleaner input than goals, and in play it describes who is actually creating chances; xG momentum in play covers the live use.

Machine learning models

Gradient-boosted trees, random forests and neural networks are the methods usually meant by "AI prediction". The pipeline is the same whatever the algorithm:

  1. Data — results, shots, xG, line-ups, rest days, travel, referee, weather, and often the bookmakers' own prices.
  2. Features — the raw data turned into inputs the model can use, such as rolling xG difference over the last ten matches weighted by opponent strength.
  3. Training — the algorithm learns how the features relate to outcomes on past matches.
  4. Validation — the model is tested on matches it has never seen. A model that scores brilliantly on its training data and poorly on new data has memorised noise.
  5. Deployment and monitoring — predictions for new matches, with the record kept so the model can be judged.

Machine learning can find interactions a hand-built model misses, but it needs a lot of clean data, it is only as good as its features, and it can be very confident and very wrong when the world changes — a new manager, a rule change, a squad rebuilt in one transfer window. None of that is unique to machine learning; it is simply harder to see inside the model when it happens.

How to tell whether any model is good

This is the section to keep. Any model — a spreadsheet, a tipster's "algorithm", a chatbot — can be judged with three tests, and none of them is "how many did it get right".

Calibration. Take every match the model called at around 70% and count how often that outcome actually happened. A calibrated model's 70% calls come in about 70% of the time. If they come in 55% of the time, the model is overconfident, however impressive its language. You need many predictions for the test to mean anything; a few dozen are not enough.

Brier score. For each prediction, square the gap between the probability given and what happened (1 or 0), then average. A 70% call that came true scores (1 − 0.70)² = 0.09; the same call that failed scores (0 − 0.70)² = 0.49. Always saying 50% scores 0.25 on every two-way outcome, so a model worth having scores below 0.25 and keeps doing so on new matches.

Closing line value. The bookmakers' closing price is itself the output of a strong model fed by all the money in the market. A model that consistently finds prices better than the closing price is finding something the market has not yet priced; one that does not is unlikely to be profitable, whatever its hit rate. Closing line value explained and how to calculate CLV cover the measurement, and the three-part series starting with the model in your head walks a reader through tracking 100 of their own predictions this way.

Why beating the market is so hard

Every price you see already contains a model's output plus everything bettors with money have added to it, minus a margin. To profit, your probability has to be more accurate than that, by more than the margin, often enough to survive variance. That is why serious prediction models are judged on whether they beat the closing line rather than on headline accuracy, and why anyone who quotes a fixed accuracy percentage without showing the matches, the odds taken and the closing prices has shown you nothing. We do not publish an accuracy figure for any model here, because we do not run one.

Using a model as one input

If you build or follow a model, treat its probability as the starting point: adjust for confirmed team news and anything the model cannot see, convert the bookmaker's price to an implied probability (1 ÷ decimal odds), and bet only when your adjusted number is clearly higher. Then record the price you took and the closing price. How to find value bets and expected value in betting explained take it from there.

Responsible gambling

No model, human or machine, removes the risk from betting. Stake a small, fixed share of a bankroll you can afford to lose, set deposit limits before you start, and never raise a stake because a model — or a themed widget — sounds confident. If betting is causing problems, BeGambleAware.org offers free, confidential support, and our responsible gambling page lists helplines and blocking tools. 18+ only.

Frequently Asked Questions

Does the Norse Oracle use AI or a prediction model?

No. The Norse Oracle widget that used to sit on the homepage generated its verdict, confidence figure (a random whole number between 60 and 89), win percentages and scoreline at random, not from the teams entered, and it was removed in September 2026. The Oracle at /tools/the-oracle is a three-question quiz that returns a strategy profile and predicts nothing about matches.

Can AI predict sports results?

Statistical and machine-learning models can estimate probabilities, and a good one is calibrated: its 70% calls come in about 70% of the time. No model can predict a single result, and a model is only useful for betting if its probabilities beat the bookmaker closing price often enough to cover the margin.

How do I test whether a prediction model is any good?

Three tests, none of them a hit rate: calibration (do its 70% calls come in about 70% of the time over many matches), the Brier score (the average squared gap between each probability and the outcome, which must beat the 0.25 you get by always saying 50%), and closing line value (does it find prices better than the closing price consistently).

What is a Brier score?

The average, over all predictions, of the squared difference between the probability given and the outcome recorded as 1 or 0. A 70% call that came true scores 0.09; one that failed scores 0.49. Lower is better, and 0.25 is the score for always saying 50% on a two-way outcome.

How does the Elo formula give a win probability?

Expected score for team A = 1 / (1 + 10^((rating B - rating A) / 400)). With A at 1,600 and B at 1,500 the exponent is -0.25, so A is expected to score 1 / (1 + 0.562) = 0.64, or 64%. After the match both ratings move by K times the gap between the result and that expectation.