Sports Analytics Guides
How to Build a Sports Model, Step by Step
How to build a sports model: pick the question and inputs, avoid leakage, turn ratings into probabilities, calibrate against the market and run it live.
· 7 min read
AI Sports Analysis · Aug 12, 2026 · 7 min read
How an AI sports prediction is built: the market line becomes a win probability, a language model writes the breakdown, and every read is graded.
By Sportslyx · Published
An AI sports prediction sounds like a black box: data goes in, a confident number and a paragraph of analysis come out. In practice the pipeline behind a good one is unglamorous and inspectable, and understanding it is the difference between using the output well and being misled by it. This guide walks through the five stages Sportslyx uses to produce a prediction — from the market line to the graded result — and explains what the AI actually does at each one.
The single most important idea comes first: on Sportslyx the win probability you see is not the language model’s opinion. It is derived from the market. The model’s job is to explain the matchup, not to invent the number.
Every prediction starts with the public moneyline for the game, which is the price on each side to win outright. A moneyline is a statement of probability with a margin built in. American odds of -150 mean you would have to risk $150 to win $100, which implies a 60.0% chance; the other side at +130 implies 43.5%. Add the two and you get 103.5%, not 100%. The extra 3.5 points is the bookmaker’s margin, usually called the vig or overround.
Removing that margin is called de-vigging. The simplest method, and the one Sportslyx uses for two-way markets, divides each implied probability by the sum of both so the pair adds to exactly 100%. The -150 side becomes 58.0%, the +130 side 42.0%. That 58.0% is the number shown on the game page as the win probability. It is a statistical estimate of what the market believes once its margin is stripped out — a market-derived probability, not a house opinion.
| Side | American odds | Implied probability | Fair probability after de-vig |
|---|---|---|---|
| Favorite | -150 | 60.0% | 58.0% |
| Underdog | +130 | 43.5% | 42.0% |
| Total | 103.5% | 100.0% |
Why anchor to the market at all? Because the closing line of a liquid market is the best public estimate of a game that exists. It aggregates injury news, sharp money and everything else faster than any single model. A prediction that starts from the market and explains around it is far harder to fool than one that starts from scratch and hopes to outdo it.
The probability is the anchor; the data package is what the analysis is written from. For each game on the slate Sportslyx builds a per-game package from public feeds — the ESPN scoreboard is the primary source for schedules, scores, base lines and box scores, with optional enrichment from other providers where available. The package typically contains:
Not every game gets a full package. Feeds are delayed, some competitions publish less, and an early-week line may exist before the injury report does. Sportslyx scores each package with a data-quality tier — rich, partial or weak — and passes that tier to the model. A weak tier tells the model to be more cautious, and it is shown to the reader so that a thin breakdown is recognizable as one.
With the probability and the package in hand, a large language model writes the breakdown. It is called through a provider-agnostic gateway, so the specific model can change without the pipeline changing. The prompt contains the fair probability, the lines, the data package and the quality tier, plus rules about what a breakdown must cover: the strengths and weaknesses of each side, what the market appears to be pricing and what it may be underweighting — all written under the data-quality tier attached to the package, which is shown with the read.
The model is good at synthesis. It can turn a dozen inputs into a readable argument, notice that a favorite is playing its third road game in four nights, or that a starting pitcher’s recent strikeout rate does not match his season line. It is not good at arithmetic or at knowing what it does not know, which is why the number is fixed before it starts writing and why the data tier is fed in rather than left for the model to guess.
Breakdowns are not written when you click. AI breakdowns are pre-generated for the upcoming slate and cached; the win probability on the card is derived from the current market line. Scheduled jobs run several times a day and write breakdowns for games that do not yet have one, so the page loads with the analysis ready; each breakdown is cached against the game and the version of the prompt that produced it. The breakdown text is not rewritten when the line moves. What follows the market is the number: a two-point swing on a spread or a confirmed goalie change moves the win probability on the card, because that figure is derived from the current line every time the page is served.
Two consequences follow. First, a breakdown you read in the evening may have been written that morning, before a late scratch; the probability on the card is current, the prose describes the matchup as the package stood when the job ran. Second, a breakdown written from a weak package stays flagged as such — the tier is shown with it rather than hidden.
A prediction that is never scored is an opinion. Every read Sportslyx publishes is graded after the final result by a settlement job that reads official scores and box scores, and the results are aggregated into a public record by calendar month, in UTC, per sport. The rules are fixed in advance:
The public record on the Pick Tracker uses the same population and the same period as the product, so the figure a visitor sees is the figure a subscriber sees. That matters more than the figure itself: a track record you cannot audit is marketing.
Being honest about the failure modes is part of the method.
Past results do not predict future results. The record exists so the method can be judged on volume, not so any single month can be sold as proof.
An AI sports prediction on Sportslyx is a market-derived win probability, a data package with a quality tier, a language-model breakdown that explains the number rather than inventing it, a pre-generation and caching cycle in which the probability follows the market line while the prose stays as written, and a grading job that publishes the result. Each stage is inspectable, and each has documented limits. For the full set of rules, see the methodology; to see the pipeline running on today’s games, start with the predictions board.
No. The win probability is derived from the market moneyline by removing the bookmaker’s margin. The language model writes the breakdown around that number; it does not set it. The company board’s daily read follows the market favorite on the moneyline and is graded like everything else.
AI breakdowns are pre-generated for the upcoming slate and cached; the win probability on the card is derived from the current market line. The breakdown text is not rewritten when the line moves — a confirmed goalie or a late scratch moves the number on the card, not the prose — so read the data tier and the probable starters on the card alongside the text.
Yes. Every graded read is counted in the public record by calendar month (UTC) and by sport, using the same definitions the product uses: hit rate excludes pushes, ROI is at a flat stake, draws push, voids are removed.

Take this guide to today’s slate: the 7-day Pro trial opens the AI breakdowns, the market-derived probabilities, the daily company board, Combo Builder, Studio and the pick tracker.
7-day trial · $0 today · card required · cancel anytime before the trial ends
Sportslyx produces statistical estimates and analytical breakdowns for information and entertainment. Nothing on this page is betting advice, and no outcome is certain. 18+ only. Please play responsibly — see our Responsible Play page.