{"measured_at":"2026-10-06T04:30:46Z","measured_at_label":"6 Oct 2026 04:30 UTC","measurement_took_seconds":23.41,"window_days":7,"window_start_utc":"2026-09-29T04:30:46Z","window_end_utc":"2026-10-06T04:30:46Z","source":"race_snapshots on auodds_api — the production ingest store, change-only price capture","method":"SELECT race_id, bookmaker_key, min(category), min(start_time) FROM race_snapshots WHERE start_time >= (now() AT TIME ZONE 'utc') - interval '7 days' AND start_time <= (now() AT TIME ZONE 'utc') AND country = 'AU' GROUP BY race_id, bookmaker_key","country_filter":"AU","countries_covered":["AU","NZ"],"new_zealand":{"country_filter":"NZ","method":"SELECT race_id, bookmaker_key, min(category), min(start_time) FROM race_snapshots WHERE start_time >= (now() AT TIME ZONE 'utc') - interval '7 days' AND start_time <= (now() AT TIME ZONE 'utc') AND country = 'NZ' GROUP BY race_id, bookmaker_key","races_any_connector":96,"races_served":96,"served_bookmaker_count":12,"bookmakers":[{"key":"betdeluxe","name":"BetDeluxe","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:18Z","hours_stale":0.0},{"key":"betr_au","name":"Betr","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"betright","name":"BetRight","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"ladbrokes_au","name":"Ladbrokes","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"neds","name":"Neds","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"palmerbet","name":"Palmerbet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"playup","name":"NextBet (formerly PlayUp)","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"pointsbetau","name":"PointsBet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"sportsbet","name":"Sportsbet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"tab","name":"TAB","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"tabtouch","name":"TABtouch","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"unibet","name":"Unibet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0}],"books_per_race":{"median":12,"mean":12.0,"histogram":[{"books":12,"races":96}]},"racing_categories":{"harness":52,"horse":44},"per_day":[{"date":"2026-09-30","races":16,"median_books":12,"mean_books":12.0},{"date":"2026-10-01","races":14,"median_books":12,"mean_books":12.0},{"date":"2026-10-02","races":28,"median_books":12,"mean_books":12.0},{"date":"2026-10-03","races":20,"median_books":12,"mean_books":12.0},{"date":"2026-10-04","races":18,"median_books":12,"mean_books":12.0}],"note":"New Zealand racing, measured exactly as the Australian figures are: same window, same query, same excluded bookmakers, country = 'NZ'. The racing codes are measured rather than asserted — no New Zealand greyhound race has appeared in this store. NZ does not race every day, so a missing per-day row is a day with no NZ meeting, not a gap in capture."},"recompute_interval_seconds":1800,"excluded_bookmakers":[{"key":"betfair_ex_au","name":"Betfair Exchange","reason":"Ingested for internal reference only; withheld from customer responses pending a Betfair data licence."},{"key":"pinnacle","name":"Pinnacle","reason":"Non-Australian reference book, not part of the AU racing comparison set."}],"au_races_any_connector":1623,"au_races_served":1614,"served_bookmaker_count":15,"quoting_now_count":15,"stale_after_hours":6,"market_quiet":false,"races_started_recently":53,"degraded_bookmakers":[],"coverage_note":"served_bookmaker_count is measured across the whole window; quoting_now_count is measured against the last 6 hours. A book is named in degraded_bookmakers only when it is quiet WHILE ITS PEERS ARE WRITING -- hours_behind_fleet is that lag -- so the nightly gap between Australian race cards, when every book is equally quiet, is reported as market_quiet=true with an empty degraded list rather than as fourteen simultaneous outages.","bookmakers":[{"key":"sportsbet","name":"Sportsbet","races_quoted":1556,"share_pct":96.4,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"betdeluxe","name":"BetDeluxe","races_quoted":1544,"share_pct":95.7,"last_price_utc":"2026-10-06T04:30:18Z","hours_stale":0.0},{"key":"betgold","name":"BetGold","races_quoted":1536,"share_pct":95.2,"last_price_utc":"2026-10-06T04:30:18Z","hours_stale":0.0},{"key":"boostbet","name":"BoostBet","races_quoted":1535,"share_pct":95.1,"last_price_utc":"2026-10-06T04:30:18Z","hours_stale":0.0},{"key":"tab","name":"TAB","races_quoted":1535,"share_pct":95.1,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"betright","name":"BetRight","races_quoted":1532,"share_pct":94.9,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"pointsbetau","name":"PointsBet","races_quoted":1530,"share_pct":94.8,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"tabtouch","name":"TABtouch","races_quoted":1527,"share_pct":94.6,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"palmerbet","name":"Palmerbet","races_quoted":1526,"share_pct":94.5,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"betr_au","name":"Betr","races_quoted":1524,"share_pct":94.4,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0},{"key":"unibet","name":"Unibet","races_quoted":1509,"share_pct":93.5,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"playup","name":"NextBet (formerly PlayUp)","races_quoted":1503,"share_pct":93.1,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"ladbrokes_au","name":"Ladbrokes","races_quoted":1483,"share_pct":91.9,"last_price_utc":"2026-10-06T04:30:08Z","hours_stale":0.0},{"key":"neds","name":"Neds","races_quoted":1483,"share_pct":91.9,"last_price_utc":"2026-10-06T04:30:13Z","hours_stale":0.0},{"key":"bet365","name":"bet365","races_quoted":35,"share_pct":2.2,"last_price_utc":"2026-10-06T04:30:02Z","hours_stale":0.0}],"books_per_race":{"median":14,"mean":13.23,"histogram":[{"books":15,"races":35},{"books":14,"races":1347},{"books":13,"races":76},{"books":12,"races":62},{"books":11,"races":2},{"books":10,"races":3},{"books":9,"races":2},{"books":8,"races":4},{"books":7,"races":2},{"books":6,"races":3},{"books":5,"races":1},{"books":4,"races":7},{"books":3,"races":1},{"books":2,"races":4},{"books":1,"races":65}]},"racing_categories":{"greyhound":957,"horse":362,"harness":295},"per_day":[{"date":"2026-09-29","races":171,"median_books":14,"mean_books":13.96},{"date":"2026-09-30","races":221,"median_books":14,"mean_books":13.76},{"date":"2026-10-01","races":228,"median_books":14,"mean_books":13.93},{"date":"2026-10-02","races":290,"median_books":14,"mean_books":11.37},{"date":"2026-10-03","races":246,"median_books":14,"mean_books":12.87},{"date":"2026-10-04","races":204,"median_books":14,"mean_books":13.3},{"date":"2026-10-05","races":200,"median_books":14,"mean_books":13.93},{"date":"2026-10-06","races":54,"median_books":15,"mean_books":14.65}],"poll_cadence_24h":[{"key":"sportsbet","name":"Sportsbet","samples":691,"connector_poll_age_p50_seconds":7,"connector_poll_age_p90_seconds":17,"price_age_p50_seconds":127,"served_to_customers":true},{"key":"betfair_ex_au","name":"Betfair Exchange","samples":691,"connector_poll_age_p50_seconds":8,"connector_poll_age_p90_seconds":19,"price_age_p50_seconds":25,"served_to_customers":false},{"key":"pointsbetau","name":"PointsBet","samples":1388,"connector_poll_age_p50_seconds":8,"connector_poll_age_p90_seconds":18,"price_age_p50_seconds":98,"served_to_customers":true},{"key":"tabtouch","name":"TABtouch","samples":948,"connector_poll_age_p50_seconds":8,"connector_poll_age_p90_seconds":19,"price_age_p50_seconds":154,"served_to_customers":true},{"key":"betright","name":"BetRight","samples":691,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":20,"price_age_p50_seconds":242,"served_to_customers":true},{"key":"ladbrokes_au","name":"Ladbrokes","samples":691,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":19,"price_age_p50_seconds":105,"served_to_customers":true},{"key":"tab","name":"TAB","samples":691,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":20,"price_age_p50_seconds":198,"served_to_customers":true},{"key":"betdeluxe","name":"BetDeluxe","samples":691,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":130,"served_to_customers":true},{"key":"betgold","name":"BetGold","samples":691,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":20,"price_age_p50_seconds":173,"served_to_customers":true},{"key":"boostbet","name":"BoostBet","samples":691,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":20,"price_age_p50_seconds":172,"served_to_customers":true},{"key":"neds","name":"Neds","samples":691,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":105,"served_to_customers":true},{"key":"playup","name":"NextBet (formerly PlayUp)","samples":689,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":124,"served_to_customers":true},{"key":"unibet","name":"Unibet","samples":691,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":164,"served_to_customers":true},{"key":"palmerbet","name":"Palmerbet","samples":687,"connector_poll_age_p50_seconds":14,"connector_poll_age_p90_seconds":26,"price_age_p50_seconds":143,"served_to_customers":true},{"key":"betr_au","name":"Betr","samples":669,"connector_poll_age_p50_seconds":17,"connector_poll_age_p90_seconds":30,"price_age_p50_seconds":201,"served_to_customers":true},{"key":"ladbrokes_uk","name":"ladbrokes_uk","samples":36,"connector_poll_age_p50_seconds":17,"connector_poll_age_p90_seconds":28,"price_age_p50_seconds":81,"served_to_customers":true},{"key":"bet365","name":"bet365","samples":51,"connector_poll_age_p50_seconds":100,"connector_poll_age_p90_seconds":175,"price_age_p50_seconds":265,"served_to_customers":true}],"cadence_note":"connector_poll_age is how old the connector's last successful read of the bookmaker was. price_age is how old the PRICES are. Capture is change-only, so a price can be minutes old while the poll confirming it is seconds old. They are different statistics; do not quote one as the other.","price_history_depth":{"earliest_race_start_utc":"2026-08-22T04:04:00Z","earliest_race_start_label":"22 Aug 2026 04:04 UTC","latest_race_start_utc":"2026-10-06T05:30:00Z","days":45,"retention_target_days":45,"note":"The price store spans the full 45-day retention horizon it purges to, so its earliest race (2026-08-22) moves forward every day. Closing lines and price paths outlive the purge in the permanent archive (/v1/racing/closing-lines)."},"connectors_seen_in_window":["bet365","betdeluxe","betfair_ex_au","betgold","betr_au","betright","boostbet","ladbrokes_au","neds","palmerbet","playup","pointsbetau","sportsbet","tab","tabtouch","unibet"],"docs":{"human_page":"https://puntersedge.online/coverage-report","json":"https://puntersedge.online/coverage-report.json","llms_full":"https://puntersedge.online/llms-full.txt","openapi":"https://api.puntersedge.online/openapi.json"},"cache":{"age_seconds":37,"stale":false,"ttl_seconds":1800,"last_error":null}}