Methodology - how we calculate statistics
This page explains where Green365 data comes from and how each published number is calculated. The statistics are historical match records, never predictions, forecasts or betting recommendations.
Data sources
Match, roster, transfer and title data comes from licensed sports providers (AllSports API and BetsAPI), ingested continuously by our systems. We do not collect data manually or edit results: what the provider records for a completed match enters our database.
Which matches count
Averages and aggregates include only completed matches with provider statistics. Live matches appear on live pages but enter averages only after completion. When a page shows a window (for example, “last 5 matches” or “career”), the window is identified on that page.
How card averages are calculated
A referee’s card average is the sum of cards shown to both teams in each match officiated, divided by the number of matches. We count only full-match records; providers also record half-by-half partials, which are excluded so no match is counted twice. Individual player statistics are not included in matchup totals.
The same principle applies to fouls, offsides and free kicks: one match, one count.
Player rating and xG (expected goals)
Rating is the data provider’s performance assessment for a player at the end of a match, on a 0–10 scale, combining on-ball and off-ball actions. xG measures the quality of shots: each shot receives a value from 0 to 1 based on the historical probability of becoming a goal, and a match’s xG is the sum of its shots.
Both numbers come from the match provider; we do not calculate them. We calculate the average only across matches where the provider recorded the metric, never across every career match. The player page reports how many matches entered each average.
Provider coverage varies by competition. We publish a metric only when it appears in at least five matches and at least 30% of the displayed window. Values outside the expected scale are treated as bad data and hidden. We do not publish xA because we cannot currently distinguish “not recorded” from “zero”.
What we do not publish
We do not publish probable line-ups (only confirmed line-ups when provided), injuries and absences, market values or player contracts, or transfer fees. When a data block is absent, it is because we do not have the data—we prefer an absence to an invented number.
Corrections
When we identify a calculation error that materially changed a published number, we correct the database, update affected pages and record the correction here. Sports statistics only have value when they can be checked.
Correction — referee card, foul and offside averages (2026): we found that referee pages included both full-match and half-by-half records, counting each match twice; foul totals also included individual player records. The calculation now counts each match exactly once and all referee pages were updated.
Updates
Completed matches are ingested continuously. Derived statistics (referee averages, head-to-head records and recent form) are recalculated from the database on each access with a short cache. Rosters, transfers and titles are updated daily from the provider.