Clarity starts
with context.
The estimate. The observation. The outcome. Keep all three in view when you read the numbers.
Understand the approachVersion · generation time · lineup phase
Bookmaker · price · observation time
Score type · market line · settlement
Start with the source.
The interface reads the Football API. Coverage depends on the competition, fixture and data type.
A defined competition scope
The directory, match boards and model performance cover 20 selected competitions. A listed competition does not guarantee every match has odds or a model.
Different sources, different coverage
Fixtures and team records use API-Football data. Available match detail also uses SofaScore. These sources have separate update times.
Missing stays missing
A dash means the value is unavailable. A retrieval failure has an error state. Neither state is replaced with a sample prediction.
A probability leaves room for uncertainty.
A model estimate describes possible outcomes. It does not make one outcome certain.
Read the exact outcome
1X2 means home win, draw and away win. Over 2.5 means at least three total goals. Both teams to score is a separate estimate. Expected goals is a model estimate of goals, not a win probability.
Keep the model clock attached
Read the model version, generation time and lineup phase. Pre-lineup and post-lineup runs can differ. A pre-match model remains pre-match when a match goes live.
Know what the page can verify
The page displays the published model outputs and their metadata. The displayed probability alone does not establish model calibration, predictive accuracy or future profitability.
Compare the same market, at a recorded time.
A market price and a model estimate are separate observations. Their timestamps can differ.
Actual decimal prices
Featured Matches displays an available complete 1X2 quote. All three prices come from the same source, bookmaker, market and observation time. The newest complete observation is selected.
An observed quote, not an executable offer
Read the bookmaker and quote time below the match. The retrieval time is shown separately. Prices may have changed since observation. A missing complete quote stays blank.
Keep the line and the margin in view
Decimal implied probability starts with 1 divided by the price. The match workspace normalizes a complete 1X2 set to remove its summed margin for comparison. This comparison is not a promised return.
An outcome should keep its original context.
Historical Results pairs available archived models with the recorded match result. It preserves the model timeline.
Strictly before kickoff
Historical comparisons select only model runs recorded strictly before kickoff. A later model is excluded from that comparison. No valid archived run means no model comparison.
Different scores stay separate
Half-time, 90-minute, cumulative extra-time and penalty scores remain separate. Administrative results are not treated as played 90-minute wins. Available event lists can be incomplete.
A match result is not a settled selection
A correct match direction does not establish a profitable selection. Price, stake, market line and settlement rules determine the recorded selection result.
Read the full record, including losses.
Performance uses the selected settlement-date range in UTC. The same filtered records feed totals, charts, breakdowns and exports.
Stake-weighted ROI
ROI equals total net result divided by total recorded stake, multiplied by 100. Zero recorded stake produces no ROI. The cumulative curve adds net results by settlement date.
Keep every outcome type
Full wins, half wins, full losses, half losses and voids stay separate. Settled selections include half outcomes and voids. Positive-outcome rate excludes voids. Pending selections are not settled selections.
Model units and actual USD are independent
Model records use the selected 20-competition scope. The source does not declare their stake currency. Actual execution is a separate USD ledger across all recorded competitions. Do not add the two ledgers together.
Complete records before totals
All source pages must be checked before totals are presented. A cached snapshot retains its original retrieval time. A refresh failure does not turn an older record into a current one.
Know which figures are real.
The homepage includes both API records and labelled interface illustrations. Each serves a different purpose.
Featured Matches · actual API records
The card selects up to seven future, not-started fixtures from the next seven UTC dates. It reads published pre-kickoff models and recorded pre-match quotes. It refreshes approximately once per minute while the page is visible.
Hero and sample performance · illustrations
The stadium hero, sample match analysis and example performance chart illustrate the interface. Their figures are not verified match or performance records. Use the linked match, results and performance pages for available API records.
Start with the next kickoff.
Open a fixture. Check the model time. Compare the available quote.