How ArtificialAcca's Model Works: Methodology and Limits
How ArtificialAcca builds accas, step by step: de-vigged market prices, a Poisson goals model, a market-anchored blend, edge and the generator.
By ArtificialAcca Research · Published · 7 min read
ArtificialAcca builds each football accumulator from three things: a de-vigged bookmaker probability, a Poisson goals estimate, and a search that picks the best legs for your settings. The market carries at least 70% of the weight, because a sharp price contains more information than any simple model we can build. This page sets out each step, with numbers, and lists what the model does not do.
ArtificialAcca is new, and there is no track record to quote yet. What you can inspect is the method here and the public settlement on the results page.
The pipeline at a glance#
| Stage | Frequency | What it does |
|---|---|---|
| Ingest | Every 3 hours | Pulls fixtures and odds for today and the next two days from API-Football, plus season goal averages for fixtures with odds in covered leagues |
| Model | Per fixture | Produces a probability, best price, edge and confidence for each market |
| Generator | On request | Searches for the best acca under your settings |
| Settle | Every 30 minutes | Settles pending accas against fixture results |
| Daily | 08:00 UTC | Publishes the "AI Acca of the Day" |
The markets are match result (1X2), double chance, both teams to score, and over/under 1.5, 2.5 and 3.5 goals.
Input 1: the market probability (pMarket)#
We convert bookmaker odds to implied probabilities (1 ÷ odds) and remove the margin by proportional scaling: divide each outcome's implied probability by the sum across the market. A 2.10 / 3.50 / 3.60 market sums to 104.0% and becomes 45.8% / 27.5% / 26.7%.
- If Pinnacle quotes the whole market, we use its de-vigged probability.
- If not, we take the median of the de-vigged probabilities across the bookmakers that quote the whole market.
- The best price is the highest quote on offer, ignoring any quote more than 30% above the median when three or more bookmakers quote, since that is usually stale or wrong.
Pinnacle is a bookmaker known for low margins and high limits, so its de-vigged price is a common benchmark. The median guards against a single stale or unusual price. Both choices are judgement calls, not facts about the world. The guide to de-vigging explains the method and its alternatives.
Known limit. Proportional scaling assumes the margin is spread evenly in proportion to probability. Research on favourite-longshot bias suggests bookmakers may shade long shots more. On a heavy favourite, Shin's and the power method give a favourite about 1 to 2 points higher than proportional scaling does. We have chosen simplicity and transparency over the more complex methods. See favourite-longshot bias.
Input 2: the goals model (pPoisson)#
We estimate expected goals (λ) for each side from season goal averages at the relevant venue (home side at home, away side away), falling back to season totals. Each side's λ is the average of its own goals scored and the opponent's goals conceded. We then treat the two sides' goals as independent Poisson variables, with goals capped between 0 and 10. From the scoreline grid we sum the probabilities of each market. For a match with λ of 1.6 (home) and 1.1 (away):
| Market | Poisson probability |
|---|---|
| Home / draw / away | 49.0% / 24.9% / 26.2% |
| Both teams to score | 53.2% |
| Over 1.5 / 2.5 / 3.5 goals | 75.1% / 50.6% / 28.6% |
Known limits. The model assumes independence between the two sides' goals, which tends to under-state draws. It ignores team news, and it only knows what the season averages tell it. With fewer than three games played, the Poisson input is dropped and the pick uses the market alone. These issues are discussed in Poisson models for football goals, including the Dixon-Coles correction we do not use.
What we leave out: API-Football's own prediction#
API-Football also publishes a win/draw/win percentage forecast. We do not use it. In testing it came back in coarse buckets (10/45/45 or 50/50/0, say) rather than real probabilities, and blending it in created false edges, especially on double chance. We use API-Football only for the season goal averages that feed the Poisson model.
The blend (pModel)#
The final probability is a market-anchored weighted average:
pModel = w(market) × pMarket + w(Poisson) × pPoisson
with w(market) = 1 − w(Poisson), and the result clamped to the range 2% to 98%. The Poisson weight starts at a ceiling of 0.3, so the market always carries at least 0.7. It is then cut in two cases: for thin samples (it scales down linearly until a side has played 8 games), and when Poisson disagrees strongly with the market, where it is usually the Poisson model that is wrong. Markets with no Poisson figure use the market alone.
For the 1X2 example with at least 8 games played, the Poisson weights come out at 0.28 / 0.28 / 0.30:
| Outcome | pMarket | pPoisson | w(Poisson) | pModel | Best price | Edge |
|---|---|---|---|---|---|---|
| Home | 45.8% | 49.0% | 0.28 | 46.7% | 2.25 | +5.0% |
| Draw | 27.5% | 24.9% | 0.28 | 26.8% | 3.55 | −5.0% |
| Away | 26.7% | 26.2% | 0.30 | 26.6% | 3.70 | −1.8% |
The best prices are illustrative. The point to take away is the anchor: the blend can only move away from the market by a few points, which is deliberate. We would rather miss an edge than invent one.
Odds, edge and confidence#
- Odds. The best price across the bookmakers we ingest, not an average.
- Edge. pModel × odds − 1. Positive means the best price is longer than the model's fair price. In the home-win row, 0.4667 × 2.25 − 1 = +5.0%.
- Confidence. A display score from 0 to 100 shown beside each pick: 100 × pModel × (0.75 + 0.25 × agreement), where agreement measures how closely Poisson and the market match. It is not a probability, and nothing in the generator treats it as one. The quantitative outputs are pModel, odds and edge.
Why the edge needs care. If the true home-win probability is 45.8% instead of 46.7%, the edge at 2.25 is +3.1%. At 44%, it is −1.0%. Every edge we show has this uncertainty attached, which is also why the generator does not rank only by edge.
Each pick carries two to four short, factual reasoning bullets covering form, goal averages, the market view and the edge.
The generator#
The generator is a pure function of the picks and your settings:
- One leg per fixture.
- At most two legs per league, unless you filter to fewer leagues.
- Each leg's odds fall within your minimum and maximum.
- A beam search keeps the best partial combinations as it adds legs.
- The objective depends on risk: safe maximises the sum of log probabilities (that is, the combined probability), balanced does the same with a penalty for missing your target odds, and value maximises expected value.
- Locked legs stay, excluded fixtures are skipped, and a seeded variation lets you regenerate without repeating.
Because the objective uses model probabilities, the generator inherits every error in them. For why leg count matters whatever the objective, see how many legs an acca should have.
Settlement#
The settle job checks pending accas against fixture results and marks each leg won, lost or void. Postponed, cancelled and abandoned matches are void, with that leg's odds treated as 1.00, so the acca pays on the remaining legs. An acca settles as a win only if every non-void leg wins. The AI Acca of the Day is created at 08:00 UTC, is public, and is settled on /results with the hit rate and return on investment shown for all of them, wins and losses alike.
What the model does not do#
| Not modelled | Consequence |
|---|---|
| Late team news and lineups | Ingest refreshes every three hours, so the model can lag prices set after news breaks |
| Opposition quality beyond averages | Venue goal averages are crude, especially early in a season |
| Correlation between matches | The generator treats fixtures as independent |
| Motivation, weather, tactics | Not inputs |
| Margin removal beyond proportional | Favourites can be slightly under-stated |
| The compounding of margin | The generator shows leg odds, but the margin you pay is still there in every leg. See the hidden cost of accumulators |
How to hold us to it#
Three things are in the open. The method, which you have just read. The picks, with reasoning. And the record: every daily acca, settled, on the results page. If the record is poor, the method should be questioned. If it is good over a long run, remember that a short good run proves little for a bet with a hit rate this low. Our guides on staking and leg count explain why.
You can try the engine in the generator, or look at the live picks for a league such as the Premier League.
18+ only. The model produces probabilities, not guarantees, and accumulators lose more often than they win. Gamble only with money you can afford to lose. Free, confidential support is available from BeGambleAware.org and on 0808 8020 133.
Frequently asked questions
- How does ArtificialAcca choose its legs?
- For each fixture it blends a de-vigged market probability with a Poisson goals estimate, with the market weighted at least 70%. It compares that blend to the best available price to get an edge, then searches for the best combination of legs under your settings.
- What does the edge number mean?
- Edge is the blended probability multiplied by the best decimal odds, minus one. A figure of +5% means the model believes the price pays 5% more than fair value. It depends entirely on the probability being right, so treat it as a ranking signal and not a forecast of profit.
- Is the confidence score a probability?
- No. Confidence is a display score from 0 to 100 shown beside a pick. The model's quantitative outputs are the blended probability, the odds and the edge. Do not read the confidence score as a chance of winning or as a promise.
- Does ArtificialAcca have a proven track record?
- Not yet. ArtificialAcca is new, so there is no history to claim. Every Acca of the Day is published and settled on the public results page, and its record will be visible there as it builds, including the losses.
18+ only. ArtificialAcca shows probabilities, not guarantees: accumulators lose far more often than single bets, so never stake more than you can afford to lose. Free support is available at BeGambleAware.org.
Related articles
Research
Poisson Models for Football Goals: Strengths and Limits
How Poisson models predict football scorelines and markets, with a worked example, the independence problem, and what Dixon-Coles changed.
· 7 min read
Research
Favourite-Longshot Bias and What It Means for Acca Builders
The favourite-longshot bias explained with the academic evidence, a de-vig worked example and practical lessons for building football accumulators.
· 6 min read
Guides
How to Build a Correct Score Accumulator (and the Brutal Maths)
How a correct score accumulator works, with a Poisson scoreline grid, the true chance of a 3-fold (about 1 in 500), margins and safer alternatives.
· 8 min read