Open data · CC-BY-4.0

The dataset behind every number on this site

7,794 football (soccer) predictions, every one logged before kick-off, with the fair probability we derived, the price you could have taken, where the market closed, and what actually happened. Free to download and reuse with attribution.

Download the CSV (1.8 MB) ↓

Last rebuilt:

This file is a monthly snapshot, rebuilt on the 1st of each month. The live record (8,372 predictions so far) is updated every few minutes and has its own CSV: Track Record → · Live record (CSV; the value flags are in its value_* columns) ↓

7,794
Predictions
11 Jun 2026 → 1 Nov 2026
Covers
CSV
Format
CC-BY-4.0
Licence

What is in it

One row per prediction. The Pinnacle prices are the ones recorded when the prediction was logged or, if Pinnacle had no price then, the first quoted after logging and before kick-off (sometimes written in after the match). The fair probabilities are the sharp market with the bookmaker margin removed by a power devig. For soft prices before 21 September 2026, see the caveat below. Rows whose match was postponed or never played are marked void rather than silently dropped.

Columns What it holds
kickoff_utc, league, country, home, away Kick-off in UTC, competition, country and the two teams.
fair_prob_home / draw / away Margin-free probabilities for home, draw and away, devigged from the sharp market.
pin_open_* / pin_close_* Sharp bookmaker prices at our first snapshot and at the close, per selection.
best_soft_* / best_soft_book_* Best price we found across soft bookmakers when the prediction was logged, and which bookmaker offered it. Caveat: for rows logged before 21 September 2026 it is the highest soft price seen at any time before logging, not necessarily one still available at that moment, so it overstates what was bettable. From 21 September it is the best price live at logging.
prediction_pick, prediction_odds_taken, prediction_closing_odds, prediction_clv_pct The selection we logged, the Pinnacle price recorded for it, the Pinnacle closing odds and the closing line value in percent. This CLV compares two raw Pinnacle prices (margin left in; the margin is usually smaller at the close), so it is not the devigged CLV we use for value flags.
market_margin_min_pct, market_margin_avg_pct, books_priced Measured market margin on that match (lowest and average) and how many bookmakers were priced.
result, prediction_won, void_reason Official 1X2 result, whether the prediction won, and why a row is void when it is.
record_hash Fingerprint of the prediction as recorded: teams, kick-off, our model probabilities, the Pinnacle prices recorded for it (at logging or, if there were none, the first quoted after logging and before kick-off, which can be written in after the match) and the log time. It changes if any of those change, including a rescheduled kick-off. It does not cover closing prices, soft prices, margins or results.

How to cite

The licence is CC-BY-4.0: use it for anything, including commercially, as long as you credit the source. A link is the credit we ask for.

TipsAudit (2026). TipsAudit Football Prediction Dataset:
fair odds, closing line value and bookmaker margins.
https://tipsaudit.com/data — CC-BY-4.0.

Frequently asked

Is this football odds dataset really free?

Yes, under CC-BY-4.0. You can use it in research, in a product, or commercially; the only condition is attribution to tipsaudit.com. There is no key, no sign-up and no rate limit on the file itself.

Where do the fair odds come from?

From the sharpest bookmaker prices we track, with the margin removed using a power devig, which strips proportionally more from longshots than a simple normalisation. The same figures drive the public pages, so anything you compute from the file should reproduce what the site shows.

Can I verify the data was not edited after the results were known?

Partly. record_hash fingerprints the values recorded for the prediction, including its kick-off time (a rescheduled kick-off changes it), and the full record is snapshotted daily to a public Git repository and timestamped with OpenTimestamps; timestamped snapshots are never overwritten, so a change to a past row shows up when you compare snapshots. Closing prices and results are added after the match and are not in the hash; check them by comparing snapshots. The repository’s corrections file lists the corrections we announced.

Found this useful? Send it to a friend who bets.