{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/tom-hill/",
 "canonical": "/authors/tom-hill/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Tom Hill: Football Prediction Record",
 "description": "11 settled picks by Tom Hill archived before kick-off across 8 matches, 17 Aug 2024 – 22 Feb 2026: −25.8% reconstructed at archived prices.",
 "first_paragraph": {
  "body": "Forecast Record restored 11 settled archived picks by Tom Hill from copies archived before kick-off, across 8 matches between 17 August 2024 and 22 February 2026. Reconstructed at archived prices, these picks returned −25.8% on the total staked. Of the 24 predictions we hold for Tom Hill, 14 were archived before kick-off by an independent web archive and 10 first found after the match. Figures as of 7 November 2026.",
  "key_number": "−25.8%",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": true,
 "noindex_reason": null,
 "indexing_threshold": {
  "settled_count": 11,
  "date_count": 7,
  "required_settled": 10,
  "required_dates": 2,
  "live_count": 0,
  "restored_count": 11,
  "of_them_archived": 8
 },
 "data_date": "2026-11-07T19:52:23.438Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "0deee6906a313db0e723cf1a771849f54925fc4b45acc27d53aaf375cc724f16",
 "dependency_group": "author:e-ad6cf83fb768c5f16139a437",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Person",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/tom-hill/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/tom-hill/picks.csv",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": true,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": {
  "container": true,
  "request_url": "/partnery/moi",
  "disclosure": "Some links below are affiliate links and are marked as such. They never affect what you see above: the order of any table is computed before any commission is known.",
  "page_category": "author"
 },
 "restrictions": {
  "name_withdrawn": false,
  "tracker_number": null,
  "withdrawn_quotes": [],
  "removed_at": null,
  "cause": null,
  "suspended_records": [],
  "withdrawal_log_number": 0
 },
 "page_links": {
  "methodology": "/methodology/",
  "right_of_reply": "/right-of-reply/",
  "source_coverage": "/coverage/",
  "corrections_log": "/corrections/",
  "api": "/api/",
  "claim": "/claim/"
 },
 "entity": {
  "id": "e-ad6cf83fb768c5f16139a437",
  "public_name": "Tom Hill",
  "tracker_number": 1529,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-28",
   "until": "2026-10-14"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-ad6cf83fb768c5f16139a437-roi-market-price-90d-z99",
   "code_name": "roi_market_price",
   "display_name": "Return on stakes at an independent odds snapshot",
   "window_kind": "90d",
   "window_from": "2026-08-09",
   "window_to": "2026-11-07",
   "amount": null,
   "unit": "percent",
   "data_status": "unknown",
   "cause": "no pick in this window has been settled",
   "n_bets": 0,
   "n_events": 0,
   "n_void": null,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": null,
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T19:52:23.438Z",
   "enough_for_ranking": false,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 0 settled picks across 0 matches",
  "average_odds": null,
  "odds_from_author": null,
  "odds_from_snapshot": null
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_key": null,
  "series_label": "No level stake placed",
  "bankroll_hundredths": 1000000,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "top_up_count": 0,
  "profit_hundredths": 0,
  "rewards_off": null,
  "data_points": [],
  "top_ups": [],
  "rule": "Every tracked author starts with 10,000 points and stakes 100 per qualifying pick. This author has 0 settled bets, so the bankroll stands at its starting value."
 },
 "simulations": [],
 "completeness": {
  "detected": 75,
  "recognised": 24,
  "accepted": 17,
  "executed": 17,
  "calculated": 17,
  "gaps": [
   {
    "cause": "not_supported",
    "figure": 4
   },
   {
    "cause": "read after the match, from archived pages",
    "figure": 3
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 75,
  "of_them_restored": 75,
  "not_predictions": {
   "opinions": 9,
   "not_about_a_match": 42,
   "unclassified": 0
  },
  "predictions": 24,
  "predictions_restored": 24,
  "matches": 0,
  "admitted": 17,
  "qualifying_picks": 17,
  "qualifying_picks_restored": 17,
  "settled_picks": 17,
  "settled_picks_restored": 17,
  "series_list": [
   {
    "code_name": "retro_market_closing",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 5,
    "settled_picks": 5,
    "void": 0,
    "pending_picks": 0,
    "matches": 3,
    "operations_settled": 5,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "retro-1.0"
    ],
    "display_name": "Restored, at the closing market price"
   },
   {
    "code_name": "retro_author_price",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 12,
    "settled_picks": 12,
    "void": 0,
    "pending_picks": 0,
    "matches": 11,
    "operations_settled": 12,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "retro-1.0"
    ],
    "display_name": "Restored, at the author's stated price"
   },
   {
    "code_name": "retro_market_closing_sm",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 16,
    "settled_picks": 16,
    "void": 0,
    "pending_picks": 0,
    "matches": 12,
    "operations_settled": 16,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "retro-1.1"
    ],
    "display_name": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)"
   }
  ],
  "gaps": [
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 4
   },
   {
    "code_name": "after_match",
    "cause": "read after the match, from archived pages",
    "figure": 3
   }
  ],
  "duplicates": 1,
  "junk": {
   "ads": 2
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-15faff60a26d8ae1c09157df",
   "url": "/evidence/?pick=n-15faff60a26d8ae1c09157df",
   "quote_text": "Chelsea vs Brentford predicted line-ups",
   "fragment_from": 2555,
   "fragment_to": 2594,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-28eec809e0d6d60290b75d7f",
   "url": "/evidence/?pick=n-28eec809e0d6d60290b75d7f",
   "quote_text": "They have taken just one point from a possible 21 on the road and they could be up against it from the first whistle.",
   "fragment_from": 1971,
   "fragment_to": 2088,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c6d6e5fc36ba614bf13c8ec7",
   "url": "/evidence/?pick=n-c6d6e5fc36ba614bf13c8ec7",
   "quote_text": "The Bees should get some joy of their own in front of goal, having scored in 13 of their 15 league games, but they have yet to win away from home this season.",
   "fragment_from": 1812,
   "fragment_to": 1970,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-179b11c5f49edbcff3df02d0",
   "url": "/evidence/?pick=n-179b11c5f49edbcff3df02d0",
   "quote_text": "Maresca's men have scored at least three goals in four consecutive games and they face a Brentford side who have kept only one clean sheet in the league all season.",
   "fragment_from": 1646,
   "fragment_to": 1810,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-09638e90ef701fee028ff1a9",
   "url": "/evidence/?pick=n-09638e90ef701fee028ff1a9",
   "quote_text": "Chelsea are unbeaten in nine outings in all competitions and seven in the Premier League and they have been racking up the goals domestically.",
   "fragment_from": 1502,
   "fragment_to": 1644,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7d9ef29797d5100100c71da8",
   "url": "/evidence/?pick=n-7d9ef29797d5100100c71da8",
   "quote_text": "The Blues' 3-1 win over Astana in the Europa Conference League was further proof that manager Enzo Maresca is getting a tune out of his players after a bumpy start.",
   "fragment_from": 1336,
   "fragment_to": 1500,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ad34685339d90cfeffe7cd10",
   "url": "/authors/tom-hill/picks/2/#pick-n-ad34685339d90cfeffe7cd10",
   "quote_text": "Chelsea to win & both teams to score\n2pts 13-10 bet365, Hills",
   "fragment_from": 3001,
   "fragment_to": 3062,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
    "material_removed": false
   },
   "published_at": "2024-12-14T16:02:03.000Z",
   "detected_at": "2026-10-01T01:05:39.712Z",
   "executed_at": "2026-11-07T18:22:37.357Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Chelsea v Brentford",
    "competition_name": "Premier League",
    "starts_at": "2024-12-15T19:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Chelsea win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.3",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.3350",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 13350,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-12-14T16:46:23.000Z",
   "dates": {
    "fragment_at": "2024-12-14T16:02:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "archive_snapshot_at": "2024-12-14T16:46:23.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 1 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "Chelsea win, both teams to score: yes",
    "author_odds": "2.3",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Chelsea win, both teams to score: yes at 2.3"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Chelsea 2-1 Brentford."
   },
   "settlements": [
    {
     "operation_id": "4b35837ecc15a75acc6f2fe3aca7071804db878d5c1f3a25c1b5b06bf1dce93a",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Chelsea win, both teams to score: yes",
     "decimal_odds": "2.3",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 13000,
     "executed_at": "2026-11-07T18:22:37.350Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "525be64a1db26a156f621b8c693ec89e4f7d138b9de2a878537785c0472ac8c4",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Chelsea win, both teams to score: yes",
     "decimal_odds": "2.3350",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 13350,
     "executed_at": "2026-11-07T18:22:37.357Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-28bea023fa12a565441cf47b",
   "url": "/evidence/?pick=n-28bea023fa12a565441cf47b",
   "quote_text": "Vitaly Janelt is set to miss out and Kevin Schade and Caoimhin Kelleher are doubts.",
   "fragment_from": 6957,
   "fragment_to": 7040,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bf38e1590c32aa7b0f99a88f",
   "url": "/evidence/?pick=n-bf38e1590c32aa7b0f99a88f",
   "quote_text": "Midfielder Nicolas Dominguez (knee) is Forest's only concern.",
   "fragment_from": 6683,
   "fragment_to": 6744,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-81c452755c7509886061b9ca",
   "url": "/evidence/?pick=n-81c452755c7509886061b9ca",
   "quote_text": "Nottingham Forest\n\n11-10\n\nBrentford\n\n27-10\n\nDraw\n\n23-10",
   "fragment_from": 6365,
   "fragment_to": 6420,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fe667d1affc6371448bcefcd",
   "url": "/evidence/?pick=n-fe667d1affc6371448bcefcd",
   "quote_text": "Pays 17-2 with bet365",
   "fragment_from": 5674,
   "fragment_to": 5695,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ede6c638fe41fdcabcd0d8be",
   "url": "/authors/tom-hill/picks/2/#pick-n-ede6c638fe41fdcabcd0d8be",
   "quote_text": "Morgan Gibbs-White over 0.5 fouls",
   "fragment_from": 5311,
   "fragment_to": 5344,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e1ae4ea682b88e0eae4caa86",
   "url": "/authors/tom-hill/picks/2/#pick-n-e1ae4ea682b88e0eae4caa86",
   "quote_text": "Under 2.5 goals",
   "fragment_from": 5194,
   "fragment_to": 5209,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": "2026-11-07T18:20:49.149Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Nottingham Forest v Brentford",
    "competition_name": "Premier League",
    "starts_at": "2025-08-17T13:00:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "under 2.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.8033",
    "closing_source": "aggregator closing price"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the closing market price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "under 2.5",
    "author_odds": null,
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: under 2.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Nottingham Forest 3-1 Brentford."
   },
   "settlements": [
    {
     "operation_id": "d2f641b7b934372814ace28d152d9faa65bd9306ad191b2df7f269cc988bcfde",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.8033",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:49.149Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "976a164b660743bee0b5d227e2e6d396be87dd715ac9fc2129c0524e44a0f63a",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.8000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:49.155Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c8e53f02687bbd78866379f8",
   "url": "/authors/tom-hill/picks/2/#pick-n-c8e53f02687bbd78866379f8",
   "quote_text": "1-0 correct score\n7-1 bet365",
   "fragment_from": 2443,
   "fragment_to": 2471,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": "2026-11-07T18:20:49.133Z",
   "statement_class": "score_forecast",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Nottingham Forest v Brentford",
    "competition_name": "Premier League",
    "starts_at": "2025-08-17T13:00:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "Correct score",
   "outcome_label": "Nottingham Forest 1-0 Brentford",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "6.7500",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Nottingham Forest 1-0 Brentford",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Nottingham Forest 1-0 Brentford"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Did not match: the final score was Nottingham Forest 3-1 Brentford."
   },
   "settlements": [
    {
     "operation_id": "b688ee1a0f0afdd1b52520c7d3da552c31fde5fec1d0b10999bd0b3960e0b645",
     "series_key": "retro_derived_sm",
     "series_label": "Restored score forecast: result implied by the score, at the last pre-match archive price",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Nottingham Forest",
     "decimal_odds": "1.9100",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9100,
     "executed_at": "2026-11-07T18:20:49.141Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": false,
     "replaced": false
    },
    {
     "operation_id": "0d695f50c2b29027245b01fd92251e5563ee239044fb97356d029d9faaf90902",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Nottingham Forest 1-0 Brentford",
     "decimal_odds": "6.7500",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:49.133Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-503a02239cae604d3657bce3",
   "url": "/authors/tom-hill/picks/2/#pick-n-503a02239cae604d3657bce3",
   "quote_text": "Morgan Gibbs-White to be carded\n11-4 general",
   "fragment_from": 2387,
   "fragment_to": 2431,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": "2026-11-07T18:20:49.126Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Nottingham Forest v Brentford",
    "competition_name": "Premier League",
    "starts_at": "2025-08-17T13:00:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "Player to be carded",
   "outcome_label": "Morgan Gibbs-White to be carded",
   "odds_set": {
    "by_author": "3.75",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to be carded",
    "choice": "Morgan Gibbs-White to be carded",
    "author_odds": "3.75",
    "market_key": "player_card",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": null,
    "in_words": "Player to be carded: Morgan Gibbs-White to be carded at 3.75"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Nottingham Forest 3-1 Brentford."
   },
   "settlements": [
    {
     "operation_id": "60bc5b9a387fa073fa7da701f11c145664e7be60be8820f5a4bbb3458d5ca3b3",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to be carded",
     "choice": "Morgan Gibbs-White to be carded",
     "decimal_odds": "3.75",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:49.126Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b52f87efb5cb10a76e8c278e",
   "url": "/authors/tom-hill/picks/2/#pick-n-b52f87efb5cb10a76e8c278e",
   "quote_text": "Nottingham Forest\n1pt 23-20 Coral",
   "fragment_from": 2338,
   "fragment_to": 2371,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
    "material_removed": false
   },
   "published_at": "2025-08-16T18:03:45.000Z",
   "detected_at": "2026-09-28T17:56:28.980Z",
   "executed_at": "2026-11-07T18:20:49.113Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Nottingham Forest v Brentford",
    "competition_name": "Premier League",
    "starts_at": "2025-08-17T13:00:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Nottingham Forest",
   "odds_set": {
    "by_author": "2.15",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.9009",
    "closing_source": "aggregator closing price"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 9009,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the closing market price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
   "dates": {
    "fragment_at": "2025-08-16T18:03:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Nottingham Forest",
    "author_odds": "2.15",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Nottingham Forest at 2.15"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Nottingham Forest 3-1 Brentford."
   },
   "settlements": [
    {
     "operation_id": "43d85fe81b3defe15d08edc1199c5de4209c918b0d22ce03a12fc53fba53246d",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Nottingham Forest",
     "decimal_odds": "2.15",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11500,
     "executed_at": "2026-11-07T18:20:49.072Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e7408155b5f1942e6872122c9bb02abf0bc577ab3b1190e5d9768816e1a1a9a6",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Nottingham Forest",
     "decimal_odds": "1.9009",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9009,
     "executed_at": "2026-11-07T18:20:49.113Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "cff4f0f9bfbcd858e11c572499b9e697d0f6ebd72fa556ff558928977f40f177",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Nottingham Forest",
     "decimal_odds": "1.9100",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9100,
     "executed_at": "2026-11-07T18:20:49.119Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-731d58aba076352f8a9d9beb",
   "url": "/evidence/?pick=n-731d58aba076352f8a9d9beb",
   "quote_text": "Click for free bets and betting offers from the Racing Post",
   "fragment_from": 5944,
   "fragment_to": 6003,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-10702b5dbff3ab9a3d8c44a0",
   "url": "/evidence/?pick=n-10702b5dbff3ab9a3d8c44a0",
   "quote_text": "Sign up with Paddy Power to bet on Sunderland vs Fulham in the Premier League.",
   "fragment_from": 4087,
   "fragment_to": 4165,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-0a55386f2813d1792ec1d697",
   "url": "/evidence/?pick=n-0a55386f2813d1792ec1d697",
   "quote_text": "Pays out at 6-1 with bet365",
   "fragment_from": 3711,
   "fragment_to": 3738,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b21486a1f5e6b1da4aab6c0c",
   "url": "/authors/tom-hill/picks/2/#pick-n-b21486a1f5e6b1da4aab6c0c",
   "quote_text": "Under three goals",
   "fragment_from": 3542,
   "fragment_to": 3559,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": "2026-11-07T18:20:50.506Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Sunderland v Fulham",
    "competition_name": "Premier League",
    "starts_at": "2026-02-22T14:00:00.000Z",
    "url": null,
    "scoreline": "1-3"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "under 2.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.7846",
    "closing_source": "aggregator closing price"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the closing market price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "under 2.5",
    "author_odds": null,
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: under 2.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Sunderland 1-3 Fulham."
   },
   "settlements": [
    {
     "operation_id": "05b4cfdadf226b671258f333f15ce9cf9e62700ffb2d086e64f4ff9c891f0e03",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.7846",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:50.506Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "755570b83798c0c678b751a7ca7dd5ff1276bbf457e091795052beef43f0833e",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.8100",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:50.514Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-dce0e6855b737f784943701c",
   "url": "/authors/tom-hill/picks/2/#pick-n-dce0e6855b737f784943701c",
   "quote_text": "Raul Jimenez 1+ fouls committed",
   "fragment_from": 3250,
   "fragment_to": 3281,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-62fe34b5045a53ae240df94c",
   "url": "/authors/tom-hill/picks/2/#pick-n-62fe34b5045a53ae240df94c",
   "quote_text": "Sunderland\n2pts 17-10 Hills",
   "fragment_from": 1809,
   "fragment_to": 1836,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
    "material_removed": false
   },
   "published_at": "2026-02-21T16:50:00.000Z",
   "detected_at": "2026-09-28T17:26:57.816Z",
   "executed_at": "2026-11-07T18:20:50.479Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Sunderland v Fulham",
    "competition_name": "Premier League",
    "starts_at": "2026-02-22T14:00:00.000Z",
    "url": null,
    "scoreline": "1-3"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sunderland",
   "odds_set": {
    "by_author": "2.7",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.9000",
    "closing_source": "aggregator closing price"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the closing market price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
   "dates": {
    "fragment_at": "2026-02-21T16:50:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Sunderland",
    "author_odds": "2.7",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sunderland at 2.7"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Sunderland 1-3 Fulham."
   },
   "settlements": [
    {
     "operation_id": "506dedf9a98d376e820a891b77a1f38d4cba052bedd85579533ac3ba665f748b",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Sunderland",
     "decimal_odds": "2.7",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:50.471Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "a3ade422fd4b66452e7d52036b583dd0f0e3559debd3c6f5e52728bcb6b2c190",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Sunderland",
     "decimal_odds": "2.9000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:50.479Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e329cae4bd52ddfc0adc2939ddd7e581325568a0759b2c74a447fb45483aba6d",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Sunderland",
     "decimal_odds": "2.8800",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:20:50.489Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ba1735adaabf3848e72890fb",
   "url": "/authors/tom-hill/picks/2/#pick-n-ba1735adaabf3848e72890fb",
   "quote_text": "Arsenal to win to nil",
   "fragment_from": 1579,
   "fragment_to": 1600,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251031230145id_/https://www.racingpost.com/sport/football-tips/football-bet-of-the-day-tom-hill-fancies-a-17-20-chance-in-the-premier-league-aRpk69Y78VxQ/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "270fccca95c501d174419b486f003663282f77956f406546a7fc4acfd18181b6",
    "material_removed": false
   },
   "published_at": "2025-10-31T20:00:00.000Z",
   "detected_at": "2026-09-28T16:53:00.719Z",
   "executed_at": "2026-11-07T18:21:02.942Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Burnley v Arsenal",
    "competition_name": "Premier League",
    "starts_at": "2025-11-01T15:00:00.000Z",
    "url": null,
    "scoreline": "0-2"
   },
   "market_label": "To win to nil",
   "outcome_label": "Arsenal to win to nil",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.7250",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 7250,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-10-31T23:01:45.000Z",
   "dates": {
    "fragment_at": "2025-10-31T20:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-31T20:00:00.000Z",
    "detected_at": "2026-09-28T16:53:00.719Z",
    "archive_snapshot_at": "2025-10-31T23:01:45.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 28 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "To win to nil",
    "choice": "Arsenal to win to nil",
    "author_odds": null,
    "market_key": "win_to_nil",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "To win to nil: Arsenal to win to nil"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Burnley 0-2 Arsenal."
   },
   "settlements": [
    {
     "operation_id": "94871788b7a573d06afdb3f4becc62c45517998a33e106c8e1a85add209920ec",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "To win to nil",
     "choice": "Arsenal to win to nil",
     "decimal_odds": "1.7250",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7250,
     "executed_at": "2026-11-07T18:21:02.942Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/football-bet-of-the-day-tom-hill-fancies-a-17-20-chance-in-the-premier-league-aRpk69Y78VxQ/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4e9d9dd6efff2b8eb6b97db5",
   "url": "/evidence/?pick=n-4e9d9dd6efff2b8eb6b97db5",
   "quote_text": "At 6-5, Brighton look more than a fair price to end the year on a high.",
   "fragment_from": 2998,
   "fragment_to": 3069,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-56f634068863c399fb6e0e7d",
   "url": "/evidence/?pick=n-56f634068863c399fb6e0e7d",
   "quote_text": "Danny Welbeck and Jan Paul van Hecke returned from injury at the weekend and could start.",
   "fragment_from": 4918,
   "fragment_to": 5007,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-442f993fd13d1fb53745117f",
   "url": "/evidence/?pick=n-442f993fd13d1fb53745117f",
   "quote_text": "Niclas Fullkrug and Lukasz Fabianski remain sidelined while El Hadji Malick Diouf and Aaron Wan",
   "fragment_from": 4633,
   "fragment_to": 4728,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b7ac21de9aed58c69cc58c71",
   "url": "/evidence/?pick=n-b7ac21de9aed58c69cc58c71",
   "quote_text": "Pays out at 5-1 with bet365",
   "fragment_from": 3878,
   "fragment_to": 3905,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8c15bfff84111762a5c53a3d",
   "url": "/authors/tom-hill/picks/2/#pick-n-8c15bfff84111762a5c53a3d",
   "quote_text": "Lucas Paqueta over 0.5 fouls",
   "fragment_from": 3655,
   "fragment_to": 3683,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4e7ddf586ca5af0c31b8cecd",
   "url": "/authors/tom-hill/picks/2/#pick-n-4e7ddf586ca5af0c31b8cecd",
   "quote_text": "Yasin Ayari over 1.5 shots",
   "fragment_from": 3349,
   "fragment_to": 3375,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7519081a495689d8c7bfb06c",
   "url": "/authors/tom-hill/picks/2/#pick-n-7519081a495689d8c7bfb06c",
   "quote_text": "Jarrod Bowen over 1.5 shots on target",
   "fragment_from": 3105,
   "fragment_to": 3142,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-948733523ffc660308c9fe4e",
   "url": "/authors/tom-hill/picks/2/#pick-n-948733523ffc660308c9fe4e",
   "quote_text": "Brighton\n1pt 6-5 Coral, Ladbrokes",
   "fragment_from": 1975,
   "fragment_to": 2008,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
    "material_removed": false
   },
   "published_at": "2025-12-29T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:36.606Z",
   "executed_at": "2026-11-07T18:21:52.934Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "West Ham United v Brighton & Hove Albion",
    "competition_name": "Premier League",
    "starts_at": "2025-12-30T19:30:00.000Z",
    "url": null,
    "scoreline": "2-2"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Brighton & Hove Albion",
   "odds_set": {
    "by_author": "2.2",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0800",
    "closing_source": "aggregator closing price"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the closing market price",
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-12-29T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Brighton & Hove Albion",
    "author_odds": "2.2",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Brighton & Hove Albion at 2.2"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was West Ham United 2-2 Brighton & Hove Albion."
   },
   "settlements": [
    {
     "operation_id": "a0e2b916aeb519d993b2f467ac586e08e481a411110e409b34ecbf1186adc3d5",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Brighton & Hove Albion",
     "decimal_odds": "2.2",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:52.918Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "bf1f770a713c45e58da41f36c1bb50365634674d3e027595cb164b424e42d913",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Brighton & Hove Albion",
     "decimal_odds": "2.0800",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:52.934Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "df308fdf921a7c648b553b5bcf2484b9c3a9be015924af826104df128b6e5fbe",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Brighton & Hove Albion",
     "decimal_odds": "2.1000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:52.946Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-5679790a2c8a5eca044c09dd",
   "url": "/evidence/?pick=n-5679790a2c8a5eca044c09dd",
   "quote_text": "Pays out at 9-2 with bet365",
   "fragment_from": 5171,
   "fragment_to": 5198,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-33c75669d29af56868c8b122",
   "url": "/evidence/?pick=n-33c75669d29af56868c8b122",
   "quote_text": "Josko Gvardiol, Savinho, Mateo Kovacic and Kalvin Phillips are all sidelined.",
   "fragment_from": 6544,
   "fragment_to": 6621,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7c9664619070c83190da2b39",
   "url": "/evidence/?pick=n-7c9664619070c83190da2b39",
   "quote_text": "Adam Webster, Julio Enciso and Solly March are still sidelined.",
   "fragment_from": 6195,
   "fragment_to": 6258,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2e96bef82eeb040ba398939c",
   "url": "/evidence/?pick=n-2e96bef82eeb040ba398939c",
   "quote_text": "Georginio Rutter is not guaranteed to be fit against City",
   "fragment_from": 3369,
   "fragment_to": 3426,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-68236b666693360947ac7d53",
   "url": "/evidence/?pick=n-68236b666693360947ac7d53",
   "quote_text": "50/1 Man City To Win OR Draw vs Liverpool",
   "fragment_from": 1860,
   "fragment_to": 1901,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a7b1c6dd30769ac05956fd78",
   "url": "/authors/tom-hill/picks/2/#pick-n-a7b1c6dd30769ac05956fd78",
   "quote_text": "Yasin Ayari 1+ shot",
   "fragment_from": 4985,
   "fragment_to": 5004,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bf533f3bc86d98d439efeb6d",
   "url": "/authors/tom-hill/picks/2/#pick-n-bf533f3bc86d98d439efeb6d",
   "quote_text": "Over four cards",
   "fragment_from": 4640,
   "fragment_to": 4655,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": "2026-11-07T18:21:46.602Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Brighton & Hove Albion v Manchester City",
    "competition_name": "Premier League",
    "starts_at": "2025-08-31T13:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Over/Under 4.5 cards",
   "outcome_label": "over 4.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.2000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 4.5 cards",
    "choice": "over 4.5",
    "author_odds": null,
    "market_key": "cards_over_under",
    "choice_key": "over",
    "period": "match",
    "line": "4.5",
    "subject": "bookings",
    "in_words": "Over/Under 4.5 cards: over 4.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Brighton & Hove Albion 2-1 Manchester City."
   },
   "settlements": [
    {
     "operation_id": "20ddbea164f3232508234482037bcdd485e151d8cd0a9a6e94be9fdc093ead7b",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 4.5 cards",
     "choice": "over 4.5",
     "decimal_odds": "2.2000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:46.602Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-180340a9ff51b03b06822771",
   "url": "/authors/tom-hill/picks/2/#pick-n-180340a9ff51b03b06822771",
   "quote_text": "Tijjani Reijnders to commit 1+ foul",
   "fragment_from": 4808,
   "fragment_to": 4843,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8da2a3791a2e08a4cf89c9c0",
   "url": "/authors/tom-hill/picks/2/#pick-n-8da2a3791a2e08a4cf89c9c0",
   "quote_text": "Manchester City to win & over 3.5 goals\n1pt 16-5 BoyleSports",
   "fragment_from": 2041,
   "fragment_to": 2101,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "display_name": null,
    "speaker": "Tom Hill",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
    "material_removed": false
   },
   "published_at": "2025-08-30T13:01:30.000Z",
   "detected_at": "2026-09-28T16:12:06.105Z",
   "executed_at": "2026-11-07T18:21:46.577Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Brighton & Hove Albion v Manchester City",
    "competition_name": "Premier League",
    "starts_at": "2025-08-31T13:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Match result and over/under 3.5 goals",
   "outcome_label": "Manchester City to win and over 3.5 goals",
   "odds_set": {
    "by_author": "4.2",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "4.4000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-08-30T13:01:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and over/under 3.5 goals",
    "choice": "Manchester City to win and over 3.5 goals",
    "author_odds": "4.2",
    "market_key": "result_and_total",
    "choice_key": "2-over",
    "period": "match",
    "line": "3.5",
    "subject": "goals_total",
    "in_words": "Match result and over/under 3.5 goals: Manchester City to win and over 3.5 goals at 4.2"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Brighton & Hove Albion 2-1 Manchester City."
   },
   "settlements": [
    {
     "operation_id": "dfbc762ed2382552f24e485b68fa35c32211e7b5017e6be3d11ae04be9e7dfb6",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and over/under 3.5 goals",
     "choice": "Manchester City to win and over 3.5 goals",
     "decimal_odds": "4.2",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:46.556Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8f61cd6b1e3fe2df9ba17714de843858fafc31c6b216cdde3213b830ec737e15",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and over/under 3.5 goals",
     "choice": "Manchester City to win and over 3.5 goals",
     "decimal_odds": "4.4000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:21:46.577Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Hill",
    "publisher": "racingpost.com",
    "forecaster": "Tom Hill",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 2,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": null,
 "retro": {
  "restored_total": 11,
  "of_them_archived_pre_match": 8,
  "found_post_match": 3,
  "of_them_source_reported": 0,
  "live_count": 0,
  "date_count": 6,
  "span_from": "2024-12-15",
  "span_to": "2026-02-22",
  "line_text": "restored history: 11, of which pre-match archive 8",
  "body": "We re-read what this author published before Premier League matches between 15 December 2024 and 22 February 2026 and settled it against the final score. Restored picks: 11. Backed by a copy of the page in an independent web archive taken before kick-off: 8. Found after the match, with the publication date as stated by the source: 3. The market price at the moment of publication cannot be reconstructed, so restored picks are shown as reconstructed at archived prices (~8–15 h before kick-off), not at the closing price, for the pre-match archive and the later finds separately; the author's quoted price and, where it exists, the aggregator closing price are compared with it on the same picks. Authors can delete losing picks, so restored history may look better than it was.",
  "precision": {
   "n": 11,
   "share": "0.2727"
  },
  "series_list": [
   {
    "code_name": "retro_author_price",
    "display_name": "Restored, at the author's stated price",
    "n": 6,
    "roi": "-25.8333",
    "ci_low": null,
    "ci_high": null,
    "data_status": "calculated",
    "methodology_version": "retro-1.0",
    "cause": null
   },
   {
    "code_name": "retro_market_closing",
    "display_name": "Restored, at the closing market price",
    "n": 5,
    "roi": "-61.9820",
    "ci_low": null,
    "ci_high": null,
    "data_status": "calculated",
    "methodology_version": "retro-1.0",
    "cause": null
   },
   {
    "code_name": "retro_market_closing_sm",
    "display_name": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "n": 10,
    "roi": "-40.3000",
    "ci_low": null,
    "ci_high": null,
    "data_status": "calculated",
    "methodology_version": "retro-1.1",
    "cause": null
   },
   {
    "code_name": "retro_derived_sm",
    "display_name": "Restored score forecast: result implied by the score, at the last pre-match price in archive (~8–15 h before kick-off)",
    "n": 1,
    "roi": "91.0000",
    "ci_low": null,
    "ci_high": null,
    "data_status": "calculated",
    "methodology_version": "retro-1.1",
    "cause": null
   }
  ],
  "clv": {
   "data_status": "unknown",
   "cause": "the market price at the moment of publication is unknown for restored picks; the author's quoted price against the aggregator closing price is compared on the same picks in each part of the record above"
  },
  "methodology_version": "retro-1.0",
  "leagues": [
   "Premier League"
  ],
  "source_list": "Results: the official regulation-time score, checked against a second data provider for 10 settled restored picks and forecasts, and the two agree; 1 come from one provider only. Prices: the aggregator closing price and the second data provider's last pre-match price in archive (~8–15 h before kick-off), as a separate series; each provider is its own series and they are never averaged.",
  "score_accuracy": {
   "n": 1,
   "share": "0.0"
  }
 },
 "late": null,
 "price_vs_market": {
  "contract_version": "1",
  "threshold_percent": "5",
  "rows": [
   {
    "basis": "closing",
    "basis_words": "the closing market price of the same selection (restored history)",
    "basis_short": "Closing market price (restored)",
    "compared": 3,
    "above": 2,
    "above_share_percent": "66.7",
    "below": 1,
    "within": 0,
    "median_difference_percent": "5.8",
    "not_comparable": 0,
    "disputed": 0,
    "status": "calculated",
    "sentence": "The author's stated price against the closing price of the same selection: median +5.8% over 3 picks. The price available to followers is the market price, shown separately."
   }
  ],
  "examples": [
   {
    "url": "/authors/tom-hill/picks/2/#pick-n-b52f87efb5cb10a76e8c278e",
    "basis": "closing",
    "stated": "2.15",
    "market": "1.90",
    "difference_percent": "13.1"
   },
   {
    "url": "/authors/tom-hill/picks/2/#pick-n-62fe34b5045a53ae240df94c",
    "basis": "closing",
    "stated": "2.70",
    "market": "2.90",
    "difference_percent": "-6.9"
   }
  ],
  "method": "Difference = the author's stated price ÷ the market price of the same selection − 1. A pick counts as above the market when the stated price is more than 5% higher. Each basis is its own comparison; they are never added together. A pair whose prices differ more than twofold is marked “price disputed”: it is probably not the same selection, so it is left out of this comparison and of every return at the author’s price until a manual check confirms the price. A price that the quoted text does not give is marked “price disputed” in the same way."
 },
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "racingpost.com",
   "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/"
  },
  "observed_from": "2026-09-28",
  "observed_to": "2026-10-14",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "retro_market_closing_sm",
  "series": "Archived before kick-off, reconstructed at archived prices (~8–15 h before kick-off)",
  "restored": true,
  "headline_kind": "historical_simulation",
  "headline_part": "archived",
  "settled_picks": 11,
  "matches": 8,
  "void": 0,
  "net_points_hundredths": -28350,
  "staked_hundredths": 110000,
  "return_percent": "-25.77",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2024-08-17",
  "period_to": "2026-02-22",
  "status": "calculated",
  "method_version": "retro-1.1",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record restored 11 settled archived picks by Tom Hill from copies archived before kick-off, across 8 matches between 17 August 2024 and 22 February 2026. Reconstructed at archived prices, these picks returned −25.8% on the total staked. Of the 24 predictions we hold for Tom Hill, 14 were archived before kick-off by an independent web archive and 10 first found after the match. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled archived picks",
    "value": "11",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "8",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−283.50 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Reconstructed at archived prices",
    "value": "−25.8%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [
   "This page combines Tom Hill across 2 platforms. The record above counts each prediction once, even when the same pick (match, market and selection) appeared on more than one platform; each platform keeps its own total under “Where Tom Hill publishes”.",
   "Reconstructed at archived prices: these picks were restored from copies of the author’s pages that an independent web archive saved before kick-off, at the last pre-match archive prices, bookmaker margin included."
  ],
  "other_series": [],
  "return_over_time": [
   {
    "date": "2024-08-17",
    "cumulative_points_hundredths": -20000,
    "n": 2
   },
   {
    "date": "2024-09-21",
    "cumulative_points_hundredths": -8050,
    "n": 3
   },
   {
    "date": "2024-09-26",
    "cumulative_points_hundredths": -18050,
    "n": 4
   },
   {
    "date": "2024-12-15",
    "cumulative_points_hundredths": -4700,
    "n": 5
   },
   {
    "date": "2025-08-17",
    "cumulative_points_hundredths": -15600,
    "n": 8
   },
   {
    "date": "2025-11-01",
    "cumulative_points_hundredths": -8350,
    "n": 9
   },
   {
    "date": "2026-02-22",
    "cumulative_points_hundredths": -28350,
    "n": 11
   }
  ],
  "return_over_time_parts": {
   "live": null,
   "archived": {
    "part": "archived",
    "label": "Reconstructed at archived prices",
    "series_code": "retro_market_closing_sm",
    "price_rule": "Reconstructed at archived prices",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. These picks were restored from copies an independent web archive saved before kick-off; the line shows how they settled at archived prices.",
    "settled_picks": 11,
    "matches": 8,
    "match_dates": 7,
    "period_from": "2024-08-17",
    "period_to": "2026-02-22",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -28350,
    "low": {
     "date": "2026-02-22",
     "cumulative_points_hundredths": -28350,
     "after_picks": 11
    },
    "high": {
     "date": "2024-12-15",
     "cumulative_points_hundredths": -4700,
     "after_picks": 5
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2024-08-17",
      "cumulative_points_hundredths": -20000,
      "n": 2,
      "picks": 2
     },
     {
      "date": "2024-09-21",
      "cumulative_points_hundredths": -8050,
      "n": 3,
      "picks": 1
     },
     {
      "date": "2024-09-26",
      "cumulative_points_hundredths": -18050,
      "n": 4,
      "picks": 1
     },
     {
      "date": "2024-12-15",
      "cumulative_points_hundredths": -4700,
      "n": 5,
      "picks": 1
     },
     {
      "date": "2025-08-17",
      "cumulative_points_hundredths": -15600,
      "n": 8,
      "picks": 3
     },
     {
      "date": "2025-11-01",
      "cumulative_points_hundredths": -8350,
      "n": 9,
      "picks": 1
     },
     {
      "date": "2026-02-22",
      "cumulative_points_hundredths": -28350,
      "n": 11,
      "picks": 2
     }
    ]
   }
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record restored 11 settled archived picks by Tom Hill from copies archived before kick-off, across 8 matches between 17 August 2024 and 22 February 2026. Reconstructed at archived prices, these picks returned −25.8% on the total staked. Of the 24 predictions we hold for Tom Hill, 14 were archived before kick-off by an independent web archive and 10 first found after the match. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/tom-hill/",
   "data_as_of": "2026-11-07",
   "method_version": "retro-1.1"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 24,
   "under_review": 0,
   "no_match_linked": 0,
   "proven_predictions": 14,
   "proven_checked": 12,
   "proven_measured": 11,
   "proven_dates": 7,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    },
    {
     "code": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 14,
     "checked": 12,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 11,
      "void": 0,
      "matches": 8,
      "net_points_hundredths": -28350,
      "staked_hundredths": 110000,
      "return_percent": "-25.77",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2024-08-17",
      "period_to": "2026-02-22",
      "method_version": "retro-1.1"
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "retro_author_price",
       "picks": 7,
       "return_main_percent": "-8.00",
       "return_other_percent": "-5.29",
       "settled_excluding_void": 7,
       "net_main_points_hundredths": -5600,
       "net_other_points_hundredths": -3700,
       "period_from": "2024-08-17",
       "period_to": "2026-02-22"
      },
      {
       "price": "Closing price, aggregator",
       "series_code": "retro_market_closing",
       "picks": 4,
       "return_main_percent": "-52.25",
       "return_other_percent": "-52.48",
       "settled_excluding_void": 4,
       "net_main_points_hundredths": -20900,
       "net_other_points_hundredths": -20991,
       "period_from": "2025-08-17",
       "period_to": "2026-02-22"
      }
     ],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 12,
      "priced": 11
     },
     "accuracy": {
      "picks": 11,
      "won": 4,
      "won_percent": "36.4",
      "implied_percent": "43.7",
      "left_out": 0,
      "by_market": [
       {
        "market": "Over/under goals",
        "won": 0,
        "picks": 4,
        "implied_percent": "50.9"
       },
       {
        "market": "Match result",
        "won": 1,
        "picks": 3,
        "implied_percent": "38.5"
       },
       {
        "market": "Correct score",
        "won": 0,
        "picks": 1,
        "implied_percent": "14.8"
       },
       {
        "market": "Result and both teams to score",
        "won": 1,
        "picks": 1,
        "implied_percent": "42.8"
       },
       {
        "market": "Team goals",
        "won": 1,
        "picks": 1,
        "implied_percent": "45.6"
       },
       {
        "market": "Win to nil",
        "won": 1,
        "picks": 1,
        "implied_percent": "58.0"
       }
      ]
     }
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 10,
     "checked": 5,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 5,
      "void": 0,
      "matches": 4,
      "net_points_hundredths": -23600,
      "staked_hundredths": 50000,
      "return_percent": "-47.20",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2024-12-07",
      "period_to": "2025-12-30",
      "method_version": "retro-1.1"
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "retro_author_price",
       "picks": 4,
       "return_main_percent": "-34.00",
       "return_other_percent": "-45.00",
       "settled_excluding_void": 4,
       "net_main_points_hundredths": -13600,
       "net_other_points_hundredths": -18000,
       "period_from": "2024-12-07",
       "period_to": "2025-12-30"
      },
      {
       "price": "Closing price, aggregator",
       "series_code": "retro_market_closing",
       "picks": 1,
       "return_main_percent": "-100.00",
       "return_other_percent": "-100.00",
       "settled_excluding_void": 1,
       "net_main_points_hundredths": -10000,
       "net_other_points_hundredths": -10000,
       "period_from": "2025-12-30",
       "period_to": "2025-12-30"
      }
     ],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 5,
      "priced": 5
     },
     "accuracy": {
      "picks": 5,
      "won": 1,
      "won_percent": "20.0",
      "implied_percent": "38.4",
      "left_out": 0,
      "by_market": [
       {
        "market": "Cards over/under",
        "won": 0,
        "picks": 1,
        "implied_percent": "45.5"
       },
       {
        "market": "Match result",
        "won": 0,
        "picks": 1,
        "implied_percent": "47.6"
       },
       {
        "market": "Over/under goals",
        "won": 1,
        "picks": 1,
        "implied_percent": "37.9"
       },
       {
        "market": "Result and both teams to score",
        "won": 0,
        "picks": 1,
        "implied_percent": "38.5"
       },
       {
        "market": "Result and total goals",
        "won": 0,
        "picks": 1,
        "implied_percent": "22.7"
       }
      ]
     }
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-217c04d1eca7727b723a0d84",
   "n-400de21c0ecc6f5aa35251d0",
   "n-467814994672d741d7282617",
   "n-62fe34b5045a53ae240df94c",
   "n-985fc97d2b2fd3f13dfd98e1",
   "n-ad34685339d90cfeffe7cd10",
   "n-b21486a1f5e6b1da4aab6c0c",
   "n-b52f87efb5cb10a76e8c278e",
   "n-ba1735adaabf3848e72890fb",
   "n-c8e53f02687bbd78866379f8",
   "n-e1ae4ea682b88e0eae4caa86"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Archived before kick-off, reconstructed at archived prices (~8–15 h before kick-off) · 100 points per pick · 17 August 2024 – 22 February 2026 · Calculated · picks settled under reconstruction method 1.1",
  "record_from": "2024-08-17",
  "record_to": "2026-02-22"
 },
 "recorded_picks": [
  {
   "record_id": "n-b21486a1f5e6b1da4aab6c0c",
   "url": "/authors/tom-hill/picks/2/#pick-n-b21486a1f5e6b1da4aab6c0c",
   "match": "Sunderland v Fulham",
   "match_url": null,
   "kickoff": "2026-02-22T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -5235.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.8100",
   "published_at": "2026-02-21T16:50:00.000Z",
   "recorded_at": "2026-09-28T17:26:57.816Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b21486a1f5e6b1da4aab6c0c",
    "quote_text": "Under three goals",
    "fragment_from": 3542,
    "fragment_to": 3559,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
     "material_removed": false
    },
    "published_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "executed_at": "2026-11-07T18:20:50.506Z",
    "statement_class": "unpriced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Sunderland v Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-02-22T14:00:00.000Z",
     "url": null,
     "scoreline": "1-3"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.7846",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the closing market price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
    "dates": {
     "fragment_at": "2026-02-21T16:50:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-02-21T16:50:00.000Z",
     "detected_at": "2026-09-28T17:26:57.816Z",
     "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Sunderland 1-3 Fulham."
    },
    "settlements": [
     {
      "operation_id": "05b4cfdadf226b671258f333f15ce9cf9e62700ffb2d086e64f4ff9c891f0e03",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.7846",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:50.506Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "755570b83798c0c678b751a7ca7dd5ff1276bbf457e091795052beef43f0833e",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.8100",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:50.514Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-62fe34b5045a53ae240df94c",
   "url": "/authors/tom-hill/picks/2/#pick-n-62fe34b5045a53ae240df94c",
   "match": "Sunderland v Fulham",
   "match_url": null,
   "kickoff": "2026-02-22T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -5235.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sunderland at 2.7",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.7",
   "settled_price": "2.8800",
   "published_at": "2026-02-21T16:50:00.000Z",
   "recorded_at": "2026-09-28T17:26:57.816Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-62fe34b5045a53ae240df94c",
    "quote_text": "Sunderland\n2pts 17-10 Hills",
    "fragment_from": 1809,
    "fragment_to": 1836,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20260221164529id_/https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d04ae95a793a7b94a1a165835a4a6ede669a01b874710f836c1363d08f447a88",
     "material_removed": false
    },
    "published_at": "2026-02-21T16:50:00.000Z",
    "detected_at": "2026-09-28T17:26:57.816Z",
    "executed_at": "2026-11-07T18:20:50.479Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Sunderland v Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-02-22T14:00:00.000Z",
     "url": null,
     "scoreline": "1-3"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sunderland",
    "odds_set": {
     "by_author": "2.7",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.9000",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the closing market price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
    "dates": {
     "fragment_at": "2026-02-21T16:50:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-02-21T16:50:00.000Z",
     "detected_at": "2026-09-28T17:26:57.816Z",
     "archive_snapshot_at": "2026-02-21T16:45:29.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Sunderland",
     "author_odds": "2.7",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sunderland at 2.7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Sunderland 1-3 Fulham."
    },
    "settlements": [
     {
      "operation_id": "506dedf9a98d376e820a891b77a1f38d4cba052bedd85579533ac3ba665f748b",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Sunderland",
      "decimal_odds": "2.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:50.471Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a3ade422fd4b66452e7d52036b583dd0f0e3559debd3c6f5e52728bcb6b2c190",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Sunderland",
      "decimal_odds": "2.9000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:50.479Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e329cae4bd52ddfc0adc2939ddd7e581325568a0759b2c74a447fb45483aba6d",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Sunderland",
      "decimal_odds": "2.8800",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:50.489Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/sunderland-vs-fulham-predictions-team-news-betting-tips-odds-and-bet-builder-anCMK2f4uCyl/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sunderland to win"
   }
  },
  {
   "record_id": "n-948733523ffc660308c9fe4e",
   "url": "/authors/tom-hill/picks/2/#pick-n-948733523ffc660308c9fe4e",
   "match": "West Ham United v Brighton & Hove Albion",
   "match_url": null,
   "kickoff": "2025-12-30T19:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6524.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: Brighton & Hove Albion at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.2",
   "settled_price": "2.1000",
   "published_at": "2025-12-29T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:36.606Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-948733523ffc660308c9fe4e",
    "quote_text": "Brighton\n1pt 6-5 Coral, Ladbrokes",
    "fragment_from": 1975,
    "fragment_to": 2008,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "959f7739fb2a3f41cc09534573c5cda0e55a5bf1b98688f6c736f84d11de36e4",
     "material_removed": false
    },
    "published_at": "2025-12-29T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:36.606Z",
    "executed_at": "2026-11-07T18:21:52.934Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "West Ham United v Brighton & Hove Albion",
     "competition_name": "Premier League",
     "starts_at": "2025-12-30T19:30:00.000Z",
     "url": null,
     "scoreline": "2-2"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Brighton & Hove Albion",
    "odds_set": {
     "by_author": "2.2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.0800",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the closing market price",
    "withdrawn": false,
    "provenance": "found_post_match",
    "provenance_words": "Found after the match; date as stated by the source",
    "dates": {
     "fragment_at": "2025-12-29T16:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-12-29T16:00:00.000Z",
     "detected_at": "2026-09-28T16:22:36.606Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "source_stated_date",
    "origin_detail": "found_after_match",
    "origin_words": "Found after the match; date as stated by the source",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Brighton & Hove Albion",
     "author_odds": "2.2",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Brighton & Hove Albion at 2.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was West Ham United 2-2 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "a0e2b916aeb519d993b2f467ac586e08e481a411110e409b34ecbf1186adc3d5",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Brighton & Hove Albion",
      "decimal_odds": "2.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:21:52.918Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "bf1f770a713c45e58da41f36c1bb50365634674d3e027595cb164b424e42d913",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Brighton & Hove Albion",
      "decimal_odds": "2.0800",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:21:52.934Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "df308fdf921a7c648b553b5bcf2484b9c3a9be015924af826104df128b6e5fbe",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Brighton & Hove Albion",
      "decimal_odds": "2.1000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:21:52.946Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/west-ham-vs-brighton-predictions-team-news-betting-tips-odds-and-bet-builder-aKSao4J0vma1/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Brighton & Hove Albion to win"
   }
  },
  {
   "record_id": "n-ba1735adaabf3848e72890fb",
   "url": null,
   "match": "Burnley v Arsenal",
   "match_url": null,
   "kickoff": "2025-11-01T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -7945.9,
   "market_code": "win_to_nil",
   "author_said": "To win to nil: Arsenal to win to nil",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7250,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.7250",
   "published_at": "2025-10-31T20:00:00.000Z",
   "recorded_at": "2026-09-28T16:53:00.719Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-bf533f3bc86d98d439efeb6d",
   "url": null,
   "match": "Brighton & Hove Albion v Manchester City",
   "match_url": null,
   "kickoff": "2025-08-31T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9435.2,
   "market_code": "cards_over_under",
   "author_said": "Over/Under 4.5 cards: over 4.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.2000",
   "published_at": "2025-08-30T13:01:30.000Z",
   "recorded_at": "2026-09-28T16:12:06.105Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8da2a3791a2e08a4cf89c9c0",
   "url": "/authors/tom-hill/picks/2/#pick-n-8da2a3791a2e08a4cf89c9c0",
   "match": "Brighton & Hove Albion v Manchester City",
   "match_url": null,
   "kickoff": "2025-08-31T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9435.2,
   "market_code": "result_and_total",
   "author_said": "Match result and over/under 3.5 goals: Manchester City to win and over 3.5 goals at 4.2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "4.2",
   "settled_price": "4.4000",
   "published_at": "2025-08-30T13:01:30.000Z",
   "recorded_at": "2026-09-28T16:12:06.105Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8da2a3791a2e08a4cf89c9c0",
    "quote_text": "Manchester City to win & over 3.5 goals\n1pt 16-5 BoyleSports",
    "fragment_from": 2041,
    "fragment_to": 2101,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "15f2108043b1f6ba03da77226ec1755b1ec2a9a2f2597adf792fc75ed06b0947",
     "material_removed": false
    },
    "published_at": "2025-08-30T13:01:30.000Z",
    "detected_at": "2026-09-28T16:12:06.105Z",
    "executed_at": "2026-11-07T18:21:46.577Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Brighton & Hove Albion v Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2025-08-31T13:00:00.000Z",
     "url": null,
     "scoreline": "2-1"
    },
    "market_label": "Match result and over/under 3.5 goals",
    "outcome_label": "Manchester City to win and over 3.5 goals",
    "odds_set": {
     "by_author": "4.2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "4.4000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "found_post_match",
    "provenance_words": "Found after the match; date as stated by the source",
    "dates": {
     "fragment_at": "2025-08-30T13:01:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-08-30T13:01:30.000Z",
     "detected_at": "2026-09-28T16:12:06.105Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "source_stated_date",
    "origin_detail": "found_after_match",
    "origin_words": "Found after the match; date as stated by the source",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and over/under 3.5 goals",
     "choice": "Manchester City to win and over 3.5 goals",
     "author_odds": "4.2",
     "market_key": "result_and_total",
     "choice_key": "2-over",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Match result and over/under 3.5 goals: Manchester City to win and over 3.5 goals at 4.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Brighton & Hove Albion 2-1 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "dfbc762ed2382552f24e485b68fa35c32211e7b5017e6be3d11ae04be9e7dfb6",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and over/under 3.5 goals",
      "choice": "Manchester City to win and over 3.5 goals",
      "decimal_odds": "4.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:21:46.556Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8f61cd6b1e3fe2df9ba17714de843858fafc31c6b216cdde3213b830ec737e15",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and over/under 3.5 goals",
      "choice": "Manchester City to win and over 3.5 goals",
      "decimal_odds": "4.4000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:21:46.577Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/brighton-vs-manchester-city-predictions-team-news-betting-tips-odds-and-bet-builder-aUpV63d0vFaq/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester City to win and over 3.5 goals"
   }
  },
  {
   "record_id": "n-e1ae4ea682b88e0eae4caa86",
   "url": "/authors/tom-hill/picks/2/#pick-n-e1ae4ea682b88e0eae4caa86",
   "match": "Nottingham Forest v Brentford",
   "match_url": null,
   "kickoff": "2025-08-17T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9772.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.8000",
   "published_at": "2025-08-16T18:03:45.000Z",
   "recorded_at": "2026-09-28T17:56:28.980Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e1ae4ea682b88e0eae4caa86",
    "quote_text": "Under 2.5 goals",
    "fragment_from": 5194,
    "fragment_to": 5209,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
     "material_removed": false
    },
    "published_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "executed_at": "2026-11-07T18:20:49.149Z",
    "statement_class": "unpriced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Nottingham Forest v Brentford",
     "competition_name": "Premier League",
     "starts_at": "2025-08-17T13:00:00.000Z",
     "url": null,
     "scoreline": "3-1"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.8033",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the closing market price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "dates": {
     "fragment_at": "2025-08-16T18:03:45.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-08-16T18:03:45.000Z",
     "detected_at": "2026-09-28T17:56:28.980Z",
     "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Nottingham Forest 3-1 Brentford."
    },
    "settlements": [
     {
      "operation_id": "d2f641b7b934372814ace28d152d9faa65bd9306ad191b2df7f269cc988bcfde",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.8033",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:49.149Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "976a164b660743bee0b5d227e2e6d396be87dd715ac9fc2129c0524e44a0f63a",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.8000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:49.155Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-c8e53f02687bbd78866379f8",
   "url": null,
   "match": "Nottingham Forest v Brentford",
   "match_url": null,
   "kickoff": "2025-08-17T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9772.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Nottingham Forest 1-0 Brentford",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "6.7500",
   "published_at": "2025-08-16T18:03:45.000Z",
   "recorded_at": "2026-09-28T17:56:28.980Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-503a02239cae604d3657bce3",
   "url": "/authors/tom-hill/picks/2/#pick-n-503a02239cae604d3657bce3",
   "match": "Nottingham Forest v Brentford",
   "match_url": null,
   "kickoff": "2025-08-17T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9772.9,
   "market_code": "player_card",
   "author_said": "Player to be carded: Morgan Gibbs-White to be carded at 3.75",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "3.75",
   "settled_price": "3.75",
   "published_at": "2025-08-16T18:03:45.000Z",
   "recorded_at": "2026-09-28T17:56:28.980Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-503a02239cae604d3657bce3",
    "quote_text": "Morgan Gibbs-White to be carded\n11-4 general",
    "fragment_from": 2387,
    "fragment_to": 2431,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
     "material_removed": false
    },
    "published_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "executed_at": "2026-11-07T18:20:49.126Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Nottingham Forest v Brentford",
     "competition_name": "Premier League",
     "starts_at": "2025-08-17T13:00:00.000Z",
     "url": null,
     "scoreline": "3-1"
    },
    "market_label": "Player to be carded",
    "outcome_label": "Morgan Gibbs-White to be carded",
    "odds_set": {
     "by_author": "3.75",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "dates": {
     "fragment_at": "2025-08-16T18:03:45.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-08-16T18:03:45.000Z",
     "detected_at": "2026-09-28T17:56:28.980Z",
     "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to be carded",
     "choice": "Morgan Gibbs-White to be carded",
     "author_odds": "3.75",
     "market_key": "player_card",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": null,
     "in_words": "Player to be carded: Morgan Gibbs-White to be carded at 3.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Nottingham Forest 3-1 Brentford."
    },
    "settlements": [
     {
      "operation_id": "60bc5b9a387fa073fa7da701f11c145664e7be60be8820f5a4bbb3458d5ca3b3",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to be carded",
      "choice": "Morgan Gibbs-White to be carded",
      "decimal_odds": "3.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:20:49.126Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Morgan Gibbs-White to be carded"
   }
  },
  {
   "record_id": "n-b52f87efb5cb10a76e8c278e",
   "url": "/authors/tom-hill/picks/2/#pick-n-b52f87efb5cb10a76e8c278e",
   "match": "Nottingham Forest v Brentford",
   "match_url": null,
   "kickoff": "2025-08-17T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -9772.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: Nottingham Forest at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9100,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.15",
   "settled_price": "1.9100",
   "published_at": "2025-08-16T18:03:45.000Z",
   "recorded_at": "2026-09-28T17:56:28.980Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b52f87efb5cb10a76e8c278e",
    "quote_text": "Nottingham Forest\n1pt 23-20 Coral",
    "fragment_from": 2338,
    "fragment_to": 2371,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250816184018id_/https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7a75bc2f006d9ecc649f80090528ec8219d60cba00c2b24402ade9cff6a176aa",
     "material_removed": false
    },
    "published_at": "2025-08-16T18:03:45.000Z",
    "detected_at": "2026-09-28T17:56:28.980Z",
    "executed_at": "2026-11-07T18:20:49.113Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Nottingham Forest v Brentford",
     "competition_name": "Premier League",
     "starts_at": "2025-08-17T13:00:00.000Z",
     "url": null,
     "scoreline": "3-1"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Nottingham Forest",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.9009",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9009,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the closing market price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
    "dates": {
     "fragment_at": "2025-08-16T18:03:45.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-08-16T18:03:45.000Z",
     "detected_at": "2026-09-28T17:56:28.980Z",
     "archive_snapshot_at": "2025-08-16T18:40:18.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Nottingham Forest",
     "author_odds": "2.15",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Nottingham Forest at 2.15"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Nottingham Forest 3-1 Brentford."
    },
    "settlements": [
     {
      "operation_id": "43d85fe81b3defe15d08edc1199c5de4209c918b0d22ce03a12fc53fba53246d",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Nottingham Forest",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11500,
      "executed_at": "2026-11-07T18:20:49.072Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e7408155b5f1942e6872122c9bb02abf0bc577ab3b1190e5d9768816e1a1a9a6",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Nottingham Forest",
      "decimal_odds": "1.9009",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9009,
      "executed_at": "2026-11-07T18:20:49.113Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "cff4f0f9bfbcd858e11c572499b9e697d0f6ebd72fa556ff558928977f40f177",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Nottingham Forest",
      "decimal_odds": "1.9100",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9100,
      "executed_at": "2026-11-07T18:20:49.119Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/nottingham-forest-vs-brentford-predictions-team-news-betting-tips-odds-and-bet-builder-a2lEz1x2T4cP/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nottingham Forest to win"
   }
  },
  {
   "record_id": "n-85f5c2875a44564498211fe3",
   "url": "/authors/tom-hill/picks/2/#pick-n-85f5c2875a44564498211fe3",
   "match": "AC Milan v Feyenoord",
   "match_url": null,
   "kickoff": "2025-02-18T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14347.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 16400,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.2",
   "settled_price": "2.6400",
   "published_at": "2025-02-17T16:18:43.000Z",
   "recorded_at": "2026-10-09T12:54:47.351Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-85f5c2875a44564498211fe3",
    "quote_text": "Back Under 2.5 goals at 6/5 with LiveScore Bet",
    "fragment_from": 2801,
    "fragment_to": 2847,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250324085647id_/https://www.livescore.com/en/news/ac-milan-feyenoord-predictions-champions-league-2025021716184326883/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1ccbbbe988b029e6dd03fe7cc1cc23a0be10dc249f550c3ec4a9e3b9a34ccd8c",
     "material_removed": false
    },
    "published_at": "2025-02-17T16:18:43.000Z",
    "detected_at": "2026-10-09T12:54:47.351Z",
    "executed_at": "2026-11-07T18:23:06.235Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "AC Milan v Feyenoord",
     "competition_name": "UEFA Champions League",
     "starts_at": "2025-02-18T17:45:00.000Z",
     "url": null,
     "scoreline": "1-1"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "2.2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.6400",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 16400,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "found_post_match",
    "provenance_words": "Found after the match; date as stated by the source",
    "dates": {
     "fragment_at": "2025-02-17T16:18:43.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-02-17T16:18:43.000Z",
     "detected_at": "2026-10-09T12:54:47.351Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "source_stated_date",
    "origin_detail": "found_after_match",
    "origin_words": "Found after the match; date as stated by the source",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "2.2",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 2.2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was AC Milan 1-1 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "b29aecb382c2f7196de6f139651725e3921a58d6f4d94ed64ad83ed64d99c2e1",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12000,
      "executed_at": "2026-11-07T18:23:06.228Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "01697f5d283f82cadb07ccf5f6b6ba10b741e49b107e8ab6cfabb49dd24d7cc2",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.6400",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 16400,
      "executed_at": "2026-11-07T18:23:06.235Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/ac-milan-feyenoord-predictions-champions-league-2025021716184326883/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-ad34685339d90cfeffe7cd10",
   "url": "/authors/tom-hill/picks/2/#pick-n-ad34685339d90cfeffe7cd10",
   "match": "Chelsea v Brentford",
   "match_url": null,
   "kickoff": "2024-12-15T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -15702.1,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Chelsea win, both teams to score: yes at 2.3",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13350,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.3",
   "settled_price": "2.3350",
   "published_at": "2024-12-14T16:02:03.000Z",
   "recorded_at": "2026-10-01T01:05:39.712Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ad34685339d90cfeffe7cd10",
    "quote_text": "Chelsea to win & both teams to score\n2pts 13-10 bet365, Hills",
    "fragment_from": 3001,
    "fragment_to": 3062,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241214164623id_/https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "987f16e63d28ff284a8e38c9a335ce4c7b550c10f6e94c88d269274689317593",
     "material_removed": false
    },
    "published_at": "2024-12-14T16:02:03.000Z",
    "detected_at": "2026-10-01T01:05:39.712Z",
    "executed_at": "2026-11-07T18:22:37.357Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Chelsea v Brentford",
     "competition_name": "Premier League",
     "starts_at": "2024-12-15T19:00:00.000Z",
     "url": null,
     "scoreline": "2-1"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Chelsea win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.3",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.3350",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13350,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-12-14T16:46:23.000Z",
    "dates": {
     "fragment_at": "2024-12-14T16:02:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-12-14T16:02:03.000Z",
     "detected_at": "2026-10-01T01:05:39.712Z",
     "archive_snapshot_at": "2024-12-14T16:46:23.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 1 Oct 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Chelsea win, both teams to score: yes",
     "author_odds": "2.3",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Chelsea win, both teams to score: yes at 2.3"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Chelsea 2-1 Brentford."
    },
    "settlements": [
     {
      "operation_id": "4b35837ecc15a75acc6f2fe3aca7071804db878d5c1f3a25c1b5b06bf1dce93a",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Chelsea win, both teams to score: yes",
      "decimal_odds": "2.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13000,
      "executed_at": "2026-11-07T18:22:37.350Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "525be64a1db26a156f621b8c693ec89e4f7d138b9de2a878537785c0472ac8c4",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Chelsea win, both teams to score: yes",
      "decimal_odds": "2.3350",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13350,
      "executed_at": "2026-11-07T18:22:37.357Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "racingpost.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.racingpost.com/sport/football-tips/premier-league/premier-league-match-predictions-odds-tips-aPaRD9B6IKdC/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Chelsea win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-e5e93daabb8908499c7ccc4e",
   "url": "/authors/tom-hill/picks/3/#pick-n-e5e93daabb8908499c7ccc4e",
   "match": "Aston Villa v Southampton",
   "match_url": null,
   "kickoff": "2024-12-07T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -16102.2,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Aston Villa win, both teams to score: yes at 2.7",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.7",
   "settled_price": "2.6000",
   "published_at": "2024-12-05T13:04:10.000Z",
   "recorded_at": "2026-10-09T13:14:39.956Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-e5e93daabb8908499c7ccc4e",
    "quote_text": "Back Aston Villa to win and both teams to score at 17/10 with LiveScore Bet",
    "fragment_from": 3108,
    "fragment_to": 3183,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250125004404id_/https://www.livescore.com/en/news/aston-villa-southampton-predictions-premier-league-2024120513041023833/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e35443218938022146e9f34f4480626e164feae3b9691cc6959b567b39a39a1c",
     "material_removed": false
    },
    "published_at": "2024-12-05T13:04:10.000Z",
    "detected_at": "2026-10-09T13:14:39.956Z",
    "executed_at": "2026-11-07T18:23:06.446Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Aston Villa v Southampton",
     "competition_name": "Premier League",
     "starts_at": "2024-12-07T15:00:00.000Z",
     "url": null,
     "scoreline": "1-0"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Aston Villa win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.7",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.6000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "found_post_match",
    "provenance_words": "Found after the match; date as stated by the source",
    "dates": {
     "fragment_at": "2024-12-05T13:04:10.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-12-05T13:04:10.000Z",
     "detected_at": "2026-10-09T13:14:39.956Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "source_stated_date",
    "origin_detail": "found_after_match",
    "origin_words": "Found after the match; date as stated by the source",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Aston Villa win, both teams to score: yes",
     "author_odds": "2.7",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Aston Villa win, both teams to score: yes at 2.7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Aston Villa 1-0 Southampton."
    },
    "settlements": [
     {
      "operation_id": "2219bc3b2f09b32c6eab2bd9d7909d4330d1a2682212c2e72d9af1377eaf16bc",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Aston Villa win, both teams to score: yes",
      "decimal_odds": "2.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.438Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3f97fc6355dd94c49afc7c8fca08b7c78734ac3c0d94ea63a162cb55d992bb47",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Aston Villa win, both teams to score: yes",
      "decimal_odds": "2.6000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.446Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/aston-villa-southampton-predictions-premier-league-2024120513041023833/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-985fc97d2b2fd3f13dfd98e1",
   "url": "/authors/tom-hill/picks/3/#pick-n-985fc97d2b2fd3f13dfd98e1",
   "match": "Tottenham Hotspur v Qarabag",
   "match_url": null,
   "kickoff": "2024-09-26T19:35:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -17825.6,
   "market_code": "total",
   "author_said": "Over/Under 3.5 goals: over 3.5 at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "1.75",
   "settled_price": "1.7350",
   "published_at": "2024-09-24T13:12:28.000Z",
   "recorded_at": "2026-10-09T13:09:02.791Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-985fc97d2b2fd3f13dfd98e1",
    "quote_text": "Back Over 3.5 goals at 3/4 with LiveScore Bet.",
    "fragment_from": 3260,
    "fragment_to": 3306,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240925010823id_/https://www.livescore.com/en/news/amp/tottenham-vs-qarabag-predictions-europa-league-2024092413122806550/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0a5755d1e5a66ed36fa2f76173c9fbdeb8890ee350a1eb33bf56f3b7d7c8d93e",
     "material_removed": false
    },
    "published_at": "2024-09-24T13:12:28.000Z",
    "detected_at": "2026-10-09T13:09:02.791Z",
    "executed_at": "2026-11-07T18:23:06.054Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Tottenham Hotspur v Qarabag",
     "competition_name": "UEFA Europa League",
     "starts_at": "2024-09-26T19:35:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "Over/Under 3.5 goals",
    "outcome_label": "over 3.5",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.7350",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-25T01:08:23.000Z",
    "dates": {
     "fragment_at": "2024-09-24T13:12:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-24T13:12:28.000Z",
     "detected_at": "2026-10-09T13:09:02.791Z",
     "archive_snapshot_at": "2024-09-25T01:08:23.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 9 Oct 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 3.5 goals",
     "choice": "over 3.5",
     "author_odds": "1.75",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Over/Under 3.5 goals: over 3.5 at 1.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Tottenham Hotspur 3-0 Qarabag."
    },
    "settlements": [
     {
      "operation_id": "4b30fcdd522d9567beb380a5d5c2afa88d3d2c370b40487da0d36d6418131293",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "1.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.047Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "21a913584d9e7a8415294685c0c440375c9964ebe3a908a53908282d7d807a3b",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "1.7350",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.054Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/amp/tottenham-vs-qarabag-predictions-europa-league-2024092413122806550/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 3.5 (Over/Under 3.5 goals)"
   }
  },
  {
   "record_id": "n-467814994672d741d7282617",
   "url": "/authors/tom-hill/picks/3/#pick-n-467814994672d741d7282617",
   "match": "Cardiff City v Leeds United",
   "match_url": null,
   "kickoff": "2024-09-21T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -17951.9,
   "market_code": "team_total",
   "author_said": "Team goals over/under 0.5: Cardiff City under 0.5 at 2.18",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11950,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.18",
   "settled_price": "2.1950",
   "published_at": "2024-09-20T11:37:45.000Z",
   "recorded_at": "2026-10-09T13:53:51.524Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-467814994672d741d7282617",
    "quote_text": "Back Under 0.5 Cardiff City goals at 59/50 with LiveScore Bet.",
    "fragment_from": 2735,
    "fragment_to": 2797,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240920133215id_/https://www.livescore.com/en/news/cardiff-leeds-predictions-championship-2024092011374523496/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2258c020f769580768619dfdc9aedeb03702dccca7141d9fb325cb8c25e1616b",
     "material_removed": false
    },
    "published_at": "2024-09-20T11:37:45.000Z",
    "detected_at": "2026-10-09T13:53:51.524Z",
    "executed_at": "2026-11-07T18:23:06.214Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Cardiff City v Leeds United",
     "competition_name": "EFL Championship",
     "starts_at": "2024-09-21T14:00:00.000Z",
     "url": null,
     "scoreline": "0-2"
    },
    "market_label": "Team goals over/under 0.5",
    "outcome_label": "Cardiff City under 0.5",
    "odds_set": {
     "by_author": "2.18",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.1950",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11950,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-20T13:32:15.000Z",
    "dates": {
     "fragment_at": "2024-09-20T11:37:45.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-20T11:37:45.000Z",
     "detected_at": "2026-10-09T13:53:51.524Z",
     "archive_snapshot_at": "2024-09-20T13:32:15.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 9 Oct 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 0.5",
     "choice": "Cardiff City under 0.5",
     "author_odds": "2.18",
     "market_key": "team_total",
     "choice_key": "1-under",
     "period": "match",
     "line": "0.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 0.5: Cardiff City under 0.5 at 2.18"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Cardiff City 0-2 Leeds United."
    },
    "settlements": [
     {
      "operation_id": "706dd2a4b6993878fe77ad524484877e2aea368b46b7136c9a28ddc4689c76d5",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5",
      "choice": "Cardiff City under 0.5",
      "decimal_odds": "2.18",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11800,
      "executed_at": "2026-11-07T18:23:06.207Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "01bc1277e723d93832e4ca35f5f69fd69a0da5e103601b8125101b553de754bb",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5",
      "choice": "Cardiff City under 0.5",
      "decimal_odds": "2.1950",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11950,
      "executed_at": "2026-11-07T18:23:06.214Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/cardiff-leeds-predictions-championship-2024092011374523496/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cardiff City under 0.5 (Team goals over/under 0.5)"
   }
  },
  {
   "record_id": "n-400de21c0ecc6f5aa35251d0",
   "url": "/authors/tom-hill/picks/3/#pick-n-400de21c0ecc6f5aa35251d0",
   "match": "West Bromwich Albion v Leeds United",
   "match_url": null,
   "kickoff": "2024-08-17T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -18793.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: West Bromwich Albion at 3.3",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "3.3",
   "settled_price": "3.5000",
   "published_at": "2024-08-15T08:57:54.000Z",
   "recorded_at": "2026-10-09T13:09:30.262Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-400de21c0ecc6f5aa35251d0",
    "quote_text": "Back West Brom to win at 23/10 with LiveScore Bet",
    "fragment_from": 3180,
    "fragment_to": 3229,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240816093229id_/https://www.livescore.com/en/news/amp/west-brom-leeds-predictions-championship-2024081508575430169/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e5087e6fcb1b6931329996988cc9a449acab219fba3afa83286123f3002c36c4",
     "material_removed": false
    },
    "published_at": "2024-08-15T08:57:54.000Z",
    "detected_at": "2026-10-09T13:09:30.262Z",
    "executed_at": "2026-11-07T18:23:06.089Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "West Bromwich Albion v Leeds United",
     "competition_name": "EFL Championship",
     "starts_at": "2024-08-17T11:30:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "1X2, match result",
    "outcome_label": "West Bromwich Albion",
    "odds_set": {
     "by_author": "3.3",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "3.5000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-16T09:32:29.000Z",
    "dates": {
     "fragment_at": "2024-08-15T08:57:54.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-15T08:57:54.000Z",
     "detected_at": "2026-10-09T13:09:30.262Z",
     "archive_snapshot_at": "2024-08-16T09:32:29.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 9 Oct 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "West Bromwich Albion",
     "author_odds": "3.3",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: West Bromwich Albion at 3.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was West Bromwich Albion 0-0 Leeds United."
    },
    "settlements": [
     {
      "operation_id": "28caa4af7bc774bbeaadaa4fbe9f538fc8d80979db98091b96c1b91bfde6a0f0",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "West Bromwich Albion",
      "decimal_odds": "3.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.082Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7043de25d673dd373af3cdf98bd6caa189dc99a072965d68b2a733804254f103",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "West Bromwich Albion",
      "decimal_odds": "3.5000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:06.089Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/amp/west-brom-leeds-predictions-championship-2024081508575430169/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "West Bromwich Albion to win"
   }
  },
  {
   "record_id": "n-217c04d1eca7727b723a0d84",
   "url": "/authors/tom-hill/picks/2/#pick-n-217c04d1eca7727b723a0d84",
   "match": "Portsmouth v Luton Town",
   "match_url": null,
   "kickoff": "2024-08-17T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -18793.6,
   "market_code": "total",
   "author_said": "Over/Under 3.5 goals: over 3.5 at 2.9",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.9",
   "settled_price": "2.8550",
   "published_at": "2024-08-15T07:16:57.000Z",
   "recorded_at": "2026-10-09T13:05:32.851Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "LiveScore",
   "correction": null,
   "evidence": {
    "observation_id": "n-217c04d1eca7727b723a0d84",
    "quote_text": "Back Over 3.5 goals at 19/10 with LiveScore Bet",
    "fragment_from": 3378,
    "fragment_to": 3425,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240816093243id_/https://www.livescore.com/en/news/amp/portsmouth-luton-predictions-championship-2024081507165752399/",
     "display_name": null,
     "speaker": "Tom Hill",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b61b9a3c4077fad58430f9233d15625c0fa568d970a20939b06610be64594344",
     "material_removed": false
    },
    "published_at": "2024-08-15T07:16:57.000Z",
    "detected_at": "2026-10-09T13:05:32.851Z",
    "executed_at": "2026-11-07T18:23:05.858Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Portsmouth v Luton Town",
     "competition_name": "EFL Championship",
     "starts_at": "2024-08-17T11:30:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "Over/Under 3.5 goals",
    "outcome_label": "over 3.5",
    "odds_set": {
     "by_author": "2.9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.8550",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-16T09:32:43.000Z",
    "dates": {
     "fragment_at": "2024-08-15T07:16:57.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-15T07:16:57.000Z",
     "detected_at": "2026-10-09T13:05:32.851Z",
     "archive_snapshot_at": "2024-08-16T09:32:43.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 9 Oct 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 3.5 goals",
     "choice": "over 3.5",
     "author_odds": "2.9",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Over/Under 3.5 goals: over 3.5 at 2.9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Portsmouth 0-0 Luton Town."
    },
    "settlements": [
     {
      "operation_id": "b852e7a23a621d98e0305ae128a1515e737d0e6ef2e1b79e838f36eceed645a2",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "2.9",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:05.853Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5fb2baad70753768bee4e4b299bbc89f569305ea5e3f93869193dbf27245511a",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "2.8550",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:23:05.858Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Hill",
     "publisher": "livescore.com",
     "forecaster": "Tom Hill",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.livescore.com/en/news/amp/portsmouth-luton-predictions-championship-2024081507165752399/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 3.5 (Over/Under 3.5 goals)"
   }
  },
  {
   "record_id": "n-dce0e6855b737f784943701c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Raul Jimenez 1+ fouls committed",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-02-21T16:50:00.000Z",
   "recorded_at": "2026-09-28T17:26:57.816Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8c15bfff84111762a5c53a3d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Lucas Paqueta over 0.5 fouls",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-12-29T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:36.606Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-4e7ddf586ca5af0c31b8cecd",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Yasin Ayari over 1.5 shots",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-12-29T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:36.606Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-7519081a495689d8c7bfb06c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Jarrod Bowen over 1.5 shots on target",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-12-29T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:36.606Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a7b1c6dd30769ac05956fd78",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Yasin Ayari 1+ shot",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-08-30T13:01:30.000Z",
   "recorded_at": "2026-09-28T16:12:06.105Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-180340a9ff51b03b06822771",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Tijjani Reijnders to commit 1+ foul",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-08-30T13:01:30.000Z",
   "recorded_at": "2026-09-28T16:12:06.105Z",
   "origin": "Found after the match; date as stated by the source",
   "record_part": "found_after",
   "record_part_words": "Found after the match",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-ede6c638fe41fdcabcd0d8be",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Morgan Gibbs-White over 0.5 fouls",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-08-16T18:03:45.000Z",
   "recorded_at": "2026-09-28T17:56:28.980Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 17,
  "before_kickoff": 0,
  "after_kickoff": 17,
  "at_least_2h": 0,
  "share_2h_plus": 0.0,
  "median_hours": null,
  "min_hours": null,
  "max_hours": null,
  "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
 },
 "baseline": {
  "contract_version": 1,
  "series_code": "market_price",
  "rule": "recorded-line-1.0",
  "state": "none",
  "picks": 0,
  "settled_picks_all": 0,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 0,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 0,
  "author_net_hundredths": 0,
  "favourite_net_hundredths": 0,
  "difference_hundredths": 0,
  "author_return_percent": null,
  "favourite_return_percent": null,
  "author_hit_rate": null,
  "favourite_hit_rate": null,
  "picked_favourite_share": null,
  "by_market": [],
  "return_over_time": [],
  "words": "Same stakes, same matches, same recorded moment: the author’s picks against backing the market favourite by the recorded line. Only markets with a single shortest price count (match result, over/under, both teams to score, handicap); correct score and combined markets are left out."
 },
 "pagination": {
  "per_page": 20,
  "total": 24,
  "pages": 3,
  "page_urls": [
   "/authors/tom-hill/",
   "/authors/tom-hill/picks/2/",
   "/authors/tom-hill/picks/3/"
  ],
  "groups": {
   "settled": 17,
   "pending": 0,
   "excluded": 7
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/tom-hill/",
  "current": false
 },
 "title_tag": "Tom Hill Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-ad6cf83fb768c5f16139a437",
  "type_code": "individual",
  "name_shown": "Tom Hill",
  "main_entity": "e-ad6cf83fb768c5f16139a437",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-ad6cf83fb768c5f16139a437",
    "medium": "Racing Post",
    "channel": "section pages",
    "domain": "racingpost.com",
    "source_info": "racing-post",
    "byline": "Tom Hill",
    "url": "/sources/racing-post/",
    "summary": {
     "statements": 40,
     "predictions": 18,
     "settled_picks": 7,
     "headline_kind": "historical_simulation",
     "return_percent": -14.71,
     "headline_part": "archived",
     "period_from": "2026-09-28",
     "period_to": "2026-10-01"
    }
   },
   {
    "entity_ref": "e-9766547ea5162fc7ba23e907",
    "medium": "LiveScore",
    "channel": "section pages",
    "domain": "livescore.com",
    "source_info": "livescore",
    "byline": "Tom Hill",
    "url": null,
    "summary": {
     "statements": 35,
     "predictions": 6,
     "settled_picks": 4,
     "headline_kind": "historical_simulation",
     "return_percent": -45.12,
     "headline_part": "archived",
     "period_from": "2026-10-09",
     "period_to": "2026-10-14"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-10-15.5",
  "updated": "2026-10-15",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "retro-1.1",
  "price_rule": "reconstructed at archived prices (~8–15 h before kick-off), archived before kick-off only",
  "series_code": "retro_market_closing_sm:archived",
  "sample": {
   "settled_picks": 11,
   "matches": 8,
   "void": 0,
   "period_from": "2024-08-17",
   "period_to": "2026-02-22",
   "composition_hash": "80a43e7ac7361a122570e958e9d3b632cb18915112d42f701866cd30b82fe569"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-deb1e93a655937ca63ed",
   "at": "2026-10-15T18:43:19.205Z",
   "data_version": "2026-10-15.5",
   "previous_data_version": "2026-10-15.4",
   "url": "/authors/tom-hill/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-09.2",
    "return_percent": "-14.71",
    "settled_picks": 7,
    "matches": 4,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "5d5ae6ac44532aec10f388b238a9bd7e5eb2ae2f45d71cff45ee477fc054cf81",
    "text": "−103.00 points on 7 settled picks across 4 matches · historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-15.5",
    "return_percent": "-25.77",
    "settled_picks": 11,
    "matches": 8,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "80a43e7ac7361a122570e958e9d3b632cb18915112d42f701866cd30b82fe569",
    "text": "−25.77% on 11 settled picks across 8 matches · historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "reason": "Added 4 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 4,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-35d8594877666719b6b6",
   "at": "2026-10-09T12:49:36.723Z",
   "data_version": "2026-10-09.2",
   "previous_data_version": "2026-10-09.1",
   "url": "/authors/tom-hill/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": {
    "data_version": "2026-10-09.1",
    "return_percent": "-46.94",
    "settled_picks": 8,
    "matches": 5,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "be1d9149080e04cf3f36dee9357da78e2a6a19fa0cf3d3ca55d95b07f206f6c4",
    "text": "−375.50 points on 8 settled picks across 5 matches · second data provider's closing price, restored · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-09.2",
    "return_percent": "-14.71",
    "settled_picks": 7,
    "matches": 4,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "5d5ae6ac44532aec10f388b238a9bd7e5eb2ae2f45d71cff45ee477fc054cf81",
    "text": "−103.00 points on 7 settled picks across 4 matches · historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "reason": "The headline rule changed on 9 October 2026: the headline is the live record at our recorded market price; without one, a historical simulation at the last pre-match archive price (~8–15 h before kick-off) on picks archived before kick-off only. Picks first found after the match no longer enter the headline number. Was: second data provider's closing price, restored (8 settled picks). Now: historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only (7 settled picks).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 2,
    "changed": 0
   },
   "correction_id": "i-9dead0651eb0cf7711b6"
  },
  {
   "id": "zc-c8de30d2838a700a2cc2",
   "at": "2026-10-09T11:08:54.367Z",
   "data_version": "2026-10-09.1",
   "previous_data_version": "2026-09-30.1",
   "url": "/authors/tom-hill/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-09-30.1",
    "return_percent": "-72.71",
    "settled_picks": 7,
    "matches": 4,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "698754e80cb0a52122beac90d020939ae49fb8643eedd1c8d2adc14e4826b481",
    "text": "−509.00 points on 7 settled picks across 4 matches · second data provider's closing price, restored · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-09.1",
    "return_percent": "-46.94",
    "settled_picks": 8,
    "matches": 5,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "be1d9149080e04cf3f36dee9357da78e2a6a19fa0cf3d3ca55d95b07f206f6c4",
    "text": "−375.50 points on 8 settled picks across 5 matches · second data provider's closing price, restored · method retro-1.1"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "author_card": {
  "body": "Record tracked by Forecast Record since 28 September 2026 · 24 predictions · last change 9 October 2026",
  "url": "https://forecastrecord.com/authors/tom-hill/",
  "s": "2026-09-28",
  "prediction_count": 24,
  "refreshed_at": "2026-10-09",
  "html": "<a href=\"https://forecastrecord.com/authors/tom-hill/\">Record tracked by Forecast Record since 28 September 2026 · 24 predictions · last change 9 October 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 12,
  "days": 555,
  "weeks": 7,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 4,
  "first_settled_on": "2024-08-17",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "racing-post",
   "source_name": "Racing Post",
   "source_url": "/sources/racing-post/",
   "label": "Also at Racing Post",
   "authors_total": 15,
   "authors": [
    {
     "name": "James Milton",
     "url": "/authors/james-milton/",
     "headline_part": "archived",
     "settled_picks": 124,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Liam Flin",
     "url": "/authors/liam-flin/",
     "headline_part": "archived",
     "settled_picks": 58,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Jack Ogalbe",
     "url": "/authors/jack-ogalbe/",
     "headline_part": "archived",
     "settled_picks": 44,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Ian Wilkerson",
     "url": "/authors/ian-wilkerson/",
     "headline_part": "archived",
     "settled_picks": 37,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Dan Childs",
     "url": "/authors/dan-childs/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Joe Casey",
     "url": "/authors/joe-casey/",
     "headline_part": "live",
     "settled_picks": 19,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Aaron Ashley",
     "url": "/authors/aaron-ashley/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "James Mason",
     "url": "/authors/james-mason/",
     "headline_part": "archived",
     "settled_picks": 14,
     "return_percent": "16.1",
     "small_sample": false,
     "average_odds": "4.00",
     "odds_from_author": 10,
     "odds_from_snapshot": 4
    },
    {
     "name": "Steve Davies",
     "url": "/authors/steve-davies/",
     "headline_part": "archived",
     "settled_picks": 14,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Jamie Griffith",
     "url": "/authors/jamie-griffith/",
     "headline_part": "live",
     "settled_picks": 12,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Tom McGarry",
     "url": "/authors/tom-mcgarry/",
     "headline_part": "archived",
     "settled_picks": 11,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Alex Wrigley",
     "url": "/authors/alex-wrigley/",
     "headline_part": "archived",
     "settled_picks": 7,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": "7 records added on 28 Sep 2026 from archived copies; 8 records added on 28 Sep 2026 found after the match; 4 records added on 9 Oct 2026 from archived copies; 3 more records added on other dates. The current numbers include them; numbers published earlier, including the record before each match, do not change.",
  "records_corrected": 0,
  "last_correction_at": "2026-10-09T12:49:36.723Z",
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-ad6cf83fb768c5f16139a437",
 "source_revision": 207,
 "related": [
  {
   "url": "/cards/e-ad6cf83fb768c5f16139a437-bank/",
   "name": "Bankroll card — Tom Hill",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ad6cf83fb768c5f16139a437-said-vs-happened/",
   "name": "Said → happened — Tom Hill",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/tom-hill/",
   "name": "Your record on Forecast Record: Tom Hill",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 17,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 24,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 24,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 11,
   "where": "origin-archived",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 5,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 12,
   "where": "origin-archived",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked",
   "entity": "e-ad6cf83fb768c5f16139a437",
   "value": 12,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
