Our automated data pipeline runs every morning from 06:00 GMT, pulling from a network of verified football data providers that cover more than 50 leagues. The system collects recent form across the last 5, 10, and 20 games, squad injury and suspension lists, confirmed lineups as they are released, home and away performance splits, referee assignments, weather forecasts for outdoor stadiums, and head-to-head records going back 10 seasons. Everything is refreshed again within two hours of each match kick-off so we can factor in late team news and any last-minute lineup changes before a tip goes live.
The Prediction Pipeline
Expected Goals, or xG, measures the quality of every shot a team creates rather than simply counting how many goals they score. A team that scores three goals from twenty shots is far less dangerous than one that scores three from six high-quality chances. Our xG model is calibrated against more than two million shot events across six seasons of data, assigning a probability value between 0 and 1 to each shot based on its location, assist type, body part used, game state, and defensive pressure at the moment of the attempt. We calculate rolling xG averages for both attack and defence across the last 5, 10, and 20 matches, weighting recent games more heavily to reflect current form. This gives us a much more accurate picture of a team's real quality than raw goals or league table position ever could.
Once we have each team's expected goal output for a fixture, those numbers go into a Poisson distribution model. Poisson is a well-established statistical technique that calculates the probability of a given number of events occurring based on an expected rate. By running it separately for both the home and away team's expected goals, we generate a probability for every possible scoreline: 0-0, 1-0, 0-1, 1-1, 2-0, and so on up to six or more goals per side. Those scoreline probabilities are then combined to produce win, draw and loss probabilities, Over and Under goal-line probabilities, BTTS likelihood, and correct score rankings. This is the mathematical backbone behind every GoalVertex tip.
xG and Poisson modelling are powerful but they are not perfect. They can underweight a significant mismatch in overall team quality between, say, a Champions League contender and a relegation-threatened side. To account for this, our engine incorporates Elo ratings: a dynamic team strength score that updates after every result, weighting recent games more heavily and factoring in margin of victory. Elo scores adjust our base xG inputs before the Poisson model runs. On top of that, we cross-reference our probability outputs against live betting market odds from several major bookmakers. When our model diverges significantly from the market, a manual review flag is triggered. Sharp bookmaker odds often reflect information such as late injuries or squad rotations that has not yet made it into public data feeds, and we take that seriously.
Statistical models are powerful tools, but football is played by people, not spreadsheets. Our analyst team reviews every high-priority tip the model generates before it goes live. Analysts look at contextual factors that no model can fully capture: a manager's tendency to rotate heavily in cup games, a striker working his way back from a long injury layoff, a local derby where recent form simply goes out the window, or a financially troubled club fielding several academy players to cut costs. They also write the match analysis you read on every tip card, so each published prediction comes with clear reasoning you can evaluate yourself. Not a single prediction goes live on GoalVertex without expert sign-off.
Every GoalVertex tip gets a unique record entry the moment it is published. Once a match finishes, the result is updated in real time. Wins, losses, and voids are all logged in full. We never delete losing predictions, retroactively change tips, or exclude underperforming markets from our accuracy figures. Our 89% accuracy rate is calculated across every settled tip, every market, and every league we cover, with absolutely no cherry-picking. You can filter our track record by league, market type, and date range at any time on our results page. We think transparency is the only honest foundation for a prediction service, and we intend to keep it that way.
Sofia Reyes
Sofia holds a PhD in statistical modelling from UCL and previously worked as a lead data scientist inside a Premier League club's analytics department. She designed and continues to develop the xG and Poisson frameworks that power every GoalVertex prediction. The methodology described on this page reflects GoalVertex's live production system as of March 2026.
What Our Model Outputs
By summing the Poisson probabilities for every scoreline that contains a certain number of goals or more, we calculate the exact probability of Over 1.5, Over 2.5, Over 3.5, Under 2.5, and Under 3.5 landing for any given fixture. We only publish a tip when the model probability clears our minimum threshold and the expected value against bookmaker odds is positive. Over 1.5 goals is our highest-volume market and has historically been our most accurate one, which makes sense given that the vast majority of professional football matches produce at least two goals.
BTTS probability is derived from our Poisson model by summing all scorelines where both teams score at least one goal, which means excluding every X-0 and 0-X result. The remaining probability gives us our BTTS No figure. We then adjust this calculation using each team's clean sheet rate and recent goalscoring form. A team that has kept four clean sheets in their last five home games will significantly pull down the BTTS Yes probability, regardless of what the Poisson baseline suggests on its own. We publish BTTS tips when model probability is above 68% and recent form backs up the signal.
Our Poisson model outputs a probability for every scoreline up to 6-6. For correct score tips, we rank all of those scorelines by probability and identify the strongest candidate, then cross-reference it against historical scoreline frequency for that specific fixture type. For example, we look at how often this exact matchup has historically ended 1-0 versus 2-1. We only publish a correct score tip when the top-ranked scoreline carries at least 13% model probability and the historical data supports it. Correct score is the most difficult market we cover and we are upfront about that. We recommend readers treat these tips as supplementary selections rather than standalone bets.