{"measured_at":"2026-10-06T09:44:27Z","measured_at_label":"6 Oct 2026 09:44 UTC","measurement_took_seconds":4.56,"window_days":7,"window_start_utc":"2026-09-29T09:44:27Z","window_end_utc":"2026-10-06T09:44:27Z","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-06T09:44:18Z","hours_stale":0.0},{"key":"betr_au","name":"Betr","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T04:49:01Z","hours_stale":4.9},{"key":"betright","name":"BetRight","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:43:32Z","hours_stale":0.0},{"key":"ladbrokes_au","name":"Ladbrokes","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"neds","name":"Neds","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"palmerbet","name":"Palmerbet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:43:37Z","hours_stale":0.0},{"key":"playup","name":"NextBet (formerly PlayUp)","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"pointsbetau","name":"PointsBet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:13Z","hours_stale":0.0},{"key":"sportsbet","name":"Sportsbet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:23Z","hours_stale":0.0},{"key":"tab","name":"TAB","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:43:53Z","hours_stale":0.0},{"key":"tabtouch","name":"TABtouch","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"unibet","name":"Unibet","races_quoted":96,"share_pct":100.0,"last_price_utc":"2026-10-06T09:43:53Z","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":1633,"au_races_served":1624,"served_bookmaker_count":15,"quoting_now_count":15,"stale_after_hours":6,"market_quiet":false,"races_started_recently":127,"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":1567,"share_pct":96.5,"last_price_utc":"2026-10-06T09:44:23Z","hours_stale":0.0},{"key":"betdeluxe","name":"BetDeluxe","races_quoted":1554,"share_pct":95.7,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"betgold","name":"BetGold","races_quoted":1546,"share_pct":95.2,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"boostbet","name":"BoostBet","races_quoted":1545,"share_pct":95.1,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"tab","name":"TAB","races_quoted":1545,"share_pct":95.1,"last_price_utc":"2026-10-06T09:43:53Z","hours_stale":0.0},{"key":"betright","name":"BetRight","races_quoted":1542,"share_pct":95.0,"last_price_utc":"2026-10-06T09:43:32Z","hours_stale":0.0},{"key":"pointsbetau","name":"PointsBet","races_quoted":1541,"share_pct":94.9,"last_price_utc":"2026-10-06T09:44:13Z","hours_stale":0.0},{"key":"palmerbet","name":"Palmerbet","races_quoted":1537,"share_pct":94.6,"last_price_utc":"2026-10-06T09:43:37Z","hours_stale":0.0},{"key":"tabtouch","name":"TABtouch","races_quoted":1537,"share_pct":94.6,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"unibet","name":"Unibet","races_quoted":1519,"share_pct":93.5,"last_price_utc":"2026-10-06T09:43:53Z","hours_stale":0.0},{"key":"playup","name":"NextBet (formerly PlayUp)","races_quoted":1515,"share_pct":93.3,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"ladbrokes_au","name":"Ladbrokes","races_quoted":1493,"share_pct":91.9,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"neds","name":"Neds","races_quoted":1493,"share_pct":91.9,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0},{"key":"betr_au","name":"Betr","races_quoted":1454,"share_pct":89.5,"last_price_utc":"2026-10-06T04:49:01Z","hours_stale":4.9},{"key":"bet365","name":"bet365","races_quoted":145,"share_pct":8.9,"last_price_utc":"2026-10-06T09:44:18Z","hours_stale":0.0}],"books_per_race":{"median":14,"mean":13.26,"histogram":[{"books":15,"races":64},{"books":14,"races":1330},{"books":13,"races":75},{"books":12,"races":62},{"books":11,"races":2},{"books":10,"races":3},{"books":9,"races":1},{"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":367,"harness":300},"per_day":[{"date":"2026-09-29","races":71,"median_books":14,"mean_books":14.0},{"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":164,"median_books":14,"mean_books":14.39}],"poll_cadence_24h":[{"key":"sportsbet","name":"Sportsbet","samples":689,"connector_poll_age_p50_seconds":7,"connector_poll_age_p90_seconds":17,"price_age_p50_seconds":129,"served_to_customers":true},{"key":"bet365","name":"bet365","samples":354,"connector_poll_age_p50_seconds":8,"connector_poll_age_p90_seconds":109,"price_age_p50_seconds":153,"served_to_customers":true},{"key":"pointsbetau","name":"PointsBet","samples":1386,"connector_poll_age_p50_seconds":8,"connector_poll_age_p90_seconds":19,"price_age_p50_seconds":95,"served_to_customers":true},{"key":"betfair_ex_au","name":"Betfair Exchange","samples":689,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":20,"price_age_p50_seconds":25,"served_to_customers":false},{"key":"ladbrokes_au","name":"Ladbrokes","samples":689,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":106,"served_to_customers":true},{"key":"tab","name":"TAB","samples":689,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":179,"served_to_customers":true},{"key":"tabtouch","name":"TABtouch","samples":946,"connector_poll_age_p50_seconds":9,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":152,"served_to_customers":true},{"key":"betdeluxe","name":"BetDeluxe","samples":689,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":22,"price_age_p50_seconds":134,"served_to_customers":true},{"key":"betright","name":"BetRight","samples":689,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":21,"price_age_p50_seconds":276,"served_to_customers":true},{"key":"boostbet","name":"BoostBet","samples":689,"connector_poll_age_p50_seconds":10,"connector_poll_age_p90_seconds":22,"price_age_p50_seconds":150,"served_to_customers":true},{"key":"betgold","name":"BetGold","samples":689,"connector_poll_age_p50_seconds":11,"connector_poll_age_p90_seconds":22,"price_age_p50_seconds":152,"served_to_customers":true},{"key":"neds","name":"Neds","samples":689,"connector_poll_age_p50_seconds":11,"connector_poll_age_p90_seconds":23,"price_age_p50_seconds":100,"served_to_customers":true},{"key":"playup","name":"NextBet (formerly PlayUp)","samples":687,"connector_poll_age_p50_seconds":11,"connector_poll_age_p90_seconds":22,"price_age_p50_seconds":131,"served_to_customers":true},{"key":"unibet","name":"Unibet","samples":689,"connector_poll_age_p50_seconds":11,"connector_poll_age_p90_seconds":22,"price_age_p50_seconds":154,"served_to_customers":true},{"key":"palmerbet","name":"Palmerbet","samples":685,"connector_poll_age_p50_seconds":14,"connector_poll_age_p90_seconds":26,"price_age_p50_seconds":136,"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":"betr_au","name":"Betr","samples":358,"connector_poll_age_p50_seconds":19,"connector_poll_age_p90_seconds":30,"price_age_p50_seconds":174,"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-22T09:05:00Z","earliest_race_start_label":"22 Aug 2026 09:05 UTC","latest_race_start_utc":"2026-10-06T10:43: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":815,"stale":false,"ttl_seconds":1800,"last_error":null}}