Methodology: how we calculate probabilities, xG and tips
Where the numbers you see on match pages and in the tips section come from, and how they’re calculated.
Probabilities and expected xG (match page)
The win/draw/loss probability, both teams score and pre-match expected xGnumbers shown on every match come from our data provider's statistical model - the same one that powers the whole site (see the About page). That model cross-references each team's recent history, their head-to-head record, and home/away performance to estimate an expected outcome before kickoff - it's not our opinion, it's a probabilistic calculation.
xG (expected goals)is a separate statistic that measures the quality of the scoring chances created, not the scoreline. Each shot gets a weight based on the probability it becomes a goal (position on the pitch, angle, type of chance) - adding those weights up across the match gives the total xG. It's useful for understanding whether a result was “fair” or whether a team got more or less luck than expected.
How we generate tips
The Tips section follows a fixed process, the same for every match:
- Only 3 markets are evaluated: both teams to score (BTTS), total goals (over/under 2.5) and corners. We deliberately don't evaluate match winner - see the FAQ below for why.
- Base confidence: comes directly from the API's statistical model for that market (the same number explained in the section above).
- Adjustment with recent form: we check whether that pattern actually held up in each team's most recent games (e.g. how many of each team's last games had both teams scoring). Each team needs at least 4 recent games with that data available - without that on both sides, the tip is dropped entirely. Beyond the percentage, we also require the pattern to have actually held up in at least 6 of up to 10 recent games considered (5 per team) - a percentage alone can come from a small or lopsided sample. When both criteria are met, the final confidence becomes a blend of 60% recent form + 40% statistical model - which is why the final publishing criteria can differ from the “raw” model number shown on the match page. Each tip’s explanation always says whether the pattern held up in both teams’ recent games. If there isn’t enough recent data, we fall back to the plain statistical model.
- Opponent-strength adjustment: beyond general recent form, we compare each team's record specifically against opponents from the same third of the table as the upcoming opponent (we split each league into top, mid and bottom thirds by position). A team can have a good recent average just because it faced weak opponents lately - if it has at least 3 recent games against teams at the same level as the upcoming rival, that specific record is weighed on top of the previous adjustment. Without enough of a sample (too small a league, a team with no table position yet, etc.), this step simply doesn't apply and the previous step's result stands.
- Minimum 70% confidence bar: only the strongest patterns become a published tip - the goal is quality, not quantity. A match can simply have no tip if no market clears that bar.
- Up to 2 tips per match: among the markets that clear the bar, we publish at most the 2 highest-confidence ones for that match - if only 1 market hits the pattern, we publish just that one.
Every tip card also shows each team’s recent games for the chosen market, highlighted in green when that single game, on its own, would already have hit the tip’s current line - the same rule used in the recent form adjustment, just made visible game by game.
Head-to-head (H2H)
The H2H page and the record shown on each team’s page are a real historical tally of the matches already played between the two teams (wins, draws, losses) - it’s not a prediction or a probability calculation, just what already happened on the pitch.
Frequently asked questions
Does the Tip card use the same criteria as the probability shown on the match page?
Not necessarily. The match page shows the “raw” statistical model number. The Tip card uses the final confidence, which may already have been adjusted with both teams' recent form (see “How we adjust with recent form” below) - that's why the publishing criteria doesn't always match the number on the match page exactly.
What is xG (expected goals)?
xG measures the quality of the scoring chances a team creates in a match, not the scoreline. Each shot gets a value between 0 and 1 based on the estimated probability it becomes a goal (a header from 2 meters is worth far more than a long-range shot). A team can “deserve” 2.5 xG and finish the match with 0 real goals - the gap shows whether a team was luckier, unluckier, or more/less efficient than expected.
Are the tips a guarantee of winning?
No. No statistic predicts the future with certainty - football is inherently unpredictable. The tips published here are the result of a statistical filter (only the highest-confidence ones get published), not a promise. The full track record, including the misses, is public on the history page.
Why are there only corners, goals and both-teams-to-score tips?
We deliberately don't generate match-winner tips - it's the most popular market, but also the most unpredictable one (a single moment can flip the whole result). Corners, total goals and both teams to score tend to follow more stable playing-style patterns over time.
See also the betting guide for tips on using this data in practice and playing responsibly.