Everything on this site comes from one source and the rules below. No expert opinions in the numbers.
Shots and their quality come from Understat, which tags every shot and derives xG from it; player minutes and goals come from there too. League tables are cross-checked against ESPN — if the top three disagree, the refresh is flagged.
Twice a day, automatically. Every page carries the time of the last refresh, and if the data is older than a week the site says so in the header.
A team's xG becomes a Poisson distribution of goals; two distributions give the probability of a win, a draw and a defeat; those give expected points: 3 × P(win) + 1 × P(draw). The same arithmetic covers both a played match and a future one.
A club's attack and defence strength is its xG and xGA per match against the league average. For each fixture they are multiplied by the opponent's, with a home advantage adjustment (1.12 at home, 0.89 away), and run through the same Poisson model.
We do not sell betting tips and do not work with bookmakers. We do not resell raw Understat data either: we sell the computation, the reading and the design on top of it, with the source credited.
xG knows nothing about red cards, injuries, or a side sitting deep at 2-0. Over ten matches it is useful, over three it is almost noise. We flag those cases, but the judgement stays with the reader.