About Flintstat
Flintstat is a sports statistics and research project. It tests whether plain math on public prices can find odds that are too high. For each game our models read the odds of dozens of bookmakers, set a fair price and show where the best price is above it. Our track record decides which models, sports and odds ranges we publish
This is analysis and research, not betting advice. Nothing here is a promise that a game will go a certain way
What this is, and what it is not
A model gives a probability, not a certainty. A 60 percent chance to win also means the team should lose about four times in ten
We use no insider information, club contacts or fixed-match rumors, and we sell no locks. Everything comes from math on records anyone can look up
What moves a game
A few measurable factors drive outcomes, and they differ by sport
Soccer
- Home advantage, which has shrunk over time and varies by league
- Expected goals (xG), which score the quality of chances created rather than the noisy final score
- Rest and fixture congestion, since short turnarounds and midweek games degrade performance
- Injuries and suspensions to key players, especially a first-choice striker or goalkeeper
- Red cards, which swing a match sharply by changing the goal expectation for a long stretch
Tennis
- Court surface, because the same player can be elite on clay and ordinary on grass
- Serve and return statistics, the most predictive category (points won on serve and return, break points)
- Recent form and short-term fatigue from long matches and quick turnarounds
- Head-to-head history, read carefully and ideally surface by surface
Basketball
- Offensive and defensive rating (points per 100 possessions). Their gap, net rating, is the cleanest quality measure
- Pace, which is why per-possession numbers compare teams better than per-game totals
- Rest and scheduling, since back-to-back games measurably lower performance
- Injuries and load management, since one star sitting out shifts a team's rating
Baseball
- The starting pitcher matchup, the single largest input, read through ERA, WHIP, and strikeout and walk rates
- Park factors, since each stadium inflates or suppresses runs and home runs
- Bullpen strength and recent workload
- Platoon splits and the posted lineup
Turning history into a probability
The standard tools below build the probability of each outcome from past results. Our pick models take it from bookmaker odds instead
Rating systems (Elo). Every team or player carries a rating, and the gap between two ratings gives a win probability through a fixed formula:
expected score = 1 / (1 + 10^((R_opponent − R_team) / 400))
A 200-point gap is about a 76 percent chance, a 400-point gap about 91 percent, and equal ratings are 50/50. After each game a rating changes by K × (actual − expected), so beating a strong opponent lifts it more than beating a weak one
Goal models (Poisson). Goals roughly follow a Poisson distribution. From each team's expected goals you can compute the chance of every scoreline and add them up into home win, draw and away win. The Dixon-Coles adjustment corrects plain Poisson, which slightly underrates low-scoring draws
Regression models. For a yes or no outcome, logistic regression takes many inputs (ratings, rest, home flag, injuries) and returns a single probability between 0 and 1
Even good soccer models are right only about half the time on the three-way market. Their value is in calibrated probabilities over many games
From probability to fair odds, and what an edge means
Fair decimal odds are the inverse of a probability:
fair odds = 1 / probability
A 50 percent chance is fair odds of 2.00, a 25 percent chance is 4.00. Any price reads back the same way, implied probability = 1 / decimal odds
Add up the implied probabilities of every outcome in a bookmaker's market and the total is more than 100 percent. The extra is the bookmaker margin, the vig. To remove it, divide each implied probability by the total so they sum to 100 percent. That gives the market's no-vig probability to set beside the model's. The edge is the expected return of one bet at the best price
edge = model probability × best price − 1
A 44 percent chance at 2.60 gives 0.44 × 2.60 − 1, an edge of 14.4 percent. The edge is positive whenever the best price is above the fair odds. How our picks work shows how each match page uses these numbers
Who is more accurate
The closing line, the last odds before a game starts, is the market's sharpest estimate. By then it has absorbed lineups, injuries and money from informed bettors. A fair test of a model is whether it matches or beats the no-vig closing line over a large sample
Over a handful of games a good model can look bad and a bad one good, so profit and loss is a poor short-term scorecard. Calibration against the closing line shows a real edge much sooner. Since 9 October 2026 we save the odds right before each start and will compare picks with the closing line once we have enough
Limits
- Models estimate probabilities, not outcomes. Variance dominates in the short run and no model removes luck
- Public data has gaps, such as late injury news, weather and motivation, that a model built on history can miss
- Markets are efficient, so most prices are already close to correct
- Overfitting is a constant risk. A model tuned to look great on past games can fail on new ones
- Nothing here is financial advice or a recommendation to bet. You are 18 or older and responsible for your own decisions
Contact
Flintstat is a small, independent project. If you spot an error in the numbers or the method, or have a question about the data, tell us