Updated

AI disclosure

AI & Predictions

Which paragraphs a language model writes on TipsterGrid, what it is fed, and the single thing it is never allowed to touch: the numbers.

AI writes three types of paragraph on this site. It produces no predictions.

Every figure is calculated first; the text is written afterwards, around numbers that already exist.

On TipsterGrid, a language model writes exactly three kinds of text: the match-page preview, the introduction at the top of a competition page, and the introduction on the home page. Nothing beyond those three. All other copy is either standard wording repeated across every page of a type, or a database value dropped into place. When a sentence seems written for one fixture, the part that is specific to it is the numbers.

The model writes from a closed brief that contains only what the page itself shows: the probabilities, the likeliest score, recent form, the head-to-head record and the confidence grade. It has no database access, no search and no internet connection. Anything missing from the brief simply cannot appear in the text — which is why our previews never mention injuries or press-conference quotes.

One extra rule applies on this site: TipsterGrid names no bookmaker anywhere, and generated text is held to the same standard. Any paragraph that comes back mentioning a bookmaker is thrown away unpublished, and the page keeps its previous version.

We give this its own page because “AI football predictions” has become a label for very different things — a statistical model, a chatbot writing tips, a spreadsheet with branding. Each fails in its own way, and readers should know which one they are looking at. Here, the language model writes words; it does not forecast.

The rules it works under

Set before the feature went live, and still in force without changes.

  • It can only explain numbers we have already produced. It receives the same prediction data the page displays and may describe it. It may not create a probability, a score, an injury, a quote or a result.
  • When text and numbers conflict, the numbers win and the text is treated as a bug. We never adjust a table to fit a paragraph.
  • Each text is written once and saved together with the facts it was based on. If those facts change, the text is rewritten instead of being left to describe a situation that no longer holds.
  • The prediction model never sees the text. Probabilities are fixed before any paragraph is written and are unaffected by it.

Then what produces the predictions?

Statistics, not a chatbot: rolling club ratings built from scorelines and xG, a Dixon-Coles adjusted Poisson scoreline grid on top, and the margin-free market price mixed in on 1X2. No neural network is involved, and we will not pretend otherwise. It has a fixed, small set of parameters, every one of them listed on the maths page, and a published track record measured against a baseline.

The practical reason for using it instead of a language model is calibration. Ask a language model how often its “60%” calls came true and it has nothing to show you — it never produced a checkable probability in the first place. Our model has one, and we publish it on the accuracy page whether it looks good or not.