{"badge":"October 2026 edition · final · measured 1 Nov 2026 19:15 UTC","best_price_share":{"method":"For every runner in an Australian or New Zealand race that at least three served bookmakers held a closing line on (last observed price within 300 seconds of the jump), a bookmaker scores when its closing win price equals the highest of the group; its share is that count divided by its own closing lines, so equal-best counts for every bookmaker at that price and the column does not sum to 100.","min_books_per_runner":3,"rows":[{"best_or_equal":21452,"closing_lines":56862,"key":"pointsbetau","name":"PointsBet","share_pct":37.7,"sole_best":6037,"sole_best_pct":10.6},{"best_or_equal":20485,"closing_lines":56517,"key":"betright","name":"BetRight","share_pct":36.2,"sole_best":5869,"sole_best_pct":10.4},{"best_or_equal":18016,"closing_lines":56499,"key":"tab","name":"TAB","share_pct":31.9,"sole_best":3533,"sole_best_pct":6.3},{"best_or_equal":13291,"closing_lines":42357,"key":"bet365","name":"bet365","share_pct":31.4,"sole_best":2055,"sole_best_pct":4.9},{"best_or_equal":11810,"closing_lines":54519,"key":"unibet","name":"Unibet","share_pct":21.7,"sole_best":2415,"sole_best_pct":4.4},{"best_or_equal":10776,"closing_lines":56300,"key":"tabtouch","name":"TABtouch","share_pct":19.1,"sole_best":890,"sole_best_pct":1.6},{"best_or_equal":10760,"closing_lines":56677,"key":"sportsbet","name":"Sportsbet","share_pct":19.0,"sole_best":1567,"sole_best_pct":2.8},{"best_or_equal":7299,"closing_lines":39416,"key":"betgold","name":"BetGold","share_pct":18.5,"sole_best":23,"sole_best_pct":0.1},{"best_or_equal":7276,"closing_lines":39421,"key":"boostbet","name":"BoostBet","share_pct":18.5,"sole_best":25,"sole_best_pct":0.1},{"best_or_equal":8132,"closing_lines":56004,"key":"ladbrokes_au","name":"Ladbrokes","share_pct":14.5,"sole_best":182,"sole_best_pct":0.3},{"best_or_equal":8128,"closing_lines":56014,"key":"neds","name":"Neds","share_pct":14.5,"sole_best":170,"sole_best_pct":0.3},{"best_or_equal":6038,"closing_lines":44370,"key":"betr_au","name":"Betr","share_pct":13.6,"sole_best":380,"sole_best_pct":0.9},{"best_or_equal":7429,"closing_lines":55396,"key":"playup","name":"NextBet (formerly PlayUp)","share_pct":13.4,"sole_best":838,"sole_best_pct":1.5},{"best_or_equal":6059,"closing_lines":55228,"key":"palmerbet","name":"Palmerbet","share_pct":11.0,"sole_best":453,"sole_best_pct":0.8},{"best_or_equal":5009,"closing_lines":56333,"key":"betdeluxe","name":"BetDeluxe","share_pct":8.9,"sole_best":99,"sole_best_pct":0.2}],"runners_compared":57197},"bookmakers_excluded":[{"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."}],"bookmakers_included":[{"key":"bet365","name":"bet365"},{"key":"betdeluxe","name":"BetDeluxe"},{"key":"betgold","name":"BetGold"},{"key":"betr_au","name":"Betr"},{"key":"betright","name":"BetRight"},{"key":"boostbet","name":"BoostBet"},{"key":"ladbrokes_au","name":"Ladbrokes"},{"key":"neds","name":"Neds"},{"key":"palmerbet","name":"Palmerbet"},{"key":"playup","name":"NextBet (formerly PlayUp)"},{"key":"pointsbetau","name":"PointsBet"},{"key":"sportsbet","name":"Sportsbet"},{"key":"tab","name":"TAB"},{"key":"tabtouch","name":"TABtouch"},{"key":"unibet","name":"Unibet"}],"cite":{"attribution":"Source: PuntersEdge Australian Racing Market Report, October 2026 edition","canonical":"https://puntersedge.online/market-report/2026-10","canonical_path":"/market-report/2026-10","json":"https://puntersedge.online/market-report/2026-10.json","terms":"The figures and the JSON twin are free to reuse with attribution and a link to the canonical URL. This edition is final and will not change."},"codes":[{"code":"horse","label":"Thoroughbred"},{"code":"harness","label":"Harness"},{"code":"greyhound","label":"Greyhound"}],"countries":["AU","NZ"],"coverage":{"method":"A race is counted when at least one served bookmaker has an archived price for it in the window; books per race is the count of distinct served bookmakers with a price on that race, so it is the depth of the archive rather than the live feed.","races_by_country":{"AU":6738,"NZ":476},"races_total":7214,"rows":[{"code":"greyhound","country":"AU","country_label":"Australia","label":"Greyhound","max_books":15,"mean_books":13.87,"median_books":14,"races":3940},{"code":"harness","country":"AU","country_label":"Australia","label":"Harness","max_books":15,"mean_books":13.88,"median_books":14,"races":1260},{"code":"horse","country":"AU","country_label":"Australia","label":"Thoroughbred","max_books":15,"mean_books":13.8,"median_books":14,"races":1538},{"code":"harness","country":"NZ","country_label":"New Zealand","label":"Harness","max_books":13,"mean_books":12.41,"median_books":13,"races":245},{"code":"horse","country":"NZ","country_label":"New Zealand","label":"Thoroughbred","max_books":13,"mean_books":12.36,"median_books":13,"races":231}]},"docs":{"archive_endpoint":"https://api.puntersedge.online/docs#/racing/archive","coverage_report":"https://puntersedge.online/coverage-report","human_page":"https://puntersedge.online/market-report","json":"https://puntersedge.online/market-report.json","llms_full":"https://puntersedge.online/llms-full.txt"},"edition":{"end_local":"2026-10-31","key":"2026-10","kind":"month","label":"October 2026","start_local":"2026-10-01","timezone":"Australia/Sydney"},"favourites":{"all":{"avg_fav_price":2.38,"placed":5175,"placed_pct":73.9,"races":7000,"strike_pct":42.2,"wins":2957},"method":"The favourite is the runner with the lowest median closing price across served bookmakers (at least two quotes) in each race with a final result; strike rate is the share of those races the favourite won, and placed is the share where it finished in the first three.","rows":[{"avg_fav_price":2.2,"code":"greyhound","label":"Greyhound","placed":2944,"placed_pct":76.5,"races":3849,"strike_pct":44.4,"wins":1708},{"avg_fav_price":2.3,"code":"harness","label":"Harness","placed":1079,"placed_pct":74.1,"races":1456,"strike_pct":44.5,"wins":648},{"avg_fav_price":2.84,"code":"horse","label":"Thoroughbred","placed":1152,"placed_pct":68.0,"races":1695,"strike_pct":35.5,"wins":601}]},"heading_cap":"October 2026","heading_label":"October 2026","longest_winner":{"method":"Among winners with a closing line from at least three served bookmakers, the highest median closing win price; the best and lowest quotes across those bookmakers are shown beside it.","runners_up":[{"best_close":151.0,"books":13,"code":"horse","code_label":"Thoroughbred","country":"AU","lowest_close":126.0,"median_close":151.0,"race_id":"c9945779-ceeb-40e9-808d-eddfa594acde","race_number":8,"runner":"Tauri","start_label":"Thu 29 Oct, 6:30 PM","start_time_local":"2026-10-29T18:30+11:00","start_time_utc":"2026-10-29T07:30:00Z","venue":"Warrnambool","venue_raw":"Warrnambool"},{"best_close":201.0,"books":13,"code":"horse","code_label":"Thoroughbred","country":"AU","lowest_close":81.0,"median_close":101.0,"race_id":"c6f13fd5-10d1-48cb-8347-e38a622a8f24","race_number":3,"runner":"Whoopi Do","start_label":"Sat 3 Oct, 2:44 PM","start_time_local":"2026-10-03T14:44+10:00","start_time_utc":"2026-10-03T04:44:00Z","venue":"Newcastle","venue_raw":"Newcastle"},{"best_close":151.0,"books":13,"code":"greyhound","code_label":"Greyhound","country":"AU","lowest_close":101.0,"median_close":101.0,"race_id":"5216856a-1ee8-4aef-be24-87b6eb4e0d19","race_number":8,"runner":"Jungle Ticket","start_label":"Thu 29 Oct, 8:42 PM","start_time_local":"2026-10-29T20:42+11:00","start_time_utc":"2026-10-29T09:42:00Z","venue":"Gunnedah","venue_raw":"Gunnedah"},{"best_close":126.0,"books":15,"code":"horse","code_label":"Thoroughbred","country":"AU","lowest_close":81.0,"median_close":101.0,"race_id":"4e774b6a-28a3-43d0-97fb-9472eab67527","race_number":2,"runner":"Oasis","start_label":"Fri 23 Oct, 3:50 PM","start_time_local":"2026-10-23T15:50+11:00","start_time_utc":"2026-10-23T04:50:00Z","venue":"Gawler","venue_raw":"Gawler"}],"winner":{"best_close":201.0,"books":13,"code":"horse","code_label":"Thoroughbred","country":"AU","lowest_close":126.0,"median_close":151.0,"race_id":"412990a0-50fd-454d-a091-73416f482d65","race_number":6,"runner":"Royal Gap","start_label":"Wed 14 Oct, 7:50 PM","start_time_local":"2026-10-14T19:50+11:00","start_time_utc":"2026-10-14T08:50:00Z","venue":"Ascot","venue_raw":"Ascot"}},"measured_at":"2026-11-01T19:15:30Z","measured_at_label":"1 Nov 2026 19:15 UTC","measurement_took_seconds":25.9,"movers":{"drifters":[{"books":13,"close":12.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":2,"open":2.2,"race_id":"d22e7107-17c1-4797-987e-9bd3630fc08f","race_number":1,"ratio":5.581,"result":"2nd","runner":"Paw Whimsical","runner_number":1,"start_label":"Wed 28 Oct, 3:27 PM","start_time_local":"2026-10-28T15:27+11:00","start_time_utc":"2026-10-28T04:27:00Z","venue":"Geelong","venue_raw":"Geelong"},{"books":15,"close":34.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":3,"open":6.5,"race_id":"27f3df91-1603-4338-b749-84effe1e34d8","race_number":3,"ratio":5.231,"result":"3rd","runner":"Mrs Mahoney","runner_number":6,"start_label":"Tue 13 Oct, 7:10 PM","start_time_local":"2026-10-13T19:10+11:00","start_time_utc":"2026-10-13T08:10:00Z","venue":"Parkes","venue_raw":"Parkes"},{"books":15,"close":101.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":7,"open":23.0,"race_id":"4ca1e6af-dca4-4a64-938f-985ecbc02b8b","race_number":1,"ratio":5.05,"result":"unplaced","runner":"Louieville","runner_number":8,"start_label":"Tue 20 Oct, 6:04 PM","start_time_local":"2026-10-20T18:04+11:00","start_time_utc":"2026-10-20T07:04:00Z","venue":"Mildura","venue_raw":"Mildura"},{"books":15,"close":41.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":2,"open":8.5,"race_id":"5561c13a-f024-4ac0-a34b-7831238e3610","race_number":7,"ratio":4.824,"result":"2nd","runner":"Mepunga Infrared","runner_number":6,"start_label":"Thu 22 Oct, 8:40 PM","start_time_local":"2026-10-22T20:40+11:00","start_time_utc":"2026-10-22T09:40:00Z","venue":"Warrnambool","venue_raw":"Warrnambool"},{"books":14,"close":41.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":5,"open":8.5,"race_id":"535394aa-7aee-462c-ab12-fb1ce02007e8","race_number":7,"ratio":4.824,"result":"unplaced","runner":"Platinum Release","runner_number":2,"start_label":"Mon 12 Oct, 6:37 PM","start_time_local":"2026-10-12T18:37+11:00","start_time_utc":"2026-10-12T07:37:00Z","venue":"Northam","venue_raw":"Northam"},{"books":15,"close":26.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":5,"open":5.5,"race_id":"cddb5860-9c82-4f3c-987e-f208cf8a84fb","race_number":3,"ratio":4.727,"result":"unplaced","runner":"Just Doug","runner_number":2,"start_label":"Mon 26 Oct, 4:39 PM","start_time_local":"2026-10-26T16:39+11:00","start_time_utc":"2026-10-26T05:39:00Z","venue":"Grafton","venue_raw":"Grafton"},{"books":14,"close":61.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":null,"open":13.0,"race_id":"c0795c38-8c40-4434-bc6c-3ab7390d5e58","race_number":3,"ratio":4.692,"result":"unplaced","runner":"Lethal Trix","runner_number":1,"start_label":"Sun 25 Oct, 12:04 PM","start_time_local":"2026-10-25T12:04+11:00","start_time_utc":"2026-10-25T01:04:00Z","venue":"Healesville","venue_raw":"Healesville"},{"books":14,"close":34.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":null,"open":7.5,"race_id":"5a26ef8d-55de-4138-9d8a-6e0c8863f930","race_number":14,"ratio":4.667,"result":"unplaced","runner":"Mashed Potato","runner_number":3,"start_label":"Mon 19 Oct, 2:34 PM","start_time_local":"2026-10-19T14:34+11:00","start_time_utc":"2026-10-19T03:34:00Z","venue":"Shepparton","venue_raw":"Shepparton"},{"books":15,"close":46.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":2,"open":10.0,"race_id":"1273d1f3-b64f-4f9f-8cef-7b85ad7518cd","race_number":4,"ratio":4.6,"result":"2nd","runner":"Our Better Bro","runner_number":6,"start_label":"Fri 23 Oct, 6:28 PM","start_time_local":"2026-10-23T18:28+11:00","start_time_utc":"2026-10-23T07:28:00Z","venue":"Burnie","venue_raw":"Burnie"},{"books":15,"close":41.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":10,"open":9.0,"race_id":"7a1e0618-6c53-4591-88e4-8e8aa6a50cce","race_number":8,"ratio":4.556,"result":"unplaced","runner":"Deal It Vinnie","runner_number":5,"start_label":"Fri 23 Oct, 5:23 PM","start_time_local":"2026-10-23T17:23+11:00","start_time_utc":"2026-10-23T06:23:00Z","venue":"Albion Park","venue_raw":"Albion Park"}],"method":"For each runner, the median across served bookmakers of closing price divided by opening price, where 'open' is the earliest archived price up to 60 minutes before the jump, each bookmaker observed the runner at least three times over at least 20 minutes and held a closing line, at least three bookmakers qualify, and the race has a final result; steamers are the ten lowest ratios and drifters the ten highest.","steamers":[{"books":15,"close":13.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":6,"open":91.0,"race_id":"12b19828-3ea3-40c9-9381-a7fe4e5a8c7b","race_number":1,"ratio":0.143,"result":"unplaced","runner":"Good Boy Zeus","runner_number":5,"start_label":"Wed 14 Oct, 12:05 PM","start_time_local":"2026-10-14T12:05+11:00","start_time_utc":"2026-10-14T01:05:00Z","venue":"Capalaba","venue_raw":"Capalaba"},{"books":14,"close":26.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":12,"open":151.0,"race_id":"a7dd65b6-ba79-4e85-a3fc-effaa8dcf5a9","race_number":10,"ratio":0.172,"result":"unplaced","runner":"Dee Jays Big Boy","runner_number":2,"start_label":"Mon 5 Oct, 8:50 PM","start_time_local":"2026-10-05T20:50+11:00","start_time_utc":"2026-10-05T09:50:00Z","venue":"Pinjarra","venue_raw":"PINJARRA"},{"books":12,"close":23.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":6,"open":126.0,"race_id":"88a7630b-d04d-4004-babb-59fbd9ea68c8","race_number":1,"ratio":0.19,"result":"unplaced","runner":"Birkirkara","runner_number":4,"start_label":"Sat 31 Oct, 7:08 PM","start_time_local":"2026-10-31T19:08+11:00","start_time_utc":"2026-10-31T08:08:00Z","venue":"Albion Park","venue_raw":"Albion Park"},{"books":12,"close":12.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":8,"open":61.0,"race_id":"588e7216-d81f-472e-bd3e-f09fb5aad6b9","race_number":3,"ratio":0.197,"result":"unplaced","runner":"Toeing The Line","runner_number":9,"start_label":"Thu 8 Oct, 12:43 PM","start_time_local":"2026-10-08T12:43+11:00","start_time_utc":"2026-10-08T01:43:00Z","venue":"Q Straight","venue_raw":"Q Straight"},{"books":15,"close":21.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":4,"open":101.0,"race_id":"e6368485-744e-4d91-bfab-9deab28ebb31","race_number":1,"ratio":0.208,"result":"4th","runner":"Mane Attraction","runner_number":2,"start_label":"Fri 23 Oct, 1:02 PM","start_time_local":"2026-10-23T13:02+11:00","start_time_utc":"2026-10-23T02:02:00Z","venue":"Albion Park","venue_raw":"Albion Park"},{"books":13,"close":21.0,"code":"greyhound","code_label":"Greyhound","country":"AU","finish_position":6,"open":91.0,"race_id":"f93816b7-e11d-4012-80cf-c353aa854751","race_number":7,"ratio":0.209,"result":"unplaced","runner":"Fumbles","runner_number":7,"start_label":"Thu 29 Oct, 2:22 PM","start_time_local":"2026-10-29T14:22+11:00","start_time_utc":"2026-10-29T03:22:00Z","venue":"Richmond Straight","venue_raw":"Richmond Straight"},{"books":8,"close":32.5,"code":"harness","code_label":"Harness","country":"AU","finish_position":10,"open":151.0,"race_id":"cf7ab0f6-09b8-4d89-b684-01d7ab6ba031","race_number":9,"ratio":0.232,"result":"unplaced","runner":"Balladoro","runner_number":5,"start_label":"Sat 10 Oct, 10:10 PM","start_time_local":"2026-10-10T22:10+11:00","start_time_utc":"2026-10-10T11:10:00Z","venue":"Port Pirie","venue_raw":"Port Pirie"},{"books":13,"close":19.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":2,"open":81.0,"race_id":"2222cb25-1108-4df9-850c-961c108360b9","race_number":4,"ratio":0.235,"result":"2nd","runner":"Galvarino","runner_number":1,"start_label":"Fri 30 Oct, 8:22 PM","start_time_local":"2026-10-30T20:22+11:00","start_time_utc":"2026-10-30T09:22:00Z","venue":"Albion Park","venue_raw":"Albion Park"},{"books":14,"close":31.0,"code":"harness","code_label":"Harness","country":"AU","finish_position":9,"open":126.0,"race_id":"7976bfe0-b67d-4624-a45f-e162b68e287b","race_number":1,"ratio":0.246,"result":"unplaced","runner":"Winston Alexander","runner_number":6,"start_label":"Sat 10 Oct, 6:01 PM","start_time_local":"2026-10-10T18:01+11:00","start_time_utc":"2026-10-10T07:01:00Z","venue":"Port Pirie","venue_raw":"Port Pirie"},{"books":15,"close":18.0,"code":"horse","code_label":"Thoroughbred","country":"AU","finish_position":3,"open":71.0,"race_id":"6bfa45a1-9bcb-4f26-8231-aef2da88d61e","race_number":8,"ratio":0.254,"result":"3rd","runner":"Cobblestone Way","runner_number":6,"start_label":"Sun 25 Oct, 5:05 PM","start_time_local":"2026-10-25T17:05+11:00","start_time_utc":"2026-10-25T06:05:00Z","venue":"Sale","venue_raw":"Sale"}]},"overround":{"by_code":[{"avg_pct":124.2,"avg_runners":7.0,"code":"greyhound","label":"Greyhound","median_pct":124.4,"race_books":51686},{"avg_pct":125.8,"avg_runners":9.1,"code":"harness","label":"Harness","median_pct":126.1,"race_books":17727},{"avg_pct":121.4,"avg_runners":9.6,"code":"horse","label":"Thoroughbred","median_pct":121.5,"race_books":20758}],"market_wide":{"avg_pct":123.9,"avg_runners":8.0,"median_pct":124.0,"race_books":90171},"method":"Book percentage is the sum of 1/price across the field at close, per race and bookmaker, counted only where the bookmaker priced the full field (its runner count equals the largest any served bookmaker priced in that race, fields of four or more) and averaged per bookmaker; market-wide is the average over every race-bookmaker pair.","rows":[{"avg_pct":122.7,"avg_runners":8.0,"key":"unibet","median_pct":122.9,"name":"Unibet","race_books":6286,"races":6286},{"avg_pct":122.8,"avg_runners":8.1,"key":"pointsbetau","median_pct":123.0,"name":"PointsBet","race_books":6741,"races":6741},{"avg_pct":123.0,"avg_runners":8.1,"key":"betright","median_pct":122.7,"name":"BetRight","race_books":6515,"races":6515},{"avg_pct":123.2,"avg_runners":8.0,"key":"tabtouch","median_pct":123.4,"name":"TABtouch","race_books":6373,"races":6373},{"avg_pct":123.4,"avg_runners":8.2,"key":"bet365","median_pct":123.7,"name":"bet365","race_books":5085,"races":5085},{"avg_pct":123.7,"avg_runners":8.1,"key":"betr_au","median_pct":123.9,"name":"Betr","race_books":5284,"races":5284},{"avg_pct":123.7,"avg_runners":8.1,"key":"tab","median_pct":123.5,"name":"TAB","race_books":6573,"races":6573},{"avg_pct":123.8,"avg_runners":8.0,"key":"sportsbet","median_pct":124.1,"name":"Sportsbet","race_books":6564,"races":6564},{"avg_pct":123.9,"avg_runners":7.9,"key":"betgold","median_pct":124.0,"name":"BetGold","race_books":4701,"races":4701},{"avg_pct":124.0,"avg_runners":7.9,"key":"boostbet","median_pct":123.9,"name":"BoostBet","race_books":4701,"races":4701},{"avg_pct":124.6,"avg_runners":8.1,"key":"ladbrokes_au","median_pct":125.2,"name":"Ladbrokes","race_books":6593,"races":6593},{"avg_pct":124.6,"avg_runners":8.1,"key":"neds","median_pct":125.2,"name":"Neds","race_books":6589,"races":6589},{"avg_pct":124.7,"avg_runners":8.0,"key":"betdeluxe","median_pct":125.0,"name":"BetDeluxe","race_books":6462,"races":6462},{"avg_pct":125.1,"avg_runners":7.9,"key":"palmerbet","median_pct":125.6,"name":"Palmerbet","race_books":5940,"races":5940},{"avg_pct":125.2,"avg_runners":7.8,"key":"playup","median_pct":125.0,"name":"NextBet (formerly PlayUp)","race_books":5764,"races":5764}]},"period_noun":"month","period_phrase":"in October 2026","period_sentence":"Calendar month October 2026 (Australia/Sydney), measured once after the month closed and never recomputed","period_word":"this month","query_seconds":{"best_price_share":10.34,"coverage":3.71,"favourites":2.41,"longest_winner":1.08,"movers":3.94,"overround":4.36},"recompute_interval_seconds":3600,"recompute_sentence":"This edition is final: measured once on 1 Nov 2026 19:15 UTC from the archive as it stood then (the measurement took 25.9s) and never recomputed. The live report refreshes daily.","report":"PuntersEdge Australian Racing Market Report","source":"race_closing_lines on auodds_api — the archived open/close price pair per race, runner and bookmaker, with finish positions for placegetters","timezone":"Australia/Sydney","title_name":"Australian Racing Market Report — October 2026","week_ending":"2026-10-31","week_ending_label":"31 Oct 2026","window_days":31,"window_end_utc":"2026-10-31T12:59:59Z","window_start_utc":"2026-09-30T14:00:00Z"}