How a theory gets tested.
Every result on Ballchemist comes from the same five steps: a sentence you write, a data set, a fixture-by-fixture check, a comparison and a verdict. This page explains each one, including where the method stops being useful.
The idea in one sentence.
A theory is a football belief written as IF something is true THEN something follows. We look at every past match where the first part was true and count how often the second part really happened.
Of the matches where your conditions were true, the share where the outcome happened.
outcome happened ÷ conditions trueHow often that same outcome happens across every match in the data set, with no conditions at all. It is what luck and the league already give you.
outcome rate in the whole data setThe number of matches where your conditions were true. It tells you how much weight the hit rate can carry.
n = matches that qualifiedThe gap between hit rate and baseline, in percentage points. A theory only says something when the edge is clear of zero.
hit rate − baselineStep by step.
What happens between pressing Run and seeing four numbers.
- 1
You write the sentence
Pick one to three conditions and one outcome from the catalogue. Conditions cover recent form, goals, chance quality and xG, discipline and context such as rest days and the same set exists again for the opponent. Conditions are always joined with AND; there is no OR and no nesting.
- 2
You choose the data
A data set is the leagues and seasons you want to test against. The same theory can be run on a single league, on one season or on everything we hold, which is a quick way to see whether a pattern travels.
- 3
We check every fixture
For each match in the data set we ask whether your conditions were true for the team before kick-off. Season averages use only the matches played earlier in that season and opponent conditions use the opponent’s own history. Nothing from the match itself leaks into the condition.
- 4
We count and compare
Matches that qualified become the sample. Among them we count how many produced the outcome, which gives the hit rate. We then compare it with the baseline for the same outcome in the same data set.
- 5
You get the result and a season view
Four numbers (hit rate, baseline, sample size, edge), a plain-language verdict and the hit rate for each season separately so you can see whether a pattern is steady or came from one lucky year.
Reading a result.
A hit rate alone is easy to misread. This is how we read the four numbers together.
This theory holds up. It came in 13 percentage points above the baseline across 412 matches.
These numbers are illustrative.
How we word the verdict
| Edge | What we say |
|---|---|
| +8 pp or more | It holds up |
| +3 to +8 pp | A modest edge, real but thin |
| −2 to +3 pp | No edge, within noise of the baseline |
| Below −2 pp | It goes the other way |
How many matches is enough
Obvious conditions inflate the hit rate
If the outcome already happens most of the time, a high hit rate proves nothing. That is why the baseline sits next to it and why edge, not hit rate, is the number to read.
Every extra condition shrinks the sample
Two or three conditions is the sweet spot. One is usually too general and five or more rarely leaves enough matches to say anything.
How to read the past
A theory that held for ten seasons is a stronger lead than one that held for one. It still describes history and says nothing certain about the next match.
What we can’t test.
The engine evaluates teams from their own match history. Anything that needs information we do not hold or that depends on one specific fixture, is outside what a theory can express. We would rather say so than approximate it.
Questions people ask.
Is this a tipster service?
No. Ballchemist takes the football beliefs you already have and tests them against history so you can see which ones hold up.
Where does the match data come from?
From our stats feed, at fixture level: results, goals, shots, xG, cards and the other match statistics that the conditions are built on. Every condition in the builder is computed from that same feed, so what you can test is exactly what we can measure.
Why can I only combine conditions with AND?
Because each added AND is easy to read: the sample shrinks and the question gets sharper. OR and nested logic would make a result impossible to explain in a sentence and the builder is meant to produce sentences.
What does “X matches ago” mean in a condition?
It points at the team’s own earlier fixtures. “2 matches ago, Win” means the team won the match it played two games before the one being evaluated.
A theory of mine looks great but has a small sample. What now?
Drop a condition and run it again or widen the data set to more seasons. If the edge survives with more matches behind it, it is worth tracking. If it vanishes, it was noise.
Does a good theory mean I should expect it to win next week?
No. It means the pattern was there in past matches. Tracking a theory shows you how it behaves on upcoming fixtures, which is the real test.
Ready to test your own football belief?
Pick a condition, pick an outcome and see whether it survives the data.