Back to research

DATA & METHODOLOGY

Every number should
explain itself.

What goes into a match brief, what the words mean, and where the evidence stops.

Premier League data from Sportmonks.

Fixtures, team identities, scores and current league positions come from Sportmonks. FootyTotals calculates the historical rates from completed Premier League results. These are observed frequencies, not betting recommendations or predicted probabilities.

The displayed table positions are from the current season’s table at the last successful import. They are not historical pre-match rankings. Read the provider’s score definitions.

Current source
Sportmonks Football API v3
Coverage
Premier League · 2026/2027
History begins
2025-03-08
Data refreshed Data Source
01 / THE SAMPLE

The last ten relevant games.

Each briefing uses up to ten completed Premier League games before kickoff. All games is the default: both home and away results for each team. Choose Home / away to use the home team’s home games and the away team’s away games. The selection updates every card, percentage, result strip and history table. Early in the season, choose Current season to exclude last season’s games, or keep Last 10 for the wider sample. This choice disappears once both teams have ten current-season games in the selected venue scope. Cup and friendly results are not included.

The result strips run from oldest to newest, with a thin divider marking a change of season. Hover or select a result for its date and score, or read the match history below. We import up to 550 days of history, so records can span seasons. Season dividers use Sportmonks season IDs and names, never an assumed calendar date. Newly promoted clubs may have fewer eligible Premier League results; Championship or cup games do not fill that gap.

Missing scores, unfinished games, postponed fixtures and abandoned matches are excluded. A missing score is never counted as zero. A smaller sample is shown as a smaller sample.

02 / THE MARKETS

Three questions, with clear definitions.

Both teams to score
Both teams scored at least one goal in the same game. A 1–1 counts; a 3–0 does not.
Match goals
The two scores added together. Over 2.5 means three or more total goals. The preview includes 1.5, 2.5 and 3.5 lines.
Team goals
A team’s own goal count. Over 1.5 means that team scored at least twice. Compare its scoring record with its upcoming opponent’s conceding record. The tables show over 0.5, 1.5, 2.5 and 3.5, plus failed to score, for full time, the first half and the second half. Use the team, period and goal-line controls below the tables to inspect an outcome.

These definitions refer to regulation time plus stoppage time. We accept ordinary full-time results with valid regulation scores. Extra-time finishes, shootouts, awarded results, walkovers, suspended, abandoned and incomplete matches are excluded.

03 / THE COMBINED RECORD

One figure, with the calculation visible.

Green means the selected outcome occurred in more than half of the combined sample; red means its opposite occurred more often. An even split or missing history from either team stays neutral. This historical lean describes the records, not a profitable bet or the chance of the upcoming result. The percentage always refers to the selected outcome, even when the headline leans the other way.

The combined historical rate is the number of qualifying results divided by the number of unique eligible matches across the two records. Seven of ten plus six of ten gives 13 of 20, or 65%, when the histories do not overlap. This is a description of those games.

For BTTS and match goals, both histories measure the same match outcome. For a team total, we combine that team’s scoring record with its opponent’s conceding record. For example, a home-team over 1.5 view combines the home team scoring twice with the away team conceding twice.

We weight matches equally, not team percentages equally. A two-game record and a ten-game record give twelve observations before removing any overlap. Head-to-head fixtures appearing in both records count once. Conflicting duplicates are excluded. The combined rate is not adjusted for opponent strength or sample selection.

Fewer than eight games in either record is labelled a limited sample. If one record is empty, we label the figure as the available historical record. With no eligible games, we show no percentage.

Half-time data has its own denominator.

First-half goals come from the half-time score. Second-half goals equal the full-time score minus the half-time score for each side. These calculations exclude extra time. Missing half-time scores do not become zeros: those games are excluded from both half-period denominators, while remaining eligible for full-time figures.

We keep the same selected set of up to ten matches when switching periods. We do not silently replace a match with an older one because its half-time score is missing. Each table cell shows its actual numerator and denominator. A 0–0 half-time score is valid data; a half-time score larger than the full-time score is invalid.

04 / THE LIMITATIONS

An observed frequency is not a forecast.

Eight of ten is 80% of those ten games. It does not establish an 80% chance of the next outcome. The two teams’ percentages are not averaged into a combined chance, confidence rating or fair price.

These small samples do not adjust for opponent strength, red cards, lineups, injuries or tactical changes. Home or away is the scope of the observation, not proof of what caused it.

BTTS, match goals and team goals can describe the same scoring events. Agreement across them is not three independent confirmations. Researching whether a wager offers value would also require a defensible probability estimate and the actual odds; this app does not supply that estimate.

05 / FRESHNESS & CORRECTIONS

Freshness needs a real receipt, too.

Opening the app checks the shared results store. While the dashboard is visible, it checks that store every minute and when you return to the tab. Sportmonks imports run at most once every 30 minutes across visitors. There is no background schedule when nobody is using the app; the next visit checks for an update.

Each import rechecks the last 30 days and the next 35 days for results, corrections and schedule changes. Once a day during use, the full history window is reconciled. We follow all result pages before saving. If an import fails, the last verified dataset stays available. The refresh age continues to increase, and its tooltip explains the delay. Retry attempts are spaced five minutes apart.

“Data refreshed” measures time since Sportmonks was fetched and the resulting snapshot was saved successfully. It does not claim that every fixture has complete scores. Missing half-time scores reduce only the half-period sample. Individual game dates and sample sizes remain visible in the research. The app does not provide in-play research.