We analyse football matches with a statistical engine. Whether each prediction turned out correct or incorrect stays published.
Our input is the matches' own data: an attack and defence rating is derived for each team, home and away are separated, and every possible scoreline is computed. Where a match is priced, the market price enters the calculation too — but we never display odds; the same input always returns the same answer.
- No odds, no betting slips — not a betting site
- Input is match data and the market price — never a betting slip
- 16 leagues covered — Süper Lig to Premier League, UEFA included
Methodology — how the maths works
For every team an attack and defence rating is derived from played matches. Where a match has been priced, the market price is one of the inputs too; no odds are ever shown ON SCREEN.
From those ratings the probability of every possible scoreline is computed one by one; 1X2, double chance and goals markets are sums over that distribution. The detail of the calculation — which distribution, which corrections, how the inputs are weighted — is not published: we prove our accuracy by keeping the record open, not by explaining the method.
Accuracy is measured with the Brier score — the sum of (probability − outcome)² per result, lower is better — and every figure is published next to a "blind guess" baseline. The record is unfiltered: incorrect calls stay on the track record page.
Frequently asked questions
Is Matris a betting site?
No. Matris publishes no odds, recommends no betting slips and takes no bets. It is an analytics platform that derives probabilities from played-match data.
Does an AI generate the predictions?
No. The probabilities come from a deterministic statistical model; there is no language model in the product. The same input always yields the same output, and the sentences on each page are built by a fixed template — no number is made up while writing text.
What does the model look at — and ignore?
It uses: the played matches' own data, with home and away tracked separately, and — where a match has been priced — the market price. It ignores: rumours, tipster sites, social-media expectation. Every candidate input is tested on past data first; whatever fails to add accuracy is not added. The full input list and how they are combined are not published. Using a price in the maths and publishing it on screen are different things: we do not do the second.
Where can I verify the accuracy claim?
On the track record page. The record is unfiltered — incorrect calls are there too — and every figure states how many matches of data it rests on, next to the blind-guess baseline.
Why do some matches have no prediction?
If either team has fewer than 10 matches in the rating window, no probability is published. We don't print made-up numbers; the "no prediction published" badge says exactly that.
How is the pick of the day chosen?
The rule is fixed and nothing is hand-picked: an outright result above 60% is shown, otherwise a double chance above 80%; matches clearing the threshold are ranked by confidence. The rule's track record is printed under the tab.
68.6%
The model said “at least 60%” about an outcome, and it was right in 2,462 of those 3,591 matches.
This figure is not cherry-picked: it covers every match above the threshold, including the 1,129 that were incorrect.
See the full record — misses includedMatches tested
17,619
Backtested across 16 European leagues (warm-up excluded)
Double chance
82.4%
In the 17,191 matches we called "at least 75%"
Total predictions computed
326,186
19,433 matches across 16 leagues since 2022, each worked out from scratch in 18 markets
Where our predictive power comes from
There is no language model behind Matris — there is a deterministic engine. Since 2022 it has swept 19,433 matches across 16 leagues and produced more than 2,957,000 separate calculations. For every match it re-derives each team's attacking and defensive strength, separates home from away, and works out every possible scoreline one by one.
Not something a person could do by hand. And not a number a language model could invent: the same input always returns the same answer. The engine runs around the clock and re-scores itself every time a new result lands.
The matches below are hand-picked examples — drawn from the cohort above, but chosen one by one. The measurement is the figure, not them.
Sheffield Utd
last
0
Wolveslast1
25.8% home · 25.6% draw · 48.7% away
HT 0–0Referee: R. Jones✓ Prediction correct
Matches that ended level. The model prices draws correctly: across 19,433 matches it claimed 25.2% on average and 25.4% occurred. But a draw is almost never the single most likely outcome — it has led in only 14 matches so far, and the highest draw probability we have ever given is 36.6%. So a match that ends level almost always makes our pick wrong: 54.1% of the errors in matches where we named a favourite ended in a draw. This is not an excuse, it is the ceiling on accuracy — and none of it is removed from the record.
Matches too close to call. When under 5 points separate the top two outcomes the model has made no pick, so those cards carry no correct/incorrect grade. What they show is what the model actually said: the probability it gave to what happened. These matches are not removed from the record — they are measured separately.
56.9% home · 23.3% draw · 19.8% away
HT 1–0✓ Prediction correct
51.3% home · 24.4% draw · 24.2% away
HT 3–1✓ Prediction correct
27.0% home · 28.3% draw · 44.8% away
HT 1–1✓ Prediction correct
27.1% home · 28.0% draw · 44.9% away
HT 0–1Referee: James Bell, England✓ Prediction correct
51.8% home · 25.3% draw · 22.9% away
HT 2–0✓ Prediction correct
45.5% home · 27.4% draw · 27.1% away
HT 0–1✓ Prediction correct
31.4% home · 27.7% draw · 40.9% away
HT 1–2✓ Prediction correct
49.4% home · 26.6% draw · 24.0% away
HT 1–0Referee: W. Finnie✓ Prediction correct
36.1% home · 27.1% draw · 36.8% away
HT 1–2Too close to call — we gave this result 37%
52.3% home · 26.1% draw · 21.7% away
HT 1–0Referee: M. Salisbury✓ Prediction correct
30.1% home · 26.4% draw · 43.4% away
HT 0–1Referee: A. Madley✓ Prediction correct
40.3% home · 26.4% draw · 33.2% away
HT 1–0Referee: B. Speedie✓ Prediction correct
44.6% home · 28.9% draw · 26.4% away
HT 4–0Referee: R. Madley✓ Prediction correct
38.4% home · 29.1% draw · 32.4% away
HT 2–0Referee: A. Backhouse✓ Prediction correct
51.7% home · 26.4% draw · 21.9% away
HT 2–0Referee: E. Duckworth✓ Prediction correct
45.4% home · 25.6% draw · 29.0% away
HT 2–1Referee: L. Smith✓ Prediction correct
32.4% home · 27.9% draw · 39.7% away
HT 0–1Referee: R. Ricardo✓ Prediction correct
43.3% home · 28.3% draw · 28.4% away
HT 1–0Referee: James Bell, England✓ Prediction correct
45.0% home · 26.7% draw · 28.4% away
HT 3–1Referee: Elliot Bell, England✓ Prediction correct
45.1% home · 28.6% draw · 26.2% away
HT 0–0Referee: Tom Reeves, England✓ Prediction correct
54.4% home · 25.2% draw · 20.4% away
HT 0–0Referee: Paul Tierney, England✓ Prediction correct
62.1% home · 22.6% draw · 15.2% away
HT 2–1Referee: Tom Nield, England✓ Prediction correct
25.7% home · 26.6% draw · 47.7% away
HT 0–1Referee: Elliot Bell, England✓ Prediction correct
46.5% home · 27.2% draw · 26.2% away
HT 1–0Referee: Sam Allison, England✓ Prediction correct