The archive · open data
Open data
The race facts behind our pages, free to download, quote and build on. Every published angle in our store — the favourite by field, season and going, the each-way table, the overround, the beliefs punters argue about — with its runs, wins, places and fair A/E over every British and Irish race since 2005.
One table, dated, with its sample size on every row. For assistants and agents, the page for AI readers maps the whole site.
Kickthebookies racing angles — every GB and Irish race since 2005
Every completed race in Great Britain and Ireland in our archive, non-runners excluded, summed from our daily angles store and rebuilt every night after the day’s results. Each row is one segment of one angle: how many ran, how many won and placed, and how the winners compare with a margin-free reading of the starting prices (fair A/E, defined here). Each row also carries the same figures over the last 365 days (27 October 2025 to 26 October 2026), so the current trend sits beside the long-run record.
Using it
Licence: CC BY 4.0 — use it, quote it and build on it, with credit to Kickthebookies and a link to this page.
How to cite:
Kickthebookies, "Kickthebookies racing angles — every GB and Irish race since 2005", every GB and Irish race 2 January 2005 to 25 October 2026, https://kickthebookies.com/open-data/
Read it carefully: fair A/E reads a little above 1.00 for short-priced runners and well below for long shots (the favourite–longshot bias), so compare rows with each other, never with 1.00 alone. A segment with fewer than 1,000 runs carries its runs and “too few to say”, never a rate. The words we put on these facts are on The price of a bet and Racing myths, measured.
What is not here: our own figures (KTB Rating, KTB Speed, the Fit Score), any runner or race row, and any bookmaker’s price. The figures stay on the site; the facts are free to leave.
The columns
- angle
- The angle's id in our store (stable).
- angle_title
- What the angle measures.
- segment
- The segment's key within the angle (stable).
- segment_label
- The segment in words.
- first_date
- The first race day in the segment (YYYY-MM-DD).
- last_date
- The last race day in the segment (YYYY-MM-DD).
- runs
- Runners counted (non-runners never count).
- wins
- Of those, winners.
- win_pct
- Wins ÷ runs × 100, one decimal. Blank when too few to say.
- places
- Placed runners, where the angle counts places (else blank).
- place_pct
- Places ÷ runs × 100, one decimal. Blank when not counted or too few to say.
- runs_fair
- Runs with a margin-free starting-price probability (the fair A/E sample).
- fair_ae
- Wins ÷ the sum of margin-free SP probabilities, two decimals; 1.00 = won as often as the fair market said. Blank when too few to say.
- note
- "too few to say" when the segment is under the store's floor; otherwise blank.
- as_at
- The last race day in the store when the row was read.
- window_365
- The rolling year the _365 columns cover (YYYY-MM-DD/YYYY-MM-DD): the 365 days to yesterday.
- runs_365
- Runners counted in the rolling year (0 when the segment had none).
- wins_365
- Of those, winners.
- win_pct_365
- Wins ÷ runs over the rolling year, one decimal. Blank when too few to say.
- places_365
- Placed runners in the rolling year, where the angle counts places (else blank).
- place_pct_365
- Places ÷ runs over the rolling year, one decimal. Blank when not counted or too few to say.
- runs_fair_365
- Runs in the rolling year with a margin-free starting-price probability.
- fair_ae_365
- Fair A/E over the rolling year, two decimals. Blank when too few to say.
- note_365
- "too few to say" when the rolling year is under the store's floor for the segment; otherwise blank.
The angles in it
- The favourite through the seasons, by code
fav_season_code · 8 rows - The jumps favourite in the autumn changeover, by its break
fav_autumn_jumps_break · 4 rows - The favourite by going, by code
fav_going_code · 15 rows - The favourite by going and its own fair price band
fav_going_price · 12 rows - The favourite in GB and in Ireland, by code
fav_region_code · 4 rows - The favourite by month, by code
fav_month_code · 24 rows - The favourite when the race lost runners
fav_nr_count · 4 rows - The favourite by time of day
fav_time_of_day · 4 rows - The market's shape — the favourite by how clear it is
mkt_shape · 5 rows - The winner's price through the seasons, by code
winners_season_code · 8 rows - The winner's price by going, by code
winners_going_code · 15 rows - The last-time-out winner by season, by code
ltow_season_code · 8 rows - The last-time-out winner by going, by code
ltow_going_code · 15 rows - Odds-on (fair) runners, by code
odds_on_code · 2 rows - The each-way table — place rate by market rank × field size
ew_table · 21 rows - Two or more from one yard — the first and the second string
stablemates · 3 rows - The price of a bet — the overround and the field, by field size
market_field · 8 rows - Claiming riders, by the claim
claim · 4 rows - Claiming riders in handicaps, by the claim
claim_hcap · 4 rows - Top weight and bottom weight in handicaps, by field size
hcap_weight_field · 9 rows - The handicap top weight by going, by code
hcap_topweight_going · 6 rows - Every runner by age
age · 6 rows - Three-year-olds against older horses on the flat, by month
three_v_older · 24 rows - Fillies and mares against males on the flat
fillies_v_males · 2 rows - Days since the last run, by code
days_since_run_code · 12 rows - First-time headgear, by type
headgear_first · 35 rows - First-time headgear, by code
headgear_first_code · 4 rows - The headgear change
headgear_change · 5 rows - A new yard's first run
trainer_change · 3 rows - Days since the horse last won
days_since_win · 7 rows - Course form
course_form · 4 rows - The code switch
code_switch · 3 rows - The class move
class_move · 4 rows - The distance move from the last run
dist_move · 6 rows - A new jockey for the horse
jockey_new · 3 rows
Compiled by Kickthebookies from our own results archive; every figure read from the store, none typed. What we publish and why is in the editorial policy. Questions or corrections: the contact page.