{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/tom-mcgarry/",
 "canonical": "/authors/tom-mcgarry/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Tom McGarry: Football Prediction Record",
 "description": "11 settled picks by Tom McGarry archived before kick-off across 9 matches, 31 Aug 2024 – 19 Apr 2026: +29.3% reconstructed at archived prices.",
 "first_paragraph": {
  "body": "Forecast Record restored 11 settled archived picks by Tom McGarry from copies archived before kick-off, across 9 matches between 31 August 2024 and 19 April 2026. Reconstructed at archived prices, these picks returned +29.3% on the total staked. Of the 43 predictions we hold for Tom McGarry, 22 were archived before kick-off by an independent web archive and 21 first found after the match. Figures as of 7 November 2026.",
  "key_number": "+29.3%",
  "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": 8,
  "required_settled": 10,
  "required_dates": 2,
  "live_count": 0,
  "restored_count": 14,
  "of_them_archived": 11
 },
 "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": "43d940b396f3a2a473c80e7e9673c1ee9af6bfce8f3d97d3a5d19314272c6e9e",
 "dependency_group": "author:e-c63c34585c68ce9bc820d814",
 "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-mcgarry/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/tom-mcgarry/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-c63c34585c68ce9bc820d814",
  "public_name": "Tom McGarry",
  "tracker_number": 1823,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-28",
   "until": "2026-10-18"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-c63c34585c68ce9bc820d814-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": 132,
  "recognised": 43,
  "accepted": 30,
  "executed": 30,
  "calculated": 22,
  "gaps": [
   {
    "cause": "read after the match, from archived pages",
    "figure": 7
   },
   {
    "cause": "not_supported",
    "figure": 6
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 132,
  "of_them_restored": 132,
  "not_predictions": {
   "opinions": 18,
   "not_about_a_match": 71,
   "unclassified": 0
  },
  "predictions": 43,
  "predictions_restored": 43,
  "matches": 0,
  "admitted": 30,
  "qualifying_picks": 30,
  "qualifying_picks_restored": 30,
  "settled_picks": 22,
  "settled_picks_restored": 22,
  "series_list": [
   {
    "code_name": "retro_market_closing",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 2,
    "settled_picks": 2,
    "void": 0,
    "pending_picks": 0,
    "matches": 2,
    "operations_settled": 2,
    "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": 23,
    "settled_picks": 17,
    "void": 0,
    "pending_picks": 6,
    "matches": 16,
    "operations_settled": 17,
    "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": 26,
    "settled_picks": 20,
    "void": 0,
    "pending_picks": 6,
    "matches": 18,
    "operations_settled": 20,
    "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": "after_match",
    "cause": "read after the match, from archived pages",
    "figure": 7
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 6
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 6
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-670abaf925a9bf15152bb236",
   "url": "/evidence/?pick=n-670abaf925a9bf15152bb236",
   "quote_text": "Narrow home win expected",
   "fragment_from": 4329,
   "fragment_to": 4353,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251022231039id_/https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "311ef8121f34cbee94e44a8816e1cb2f6523d5fc3c98be9807c49c1e81b0b3aa",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-02T00:44:04.971Z",
   "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": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-02T00:44:04.971Z",
    "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-75c511c562f8c52e96d82223",
   "url": "/evidence/?pick=n-75c511c562f8c52e96d82223",
   "quote_text": "Sign up with Betfair to bet on Brann vs Rangers in the Europa League.",
   "fragment_from": 6175,
   "fragment_to": 6244,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251022231039id_/https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "311ef8121f34cbee94e44a8816e1cb2f6523d5fc3c98be9807c49c1e81b0b3aa",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-02T00:44:04.971Z",
   "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-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-02T00:44:04.971Z",
    "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-c2e2f09f53be32ef4ac2743d",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-c2e2f09f53be32ef4ac2743d",
   "quote_text": "Djeidi Gassama 3+ shots",
   "fragment_from": 5310,
   "fragment_to": 5333,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251022231039id_/https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "311ef8121f34cbee94e44a8816e1cb2f6523d5fc3c98be9807c49c1e81b0b3aa",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-02T00:44:04.971Z",
   "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": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-02T00:44:04.971Z",
    "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-f49126fd1f0d148e6469b04f",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-f49126fd1f0d148e6469b04f",
   "quote_text": "Under 1.5 goals in Burton vs Shrewsbury\n1pt 5-2 bet365, Betfair",
   "fragment_from": 1255,
   "fragment_to": 1318,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241108130113id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fedeefe5dbd733aaa52eae4b5a43449ebe366d33d102496fd345124cb16cc333",
    "material_removed": false
   },
   "published_at": "2024-11-08T12:50:39.000Z",
   "detected_at": "2026-10-01T01:12:16.755Z",
   "executed_at": "2026-11-07T18:22:32.956Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Burton Albion v Shrewsbury Town",
    "competition_name": "EFL League One",
    "starts_at": "2024-11-09T12:30:00.000Z",
    "url": null,
    "scoreline": "2-0"
   },
   "market_label": "Over/Under 1.5 goals",
   "outcome_label": "under 1.5",
   "odds_set": {
    "by_author": "3.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "3.2500",
    "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-11-08T13:01:13.000Z",
   "dates": {
    "fragment_at": "2024-11-08T12:50:39.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-11-08T12:50:39.000Z",
    "detected_at": "2026-10-01T01:12:16.755Z",
    "archive_snapshot_at": "2024-11-08T13:01:13.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": "Over/Under 1.5 goals",
    "choice": "under 1.5",
    "author_odds": "3.5",
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "1.5",
    "subject": "goals_total",
    "in_words": "Over/Under 1.5 goals: under 1.5 at 3.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Burton Albion 2-0 Shrewsbury Town."
   },
   "settlements": [
    {
     "operation_id": "a784acf5ff9e6727679106e477985947acf0a94f9ecd72f64569f9672f5b8978",
     "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 1.5 goals",
     "choice": "under 1.5",
     "decimal_odds": "3.5",
     "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:22:32.943Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "3b21b9a3bb9be6f5a9a609436691f955049c98ed29f34eb2c5a3f05a6f257216",
     "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 1.5 goals",
     "choice": "under 1.5",
     "decimal_odds": "3.2500",
     "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:22:32.956Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d441922c7e2d97a83525369e",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-d441922c7e2d97a83525369e",
   "quote_text": "Millwall to beat Stoke\n1pt 19-10 Hills",
   "fragment_from": 1215,
   "fragment_to": 1253,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241108130113id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fedeefe5dbd733aaa52eae4b5a43449ebe366d33d102496fd345124cb16cc333",
    "material_removed": false
   },
   "published_at": "2024-11-08T12:50:39.000Z",
   "detected_at": "2026-10-01T01:12:16.755Z",
   "executed_at": "2026-11-07T18:22:32.928Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Stoke City v Millwall",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-09T12:30:00.000Z",
    "url": null,
    "scoreline": "1-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Millwall",
   "odds_set": {
    "by_author": "2.9",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "3.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": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-11-08T13:01:13.000Z",
   "dates": {
    "fragment_at": "2024-11-08T12:50:39.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-11-08T12:50:39.000Z",
    "detected_at": "2026-10-01T01:12:16.755Z",
    "archive_snapshot_at": "2024-11-08T13:01:13.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": "1X2, match result",
    "choice": "Millwall",
    "author_odds": "2.9",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Millwall at 2.9"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Stoke City 1-1 Millwall."
   },
   "settlements": [
    {
     "operation_id": "12596bd77cb5309199e810f70568bd87ea1c736f6f5026af1d999b1f3b58ff38",
     "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": "Millwall",
     "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:22:32.881Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8a538ce6f93b8b9c9c5ff96658da0bed9dba6bc773e912b002498e10b835fd76",
     "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": "Millwall",
     "decimal_odds": "3.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:22:32.928Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cab051d2b6c8650c5f7609ed",
   "url": "/evidence/?pick=n-cab051d2b6c8650c5f7609ed",
   "quote_text": "All matches are live on Sky Sports+ at 12.30pm on Saturday",
   "fragment_from": 1222,
   "fragment_to": 1280,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241122235002id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "644989caa68d50c93823643cf4ecdf74dd5692ae7f970117bda70ff51c32b24a",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:11:01.002Z",
   "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-11-22T16:29:32.000Z",
    "detected_at": "2026-10-01T01:11:01.002Z",
    "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-33847d2ef530d7fb9e465766",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-33847d2ef530d7fb9e465766",
   "quote_text": "Notts County win to nil vs Newport\n1pt 13-8 Coral, Ladbrokes",
   "fragment_from": 1352,
   "fragment_to": 1412,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241122235002id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "644989caa68d50c93823643cf4ecdf74dd5692ae7f970117bda70ff51c32b24a",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T01:11:01.002Z",
   "executed_at": null,
   "statement_class": "priced",
   "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": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-22T16:29:32.000Z",
    "detected_at": "2026-10-01T01:11:01.002Z",
    "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": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-055e5bd3ddb60d65eac0a88a",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-055e5bd3ddb60d65eac0a88a",
   "quote_text": "Under 1.5 goals in Bristol City vs Burnley\n1pt 2-1 bet365",
   "fragment_from": 1293,
   "fragment_to": 1350,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241122235002id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "644989caa68d50c93823643cf4ecdf74dd5692ae7f970117bda70ff51c32b24a",
    "material_removed": false
   },
   "published_at": "2024-11-22T16:29:32.000Z",
   "detected_at": "2026-10-01T01:11:01.002Z",
   "executed_at": "2026-11-07T18:22:32.777Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Bristol City v Burnley",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-23T12:30:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 1.5 goals",
   "outcome_label": "under 1.5",
   "odds_set": {
    "by_author": "3",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.7500",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 17500,
   "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-11-22T23:50:02.000Z",
   "dates": {
    "fragment_at": "2024-11-22T16:29:32.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-11-22T16:29:32.000Z",
    "detected_at": "2026-10-01T01:11:01.002Z",
    "archive_snapshot_at": "2024-11-22T23:50:02.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": "Over/Under 1.5 goals",
    "choice": "under 1.5",
    "author_odds": "3",
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "1.5",
    "subject": "goals_total",
    "in_words": "Over/Under 1.5 goals: under 1.5 at 3"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Bristol City 0-1 Burnley."
   },
   "settlements": [
    {
     "operation_id": "af3c933624f58d25ccb5ffadccded6838e5263ce30c9707b9c20eca08c28231a",
     "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 1.5 goals",
     "choice": "under 1.5",
     "decimal_odds": "3",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 20000,
     "executed_at": "2026-11-07T18:22:32.761Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e0c71cc238bbaf9ae54d9c8fafcc689ad7c8c6dae607cfcc7e9d109d04c853d3",
     "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 1.5 goals",
     "choice": "under 1.5",
     "decimal_odds": "2.7500",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 17500,
     "executed_at": "2026-11-07T18:22:32.777Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-0698b5a3277098c41014f365",
   "url": "/evidence/?pick=n-0698b5a3277098c41014f365",
   "quote_text": "that brings the 2-1 home win firmly into play.",
   "fragment_from": 4607,
   "fragment_to": 4653,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "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": "2025-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "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-ffbf702b2e184d6a7933a9ea",
   "url": "/evidence/?pick=n-ffbf702b2e184d6a7933a9ea",
   "quote_text": "Cameron Carter-Vickers, Jota and Kelechi Iheanacho remain unavailable for Celtic",
   "fragment_from": 6937,
   "fragment_to": 7017,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "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-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "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-f3a4e1e5bba8ec526b785313",
   "url": "/evidence/?pick=n-f3a4e1e5bba8ec526b785313",
   "quote_text": "Ovie Ejeheri, Edward Chilufya and Adam Gabriel all sidelined through injury.",
   "fragment_from": 6660,
   "fragment_to": 6736,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "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-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "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-65f6271c7ec7c3e38a2d896f",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-65f6271c7ec7c3e38a2d896f",
   "quote_text": "Midtjylland to win 2-1\n8-1 bet365",
   "fragment_from": 2371,
   "fragment_to": 2404,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "executed_at": "2026-11-07T18:22:26.360Z",
   "statement_class": "score_forecast",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "FC Midtjylland v Celtic",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-11-06T17:45:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "Correct score",
   "outcome_label": "FC Midtjylland 2-1 Celtic",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "8.1000",
    "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-11-05T18:10:41.000Z",
   "dates": {
    "fragment_at": "2025-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "archive_snapshot_at": "2025-11-05T18:10:41.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": "Correct score",
    "choice": "FC Midtjylland 2-1 Celtic",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: FC Midtjylland 2-1 Celtic"
   },
   "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 FC Midtjylland 3-1 Celtic."
   },
   "settlements": [
    {
     "operation_id": "795f50d23db7cfe40361a008cad84123288b44b2ae8e73718b7fb2edd7127cd3",
     "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": "FC Midtjylland",
     "decimal_odds": "2.0000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10000,
     "executed_at": "2026-11-07T18:22:26.366Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": false,
     "replaced": false
    },
    {
     "operation_id": "f28268c796826e426ec900657cbf001310c96557bc8ce595d7c624baaaa97c98",
     "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": "FC Midtjylland 2-1 Celtic",
     "decimal_odds": "8.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:22:26.360Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-21eec18ff64330e6fb5d5840",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-21eec18ff64330e6fb5d5840",
   "quote_text": "Franculino Dju anytime goalscorer\n13-10 Ladbrokes",
   "fragment_from": 2310,
   "fragment_to": 2359,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "executed_at": "2026-11-07T18:22:26.350Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "FC Midtjylland v Celtic",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-11-06T17:45:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "Player to score",
   "outcome_label": "Franculino Dju to score",
   "odds_set": {
    "by_author": "2.3",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 13000,
   "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-11-05T18:10:41.000Z",
   "dates": {
    "fragment_at": "2025-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "archive_snapshot_at": "2025-11-05T18:10:41.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": "Player to score",
    "choice": "Franculino Dju to score",
    "author_odds": "2.3",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Franculino Dju to score at 2.3"
   },
   "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 FC Midtjylland 3-1 Celtic."
   },
   "settlements": [
    {
     "operation_id": "620c4ef54394cd1f825a9442bac8dbf2c2b10e23d971d8ec2aa4ad401c61b806",
     "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 score",
     "choice": "Franculino Dju to score",
     "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:26.350Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e8b20da42f58eaa8408197f1",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-e8b20da42f58eaa8408197f1",
   "quote_text": "Over 2.5 goals & both teams to score\n2pts Evs Hills",
   "fragment_from": 2237,
   "fragment_to": 2288,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
    "material_removed": false
   },
   "published_at": "2025-11-05T17:00:00.000Z",
   "detected_at": "2026-10-01T00:47:51.822Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-11-05T17:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "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-f613752f6831ba0712620c82",
   "url": "/evidence/?pick=n-f613752f6831ba0712620c82",
   "quote_text": "They may be vulnerable favourites and Coventry are worth supporting in the double chance market.",
   "fragment_from": 3213,
   "fragment_to": 3309,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T00:37:12.119Z",
   "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": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "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-3428d0944c43a22f28f8ad0a",
   "url": "/evidence/?pick=n-3428d0944c43a22f28f8ad0a",
   "quote_text": "Another team that could enjoy some away success is Coventry",
   "fragment_from": 2589,
   "fragment_to": 2648,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T00:37:12.119Z",
   "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": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "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-2fa6b839a18a20c26a7823a2",
   "url": "/evidence/?pick=n-2fa6b839a18a20c26a7823a2",
   "quote_text": "they offer plenty of value to record another victory on Saturday.",
   "fragment_from": 2522,
   "fragment_to": 2587,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T00:37:12.119Z",
   "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": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "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-0e9b2c86d287a1a23d01a8be",
   "url": "/evidence/?pick=n-0e9b2c86d287a1a23d01a8be",
   "quote_text": "the Black Cats can add another victory away at struggling QPR.",
   "fragment_from": 1537,
   "fragment_to": 1599,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T00:37:12.119Z",
   "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": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "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-5d218a953a9d1db0939c35c8",
   "url": "/evidence/?pick=n-5d218a953a9d1db0939c35c8",
   "quote_text": "Black Cats expected to push on",
   "fragment_from": 997,
   "fragment_to": 1027,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-01T00:37:12.119Z",
   "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": null,
    "fragment_basis": "no",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "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-5ea5e3a7c757a237a94a56f7",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-5ea5e3a7c757a237a94a56f7",
   "quote_text": "Coventry or draw double chance\n3pm Saturday\n1pt 23-20 Hills",
   "fragment_from": 1252,
   "fragment_to": 1311,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": "2024-11-01T17:13:53.000Z",
   "detected_at": "2026-10-01T00:37:12.119Z",
   "executed_at": "2026-11-07T18:22:46.704Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Middlesbrough v Coventry City",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-02T15:00:00.000Z",
    "url": null,
    "scoreline": "0-3"
   },
   "market_label": "Double chance",
   "outcome_label": "draw or Coventry City",
   "odds_set": {
    "by_author": "2.15",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0300",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 10300,
   "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-11-01T17:13:53.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "Double chance",
    "choice": "draw or Coventry City",
    "author_odds": "2.15",
    "market_key": "double_chance",
    "choice_key": "X2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: draw or Coventry City at 2.15"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Middlesbrough 0-3 Coventry City."
   },
   "settlements": [
    {
     "operation_id": "431281fc76bc6ff43145e7a723a38c2bdf4be5f3f1ae77b35b011516c995198d",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "draw or Coventry City",
     "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:22:46.698Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "0f119c6582123e949185c8f95d262d62d8729f30c3eda6f7d695b0ec69e1b19f",
     "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": "Double chance",
     "choice": "draw or Coventry City",
     "decimal_odds": "2.0300",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10300,
     "executed_at": "2026-11-07T18:22:46.704Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b7f3b50efe87aa34e9c2281a",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-b7f3b50efe87aa34e9c2281a",
   "quote_text": "Sunderland\n3pm Saturday\n2pts 21-20 bet365, Betfair, Hills",
   "fragment_from": 1193,
   "fragment_to": 1250,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
    "material_removed": false
   },
   "published_at": "2024-11-01T17:13:53.000Z",
   "detected_at": "2026-10-01T00:37:12.119Z",
   "executed_at": "2026-11-07T18:22:46.692Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Queens Park Rangers v Sunderland",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-02T15:00:00.000Z",
    "url": null,
    "scoreline": "0-0"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sunderland",
   "odds_set": {
    "by_author": "2.05",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0000",
    "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-11-01T17:13:53.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "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": "Sunderland",
    "author_odds": "2.05",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sunderland at 2.05"
   },
   "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 Queens Park Rangers 0-0 Sunderland."
   },
   "settlements": [
    {
     "operation_id": "f9ebd2616bb7fc77dc86447d57a47eac3b283ccb4f091057f496536ee63682c4",
     "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.05",
     "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:22:46.686Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "1ea571466f7c15b8e168c81ee474ef4e1a6c37fbf18fe6d8cbfa0ce9ecea264c",
     "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.0000",
     "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:22:46.692Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b7f6e77102b48d14a9928823",
   "url": "/evidence/?pick=n-b7f6e77102b48d14a9928823",
   "quote_text": "Predicted line-up (4-2-3-1): Butland; Tavernier, Souttar, Cornelius, Meghoma; Rothwell, Raskin; Antman, Aasgaard, Gassama; Miovski.",
   "fragment_from": 7103,
   "fragment_to": 7234,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "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-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "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-d799641990d10d680b7ea995",
   "url": "/evidence/?pick=n-d799641990d10d680b7ea995",
   "quote_text": "Predicted line-up (4-4-2): Dyngeland; De Roeve, Knudsen, Helland, Soltvedt; Kornvig, Sorensen, Gudmundsson, Holm; Mathisen, Finne.",
   "fragment_from": 6740,
   "fragment_to": 6870,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "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-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "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-76c8f0a83c24bdaef5c63b8f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-76c8f0a83c24bdaef5c63b8f",
   "quote_text": "Djeidi Gassama 3+ shots\n\nGassama is a player Rohl knows well from their time together at Sheffield Wednesday and the winger has been a rare bright spark for Rangers this season, scoring five European goals and firing off more shots than any other Gers player in the William Hill Scottish Premiership.\n\nPays out at 7-2 with bet365",
   "fragment_from": 5305,
   "fragment_to": 5634,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Brann v Rangers",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-10-23T16:45:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Player shots on target over/under 3",
   "outcome_label": "Djeidi Gassama over 3 shots on target",
   "odds_set": {
    "by_author": "4.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "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": "Player shots on target over/under 3",
    "choice": "Djeidi Gassama over 3 shots on target",
    "author_odds": "4.5",
    "market_key": "player_shots",
    "choice_key": "over",
    "period": "match",
    "line": "3",
    "subject": "shots",
    "in_words": "Player shots on target over/under 3: Djeidi Gassama over 3 shots on target at 4.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "10dde96d058317daf68d9964f00be1f4f35f1e92960997b98d132c9ca9e57878",
     "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 shots on target over/under 3",
     "choice": "Djeidi Gassama over 3 shots on target",
     "decimal_odds": "4.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:00.927Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f446503f5714d4ab8f4a01b1",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-f446503f5714d4ab8f4a01b1",
   "quote_text": "Bard Finne anytime goalscorer",
   "fragment_from": 2108,
   "fragment_to": 2137,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "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-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "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-8d14b125931f3fb8ec08f94c",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-8d14b125931f3fb8ec08f94c",
   "quote_text": "Both teams to score",
   "fragment_from": 4762,
   "fragment_to": 4781,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "executed_at": "2026-11-07T18:22:44.670Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Brann v Rangers",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-10-23T16:45:00.000Z",
    "url": null,
    "scoreline": "3-0"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.6200",
    "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-10-22T23:10:39.000Z",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "archive_snapshot_at": "2025-10-22T23:10:39.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": "Both teams to score",
    "choice": "yes",
    "author_odds": null,
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Brann 3-0 Rangers."
   },
   "settlements": [
    {
     "operation_id": "1eee9a275740ce58c046554c092ee54b028749814e9fd5545a588e671bf9cd77",
     "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": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.6200",
     "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:22:44.670Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ebea1319856d459ddac6b605",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-ebea1319856d459ddac6b605",
   "quote_text": "Longshot\n\nBrann to win 2-1\n1pt 15-2 general",
   "fragment_from": 2160,
   "fragment_to": 2203,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Brann v Rangers",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-10-23T16:45:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Correct score",
   "outcome_label": "Brann 2-1 Rangers",
   "odds_set": {
    "by_author": "8.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "8.5000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "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-22T23:10:39.000Z",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "archive_snapshot_at": "2025-10-22T23:10:39.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": "Correct score",
    "choice": "Brann 2-1 Rangers",
    "author_odds": "8.5",
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Brann 2-1 Rangers at 8.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "b73d110241bcbf9e41f1cfc0813edb9e6b05b0314db2fc7bf0efa51c77beb929",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Brann 2-1 Rangers",
     "decimal_odds": "8.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:04.884Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "92a960bc6a3736ed9762a18ac5a4b9cad88b9349e1dbea0fb2de2baa42a6d61f",
     "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": "Brann 2-1 Rangers",
     "decimal_odds": "8.5000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:47.858Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7829885f7289bc03d95284d7",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-7829885f7289bc03d95284d7",
   "quote_text": "Anytime goalscorer\n\nBard Finne anytime goalscorer\n1pt 7-4 William Hill",
   "fragment_from": 2088,
   "fragment_to": 2158,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "executed_at": "2026-11-07T18:22:44.652Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Brann v Rangers",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-10-23T16:45:00.000Z",
    "url": null,
    "scoreline": "3-0"
   },
   "market_label": "Player to score",
   "outcome_label": "Bard Finne to score",
   "odds_set": {
    "by_author": "2.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-10-22T23:10:39.000Z",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "archive_snapshot_at": "2025-10-22T23:10:39.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": "Player to score",
    "choice": "Bard Finne to score",
    "author_odds": "2.75",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Bard Finne to score at 2.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 Brann 3-0 Rangers."
   },
   "settlements": [
    {
     "operation_id": "917c7aac3927ecf0aa18a7a6b115a8f3655b079cb8592f5f5a634bd9cc6a62ec",
     "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 score",
     "choice": "Bard Finne to score",
     "decimal_odds": "2.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:22:44.652Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ced70f48a40e0ba205252fbf",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-ced70f48a40e0ba205252fbf",
   "quote_text": "Best bet\n\nBrann\n2pts 21-20 general",
   "fragment_from": 2052,
   "fragment_to": 2086,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
    "material_removed": false
   },
   "published_at": "2025-10-22T15:00:00.000Z",
   "detected_at": "2026-10-01T00:33:43.768Z",
   "executed_at": "2026-11-07T18:22:44.646Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Brann v Rangers",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-10-23T16:45:00.000Z",
    "url": null,
    "scoreline": "3-0"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Brann",
   "odds_set": {
    "by_author": "2.05",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.1050",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11050,
   "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-22T23:10:39.000Z",
   "dates": {
    "fragment_at": "2025-10-22T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "archive_snapshot_at": "2025-10-22T23:10:39.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": "1X2, match result",
    "choice": "Brann",
    "author_odds": "2.05",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Brann at 2.05"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Brann 3-0 Rangers."
   },
   "settlements": [
    {
     "operation_id": "676c3973f73a7034b47eb1380943058a127dcb09d4248758c1e2f6a11238dd33",
     "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": "Brann",
     "decimal_odds": "2.05",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10500,
     "executed_at": "2026-11-07T18:22:44.641Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "1545275ce499b6a1ee2ad3bd0d365bc32897c2422ee7f09419cfbbf24fcd1c8f",
     "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": "Brann",
     "decimal_odds": "2.1050",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11050,
     "executed_at": "2026-11-07T18:22:44.646Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a9933af644b89c20cda4ff01",
   "url": "/evidence/?pick=n-a9933af644b89c20cda4ff01",
   "quote_text": "This is a game Ipswich perhaps need to win if they are to achieve their aims this season, and",
   "fragment_from": 3586,
   "fragment_to": 3679,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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": "2025-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-75c18bcab3e6cef97bb475ae",
   "url": "/evidence/?pick=n-75c18bcab3e6cef97bb475ae",
   "quote_text": "Ipswich vs Norwich team news and predicted line-ups\n\nIpswich\n\nWes Burns and Conor Townsend are",
   "fragment_from": 5364,
   "fragment_to": 5458,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-1a51de29cb58b2f70b09613c",
   "url": "/evidence/?pick=n-1a51de29cb58b2f70b09613c",
   "quote_text": "Ipswich vs Norwich betting odds\n\nSign up with Sky Bet to bet on Ipswich vs Norwich in the Championship",
   "fragment_from": 4982,
   "fragment_to": 5084,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-ceb3a20eca798e5bca68c1fb",
   "url": "/evidence/?pick=n-ceb3a20eca798e5bca68c1fb",
   "quote_text": "Key stats for Ipswich vs Norwich\n\n♦ Ipswich are unbeaten at Portman Road this season and have",
   "fragment_from": 4616,
   "fragment_to": 4709,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-6d92175e4c5f1ff56668f2c5",
   "url": "/evidence/?pick=n-6d92175e4c5f1ff56668f2c5",
   "quote_text": "Recommended Offer\n\n4/5\n\nNEW CUSTOMER OFFER\n\n£50 In Free Acca Bets When You Place A £10 Acca (",
   "fragment_from": 1941,
   "fragment_to": 2034,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-fa1573184a717323bf6c58e2",
   "url": "/evidence/?pick=n-fa1573184a717323bf6c58e2",
   "quote_text": "Free Bets\n\nnext race\n19:45 Newcastle (A.W)\n\nFREE BETS\nCheck out all our Offers on our Free Bets",
   "fragment_from": 93,
   "fragment_to": 188,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-4300238679bed56c9d9fb063",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-4300238679bed56c9d9fb063",
   "quote_text": "Ipswich vs Norwich Bet Builder\n\nIpswich",
   "fragment_from": 4084,
   "fragment_to": 4123,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "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-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "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-ae3cb1f1923b3441c6d42d1f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-ae3cb1f1923b3441c6d42d1f",
   "quote_text": "Best bet\n\nIpswich",
   "fragment_from": 2197,
   "fragment_to": 2214,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "executed_at": "2026-11-07T18:22:15.394Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Ipswich Town v Norwich City",
    "competition_name": "EFL Championship",
    "starts_at": "2025-10-05T11:00:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Ipswich Town",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.5700",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5700,
   "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-04T18:31:28.000Z",
   "dates": {
    "fragment_at": "2025-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "archive_snapshot_at": "2025-10-04T18:31:28.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 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Ipswich Town",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Ipswich Town"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Ipswich Town 3-1 Norwich City."
   },
   "settlements": [
    {
     "operation_id": "33f2bf5057de6a48c3eec89d60aab94b9e3559978ea4aef12f2c27837c18d93d",
     "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": "Ipswich Town",
     "decimal_odds": "1.5700",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5700,
     "executed_at": "2026-11-07T18:22:15.394Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f9ecb18c20962f6f696f624f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-f9ecb18c20962f6f696f624f",
   "quote_text": "Jaden Philogene over 2.5 shots\n8-11 bet365",
   "fragment_from": 2266,
   "fragment_to": 2308,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
    "material_removed": false
   },
   "published_at": "2025-10-04T11:33:56.000Z",
   "detected_at": "2026-09-30T16:12:52.636Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "not_supported",
   "event": {
    "event_id": null,
    "display_name": "Ipswich Town v Norwich City",
    "competition_name": "EFL Championship",
    "starts_at": "2025-10-05T11:00:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Player shots on target over/under 2.5",
   "outcome_label": "Jaden Philogene over 2.5 shots on target",
   "odds_set": {
    "by_author": "1.73",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2025-10-04T18:31:28.000Z",
   "dates": {
    "fragment_at": "2025-10-04T11:33:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "archive_snapshot_at": "2025-10-04T18:31:28.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 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player shots on target over/under 2.5",
    "choice": "Jaden Philogene over 2.5 shots on target",
    "author_odds": "1.73",
    "market_key": "player_shots",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "shots",
    "in_words": "Player shots on target over/under 2.5: Jaden Philogene over 2.5 shots on target at 1.73"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "34a7036e77f4702371cf13f2caf310541d292fffef0b6814d2ae59bf859fdee8",
     "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 shots on target over/under 2.5",
     "choice": "Jaden Philogene over 2.5 shots on target",
     "decimal_odds": "1.73",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: not settled",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-10-09T11:35:04.345Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a808f8c05be6fc015c6d3ee3",
   "url": "/evidence/?pick=n-a808f8c05be6fc015c6d3ee3",
   "quote_text": "Important information: This article may contain links to offers or promotions",
   "fragment_from": 6577,
   "fragment_to": 6654,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-f0e1af9b8f810f8db61d8b32",
   "url": "/evidence/?pick=n-f0e1af9b8f810f8db61d8b32",
   "quote_text": "Sign up with bet365 to bet on this match.",
   "fragment_from": 4606,
   "fragment_to": 4647,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-671fc3f1731500a51ed71139",
   "url": "/evidence/?pick=n-671fc3f1731500a51ed71139",
   "quote_text": "♦ Ipswich have lost just one home match in the Championship this season",
   "fragment_from": 4102,
   "fragment_to": 4173,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-6b1daf00f351ff586edb9530",
   "url": "/evidence/?pick=n-6b1daf00f351ff586edb9530",
   "quote_text": "Predicted line-up (4-4-2): Brynn; Brittain, Ayling, Fry, Targett; Browne, Morris, McGree, Hansen;",
   "fragment_from": 5610,
   "fragment_to": 5707,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-69f8698ab9e3fb038623689d",
   "url": "/evidence/?pick=n-69f8698ab9e3fb038623689d",
   "quote_text": "Middlesbrough are still sweating over the fitness of key pair Hayden Hackney and Morgan Whittaker",
   "fragment_from": 5392,
   "fragment_to": 5489,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-ecbee30213774a3e8e72341f",
   "url": "/evidence/?pick=n-ecbee30213774a3e8e72341f",
   "quote_text": "Predicted line-up (4-2-3-1): Walton; Johnson, O'Shea, Greaves, Davis; Taylor, Neil; Philogene,",
   "fragment_from": 5196,
   "fragment_to": 5290,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-dd9e2efb6d3c48b028c3b063",
   "url": "/evidence/?pick=n-dd9e2efb6d3c48b028c3b063",
   "quote_text": "Ipswich should be boosted by the return of Leif Davis, who missed the midweek loss at Portsmouth",
   "fragment_from": 4979,
   "fragment_to": 5075,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-f94d7330fb176566342a0bc4",
   "url": "/evidence/?pick=n-f94d7330fb176566342a0bc4",
   "quote_text": "The absences of key players such as Hayden Hackney and Morgan Whittaker over recent weeks",
   "fragment_from": 3190,
   "fragment_to": 3279,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-68d6f7f2024d05f156a65d83",
   "url": "/evidence/?pick=n-68d6f7f2024d05f156a65d83",
   "quote_text": "A record of no wins and just three points accrued from the last 18 available has turned Boro",
   "fragment_from": 3008,
   "fragment_to": 3100,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-e1ef4db87535ec7b64a85da5",
   "url": "/evidence/?pick=n-e1ef4db87535ec7b64a85da5",
   "quote_text": "The defeat at Fratton Park ended a nine-match unbeaten run for the Tractor Boys",
   "fragment_from": 2447,
   "fragment_to": 2526,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-edcc91909bca6b8cc9539ff6",
   "url": "/evidence/?pick=n-edcc91909bca6b8cc9539ff6",
   "quote_text": "Coventry rubber-stamped their return to the Premier League on Friday",
   "fragment_from": 1433,
   "fragment_to": 1501,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-c31315ccafccbc8c5b4f4117",
   "url": "/evidence/?pick=n-c31315ccafccbc8c5b4f4117",
   "quote_text": "Pays out at 14-1 with bet365",
   "fragment_from": 4032,
   "fragment_to": 4060,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-f94f4d0e571ec825cbc8f5b2",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-f94f4d0e571ec825cbc8f5b2",
   "quote_text": "Marcelino Nunez to be booked",
   "fragment_from": 3833,
   "fragment_to": 3861,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2026-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-76c07f0f8de7f0db69bd4c3e",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-76c07f0f8de7f0db69bd4c3e",
   "quote_text": "Tommy Conway 2+ shots",
   "fragment_from": 3646,
   "fragment_to": 3667,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "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-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "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-a92b5ede6893cbccc4cbd8a2",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-a92b5ede6893cbccc4cbd8a2",
   "quote_text": "Under 2.5 goals",
   "fragment_from": 3484,
   "fragment_to": 3499,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "executed_at": "2026-11-07T18:22:15.383Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Ipswich Town v Middlesbrough",
    "competition_name": "EFL Championship",
    "starts_at": "2026-04-19T11:00:00.000Z",
    "url": null,
    "scoreline": "2-2"
   },
   "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.9350",
    "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": "2026-04-18T22:52:30.000Z",
   "dates": {
    "fragment_at": "2026-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "archive_snapshot_at": "2026-04-18T22:52:30.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 30 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": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Ipswich Town 2-2 Middlesbrough."
   },
   "settlements": [
    {
     "operation_id": "9f3b892ace2f05070b500aab93a462f373a255a74314cdb42ae043189b87421d",
     "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.9350",
     "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:22:15.383Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-52eed0eea3f8c826bb05c938",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-52eed0eea3f8c826bb05c938",
   "quote_text": "Ipswich to win\n2pts 5-4 general",
   "fragment_from": 2157,
   "fragment_to": 2188,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
    "material_removed": false
   },
   "published_at": "2026-04-18T14:14:13.000Z",
   "detected_at": "2026-09-30T16:12:38.059Z",
   "executed_at": "2026-11-07T18:22:15.376Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Ipswich Town v Middlesbrough",
    "competition_name": "EFL Championship",
    "starts_at": "2026-04-19T11:00:00.000Z",
    "url": null,
    "scoreline": "2-2"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Ipswich Town",
   "odds_set": {
    "by_author": "2.25",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.2500",
    "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": "2026-04-18T22:52:30.000Z",
   "dates": {
    "fragment_at": "2026-04-18T14:14:13.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "archive_snapshot_at": "2026-04-18T22:52:30.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 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Ipswich Town",
    "author_odds": "2.25",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Ipswich Town at 2.25"
   },
   "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 Ipswich Town 2-2 Middlesbrough."
   },
   "settlements": [
    {
     "operation_id": "3cf80118e3ffbdcb85ae7cccfff7e84cced21b86d249e900c1a1379fce0f5a59",
     "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": "Ipswich Town",
     "decimal_odds": "2.25",
     "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:22:15.371Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8525c3a25e81f9f5812c40caf70c2b828e266d8e66a87eba5c7dc0d45dc89ce1",
     "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": "Ipswich Town",
     "decimal_odds": "2.2500",
     "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:22:15.376Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-8741ee04d01a0bb4a563b1ef",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-8741ee04d01a0bb4a563b1ef",
   "quote_text": "Over 2.5 goals & both teams to score\n2pts 23-20 BoyleSports, Coral",
   "fragment_from": 1927,
   "fragment_to": 1993,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Norwich City v Ipswich Town",
    "competition_name": "EFL Championship",
    "starts_at": "2026-04-11T11:30:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "2.15",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.7500",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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": "Both teams to score",
    "choice": "yes",
    "author_odds": "2.15",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 2.15"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "624d200175a1e3284f45bc843f57aca975dd4654d6fa6f76bd1c2b0e4cba05c8",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "2.15",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:02.739Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "465d18552bd553fe2213310e7cc1ba57ee170f39157de18e6699f6ad204a5241",
     "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": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.7500",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:17.587Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-842d5cb12813d6b63168e81f",
   "url": "/evidence/?pick=n-842d5cb12813d6b63168e81f",
   "quote_text": "With both sides in need of the victory, this could be an explosive East Anglian derby.",
   "fragment_from": 3370,
   "fragment_to": 3456,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-5f6d1023b9346c1db8fbdc3f",
   "url": "/evidence/?pick=n-5f6d1023b9346c1db8fbdc3f",
   "quote_text": "Ipswich are boosted by the return of left-back Leif Davis from suspension, but midfielder Azor Matusiwa",
   "fragment_from": 5471,
   "fragment_to": 5574,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-671c4816617f5abb5f481430",
   "url": "/evidence/?pick=n-671c4816617f5abb5f481430",
   "quote_text": "Predicted line-up (4-2-3-1): Kovacevic; Stacey, Darling, Cordoba, Fisher; Field, Mattsson; Schwartau,",
   "fragment_from": 5263,
   "fragment_to": 5364,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-21b4019d85c2f89074ed3d40",
   "url": "/evidence/?pick=n-21b4019d85c2f89074ed3d40",
   "quote_text": "Millwall vs West Ham betting offer: Get 50-1 on both teams to score with Coral",
   "fragment_from": 7326,
   "fragment_to": 7404,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-8bd6b2477427c06af4197ca5",
   "url": "/evidence/?pick=n-8bd6b2477427c06af4197ca5",
   "quote_text": "Pays out at 11-1 with bet365",
   "fragment_from": 4057,
   "fragment_to": 4085,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-3942011657f13551c4118e6f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-3942011657f13551c4118e6f",
   "quote_text": "Marcelino Nunez to be booked",
   "fragment_from": 3807,
   "fragment_to": 3835,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-aa7e73df7415af11a150eb51",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-aa7e73df7415af11a150eb51",
   "quote_text": "Mohamed Toure to score or assist",
   "fragment_from": 3619,
   "fragment_to": 3651,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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-8e640023a9cc211853f8de83",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-8e640023a9cc211853f8de83",
   "quote_text": "Norwich or Ipswich double chance",
   "fragment_from": 3490,
   "fragment_to": 3522,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Norwich City v Ipswich Town",
    "competition_name": "EFL Championship",
    "starts_at": "2026-04-11T11:30:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Double chance",
   "outcome_label": "Norwich City or Ipswich Town",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.3000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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": "Double chance",
    "choice": "Norwich City or Ipswich Town",
    "author_odds": null,
    "market_key": "double_chance",
    "choice_key": "12",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: Norwich City or Ipswich Town"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "b50032ddf4c435ca7ef6aefcb29b1d303429ada536b0f9846dd676267fed54fe",
     "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": "Double chance",
     "choice": "Norwich City or Ipswich Town",
     "decimal_odds": "1.3000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:18.356Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e55d5e9b696b9bd24d6b5aa1",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-e55d5e9b696b9bd24d6b5aa1",
   "quote_text": "Over 2.5 goals & both teams to score\n2pts 23-20 BoyleSports, Coral",
   "fragment_from": 1927,
   "fragment_to": 1993,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
    "material_removed": false
   },
   "published_at": "2026-04-10T15:00:00.000Z",
   "detected_at": "2026-09-30T16:08:32.838Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Norwich City v Ipswich Town",
    "competition_name": "EFL Championship",
    "starts_at": "2026-04-11T11:30:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "2.15",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0500",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "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": "2026-04-10T15:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "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": "over 2.5",
    "author_odds": "2.15",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 2.15"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "63d1e79bdf29db46e7dd4aa3a84a77e7e266ca30da219641a1c9fc9588c824be",
     "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": "over 2.5",
     "decimal_odds": "2.15",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:04.733Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "dc6eecd62523fcc76b16471e4476da421b53d7a79826ededbfed7566b4c7a5c1",
     "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": "over 2.5",
     "decimal_odds": "2.0500",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:25.836Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3154c0c6009a15187ac30e66",
   "url": "/evidence/?pick=n-3154c0c6009a15187ac30e66",
   "quote_text": "Football accumulator tips for Saturday January 3: Back our acca at 26-1 with bet365",
   "fragment_from": 6429,
   "fragment_to": 6512,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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-8c3a00a23a4b4b8cce0101af",
   "url": "/evidence/?pick=n-8c3a00a23a4b4b8cce0101af",
   "quote_text": "Jean-Clair Todibo is West Ham's main fitness concern",
   "fragment_from": 5634,
   "fragment_to": 5686,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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-cb01c2e720bcb35ba6347cd8",
   "url": "/evidence/?pick=n-cb01c2e720bcb35ba6347cd8",
   "quote_text": "Pays out at 15-4 with bet365",
   "fragment_from": 4344,
   "fragment_to": 4372,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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-c66430557f3ee3959884de97",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-c66430557f3ee3959884de97",
   "quote_text": "Jarrod Bowen to score anytime",
   "fragment_from": 4219,
   "fragment_to": 4248,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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-6494fd580d14e9a4fdb40cbe",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-6494fd580d14e9a4fdb40cbe",
   "quote_text": "Both teams to score",
   "fragment_from": 3993,
   "fragment_to": 4012,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "executed_at": "2026-11-07T18:21:53.531Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Wolverhampton Wanderers v West Ham United",
    "competition_name": "Premier League",
    "starts_at": "2026-01-03T15:00:00.000Z",
    "url": null,
    "scoreline": "3-0"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.6712",
    "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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": "Both teams to score",
    "choice": "yes",
    "author_odds": null,
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes"
   },
   "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 Wolverhampton Wanderers 3-0 West Ham United."
   },
   "settlements": [
    {
     "operation_id": "cba479da39aae57a58db330b95e5f286068bc4ad1c58cc62092ed09ccf8aae65",
     "series_key": "retro_market_closing",
     "series_label": "Restored, at the closing market price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.6712",
     "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:53.531Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "2a8214c8a8e5be46576d20c8a3d1498ce206e20626947c24e6023705d3eab47b",
     "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": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.6650",
     "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:53.544Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3670cb107b3a56961afde63f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-3670cb107b3a56961afde63f",
   "quote_text": "West Ham or draw double chance",
   "fragment_from": 3769,
   "fragment_to": 3799,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "display_name": null,
    "speaker": "Tom McGarry",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
    "material_removed": false
   },
   "published_at": "2026-01-02T16:00:00.000Z",
   "detected_at": "2026-09-28T16:22:57.814Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": null,
    "display_name": "Wolverhampton Wanderers v West Ham United",
    "competition_name": "Premier League",
    "starts_at": "2026-01-03T15:00:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Double chance",
   "outcome_label": "draw or West Ham United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.5000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "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": "2026-01-02T16:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "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": "Double chance",
    "choice": "draw or West Ham United",
    "author_odds": null,
    "market_key": "double_chance",
    "choice_key": "X2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: draw or West Ham United"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "f8a5bc76fcc95eff2dc639568a86629a5107861ba2414da3bc1e7da4c1de6e37",
     "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": "Double chance",
     "choice": "draw or West Ham United",
     "decimal_odds": "1.5000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:28:10.998Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom McGarry",
    "publisher": "racingpost.com",
    "forecaster": "Tom McGarry",
    "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/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 6,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": null,
 "retro": {
  "restored_total": 14,
  "of_them_archived_pre_match": 11,
  "found_post_match": 3,
  "of_them_source_reported": 0,
  "live_count": 0,
  "date_count": 8,
  "span_from": "2024-11-02",
  "span_to": "2026-04-19",
  "line_text": "restored history: 14, of which pre-match archive 11",
  "body": "We re-read what this author published before Premier League, Championship, Europa League and League One matches between 2 November 2024 and 19 April 2026 and settled it against the final score. Restored picks: 14. Backed by a copy of the page in an independent web archive taken before kick-off: 11. 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": 14,
   "share": "0.3571"
  },
  "series_list": [
   {
    "code_name": "retro_author_price",
    "display_name": "Restored, at the author's stated price",
    "n": 9,
    "roi": "5.5556",
    "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": 1,
    "roi": "-100.0000",
    "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": 12,
    "roi": "-29.5417",
    "ci_low": "-83.0833",
    "ci_high": "31.6000",
    "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": "100.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",
   "Championship",
   "Europa League",
   "League One"
  ],
  "source_list": "Results: the official regulation-time score, checked against a second data provider for 1 settled restored pick, and the two agree; 13 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": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "racingpost.com",
   "url": "https://web.archive.org/web/20251022231039id_/https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/"
  },
  "observed_from": "2026-09-28",
  "observed_to": "2026-10-18",
  "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": 9,
  "void": 0,
  "net_points_hundredths": 32250,
  "staked_hundredths": 110000,
  "return_percent": "29.32",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2024-08-31",
  "period_to": "2026-04-19",
  "status": "calculated",
  "method_version": "retro-1.1",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record restored 11 settled archived picks by Tom McGarry from copies archived before kick-off, across 9 matches between 31 August 2024 and 19 April 2026. Reconstructed at archived prices, these picks returned +29.3% on the total staked. Of the 43 predictions we hold for Tom McGarry, 22 were archived before kick-off by an independent web archive and 21 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": "9",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "+322.50 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Reconstructed at archived prices",
    "value": "+29.3%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [
   "This page combines Tom McGarry 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 McGarry 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-31",
    "cumulative_points_hundredths": 68000,
    "n": 1
   },
   {
    "date": "2024-09-28",
    "cumulative_points_hundredths": 58000,
    "n": 2
   },
   {
    "date": "2024-11-09",
    "cumulative_points_hundredths": 38000,
    "n": 4
   },
   {
    "date": "2024-11-23",
    "cumulative_points_hundredths": 55500,
    "n": 5
   },
   {
    "date": "2025-10-05",
    "cumulative_points_hundredths": 61200,
    "n": 6
   },
   {
    "date": "2025-10-23",
    "cumulative_points_hundredths": 62250,
    "n": 8
   },
   {
    "date": "2025-11-06",
    "cumulative_points_hundredths": 52250,
    "n": 9
   },
   {
    "date": "2026-04-19",
    "cumulative_points_hundredths": 32250,
    "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": 9,
    "match_dates": 8,
    "period_from": "2024-08-31",
    "period_to": "2026-04-19",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": 32250,
    "low": {
     "date": "2026-04-19",
     "cumulative_points_hundredths": 32250,
     "after_picks": 11
    },
    "high": {
     "date": "2024-08-31",
     "cumulative_points_hundredths": 68000,
     "after_picks": 1
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2024-08-31",
      "cumulative_points_hundredths": 68000,
      "n": 1,
      "picks": 1
     },
     {
      "date": "2024-09-28",
      "cumulative_points_hundredths": 58000,
      "n": 2,
      "picks": 1
     },
     {
      "date": "2024-11-09",
      "cumulative_points_hundredths": 38000,
      "n": 4,
      "picks": 2
     },
     {
      "date": "2024-11-23",
      "cumulative_points_hundredths": 55500,
      "n": 5,
      "picks": 1
     },
     {
      "date": "2025-10-05",
      "cumulative_points_hundredths": 61200,
      "n": 6,
      "picks": 1
     },
     {
      "date": "2025-10-23",
      "cumulative_points_hundredths": 62250,
      "n": 8,
      "picks": 2
     },
     {
      "date": "2025-11-06",
      "cumulative_points_hundredths": 52250,
      "n": 9,
      "picks": 1
     },
     {
      "date": "2026-04-19",
      "cumulative_points_hundredths": 32250,
      "n": 11,
      "picks": 2
     }
    ]
   }
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record restored 11 settled archived picks by Tom McGarry from copies archived before kick-off, across 9 matches between 31 August 2024 and 19 April 2026. Reconstructed at archived prices, these picks returned +29.3% on the total staked. Of the 43 predictions we hold for Tom McGarry, 22 were archived before kick-off by an independent web archive and 21 first found after the match. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/tom-mcgarry/",
   "data_as_of": "2026-11-07",
   "method_version": "retro-1.1"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 43,
   "under_review": 0,
   "no_match_linked": 0,
   "proven_predictions": 22,
   "proven_checked": 13,
   "proven_measured": 11,
   "proven_dates": 8,
   "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": 22,
     "checked": 13,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 11,
      "void": 0,
      "matches": 9,
      "net_points_hundredths": 32250,
      "staked_hundredths": 110000,
      "return_percent": "29.32",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2024-08-31",
      "period_to": "2026-04-19",
      "method_version": "retro-1.1"
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "retro_author_price",
       "picks": 7,
       "return_main_percent": "80.79",
       "return_other_percent": "79.29",
       "settled_excluding_void": 7,
       "net_main_points_hundredths": 56550,
       "net_other_points_hundredths": 55500,
       "period_from": "2024-08-31",
       "period_to": "2026-04-19"
      }
     ],
     "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": 13,
      "priced": 11
     },
     "accuracy": {
      "picks": 11,
      "won": 4,
      "won_percent": "36.4",
      "implied_percent": "38.3",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 2,
        "picks": 5,
        "implied_percent": "43.1"
       },
       {
        "market": "Over/under goals",
        "won": 1,
        "picks": 3,
        "implied_percent": "39.6"
       },
       {
        "market": "Correct score",
        "won": 1,
        "picks": 2,
        "implied_percent": "12.6"
       },
       {
        "market": "Both teams to score",
        "won": 0,
        "picks": 1,
        "implied_percent": "61.7"
       }
      ]
     }
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 21,
     "checked": 9,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 9,
      "void": 0,
      "matches": 9,
      "net_points_hundredths": -6600,
      "staked_hundredths": 90000,
      "return_percent": "-7.33",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2024-11-02",
      "period_to": "2026-01-03",
      "method_version": "retro-1.1"
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "retro_author_price",
       "picks": 8,
       "return_main_percent": "4.25",
       "return_other_percent": "15.62",
       "settled_excluding_void": 8,
       "net_main_points_hundredths": 3400,
       "net_other_points_hundredths": 12500,
       "period_from": "2024-11-02",
       "period_to": "2025-04-18"
      },
      {
       "price": "Closing price, aggregator",
       "series_code": "retro_market_closing",
       "picks": 2,
       "return_main_percent": "27.50",
       "return_other_percent": "30.00",
       "settled_excluding_void": 2,
       "net_main_points_hundredths": 5500,
       "net_other_points_hundredths": 6000,
       "period_from": "2025-04-05",
       "period_to": "2026-01-03"
      }
     ],
     "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": 9,
      "priced": 9
     },
     "accuracy": {
      "picks": 9,
      "won": 4,
      "won_percent": "44.4",
      "implied_percent": "48.1",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 1,
        "picks": 3,
        "implied_percent": "42.5"
       },
       {
        "market": "Result and both teams to score",
        "won": 0,
        "picks": 2,
        "implied_percent": "41.9"
       },
       {
        "market": "Asian handicap",
        "won": 1,
        "picks": 1,
        "implied_percent": "68.5"
       },
       {
        "market": "Both teams to score",
        "won": 0,
        "picks": 1,
        "implied_percent": "60.1"
       },
       {
        "market": "Double chance",
        "won": 1,
        "picks": 1,
        "implied_percent": "49.3"
       },
       {
        "market": "Over/under goals",
        "won": 1,
        "picks": 1,
        "implied_percent": "43.5"
       }
      ]
     }
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-055e5bd3ddb60d65eac0a88a",
   "n-52eed0eea3f8c826bb05c938",
   "n-65f6271c7ec7c3e38a2d896f",
   "n-8d14b125931f3fb8ec08f94c",
   "n-a92b5ede6893cbccc4cbd8a2",
   "n-ae3cb1f1923b3441c6d42d1f",
   "n-ced70f48a40e0ba205252fbf",
   "n-d441922c7e2d97a83525369e",
   "n-e142130775c5bab932707de9",
   "n-f49126fd1f0d148e6469b04f",
   "n-f94c859b92c2dbf063d8b875"
  ],
  "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 · 31 August 2024 – 19 April 2026 · Calculated · picks settled under reconstruction method 1.1",
  "record_from": "2024-08-31",
  "record_to": "2026-04-19"
 },
 "recorded_picks": [
  {
   "record_id": "n-a92b5ede6893cbccc4cbd8a2",
   "url": null,
   "match": "Ipswich Town v Middlesbrough",
   "match_url": null,
   "kickoff": "2026-04-19T11:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -3941.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "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": null,
   "settled_price": "1.9350",
   "published_at": "2026-04-18T14:14:13.000Z",
   "recorded_at": "2026-09-30T16:12:38.059Z",
   "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-52eed0eea3f8c826bb05c938",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-52eed0eea3f8c826bb05c938",
   "match": "Ipswich Town v Middlesbrough",
   "match_url": null,
   "kickoff": "2026-04-19T11:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -3941.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Ipswich Town at 2.25",
   "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.25",
   "settled_price": "2.2500",
   "published_at": "2026-04-18T14:14:13.000Z",
   "recorded_at": "2026-09-30T16:12:38.059Z",
   "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-52eed0eea3f8c826bb05c938",
    "quote_text": "Ipswich to win\n2pts 5-4 general",
    "fragment_from": 2157,
    "fragment_to": 2188,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20260418225230id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "537a5436610a4417e8f104dd108b502603d4f67cb87ff24e4d8b7d286f6e3f1a",
     "material_removed": false
    },
    "published_at": "2026-04-18T14:14:13.000Z",
    "detected_at": "2026-09-30T16:12:38.059Z",
    "executed_at": "2026-11-07T18:22:15.376Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Ipswich Town v Middlesbrough",
     "competition_name": "EFL Championship",
     "starts_at": "2026-04-19T11:00:00.000Z",
     "url": null,
     "scoreline": "2-2"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Ipswich Town",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.2500",
     "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": "2026-04-18T22:52:30.000Z",
    "dates": {
     "fragment_at": "2026-04-18T14:14:13.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-04-18T14:14:13.000Z",
     "detected_at": "2026-09-30T16:12:38.059Z",
     "archive_snapshot_at": "2026-04-18T22:52:30.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 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Ipswich Town",
     "author_odds": "2.25",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Ipswich Town at 2.25"
    },
    "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 Ipswich Town 2-2 Middlesbrough."
    },
    "settlements": [
     {
      "operation_id": "3cf80118e3ffbdcb85ae7cccfff7e84cced21b86d249e900c1a1379fce0f5a59",
      "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": "Ipswich Town",
      "decimal_odds": "2.25",
      "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:22:15.371Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8525c3a25e81f9f5812c40caf70c2b828e266d8e66a87eba5c7dc0d45dc89ce1",
      "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": "Ipswich Town",
      "decimal_odds": "2.2500",
      "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:22:15.376Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/ipswich-vs-middlesbrough-predictions-team-news-betting-tips-odds-and-bet-builder-a4hqS1n9ln1V/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Ipswich Town to win"
   }
  },
  {
   "record_id": "n-6494fd580d14e9a4fdb40cbe",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-6494fd580d14e9a4fdb40cbe",
   "match": "Wolverhampton Wanderers v West Ham United",
   "match_url": null,
   "kickoff": "2026-01-03T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6433.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "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": null,
   "settled_price": "1.6650",
   "published_at": "2026-01-02T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:57.814Z",
   "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-6494fd580d14e9a4fdb40cbe",
    "quote_text": "Both teams to score",
    "fragment_from": 3993,
    "fragment_to": 4012,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/premier-league/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f4fb7356a9998158a8c74a814e94cc6bb4b64e2a40d471e7cd12076122d76651",
     "material_removed": false
    },
    "published_at": "2026-01-02T16:00:00.000Z",
    "detected_at": "2026-09-28T16:22:57.814Z",
    "executed_at": "2026-11-07T18:21:53.531Z",
    "statement_class": "unpriced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Wolverhampton Wanderers v West Ham United",
     "competition_name": "Premier League",
     "starts_at": "2026-01-03T15:00:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.6712",
     "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": "2026-01-02T16:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-01-02T16:00:00.000Z",
     "detected_at": "2026-09-28T16:22:57.814Z",
     "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": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "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 Wolverhampton Wanderers 3-0 West Ham United."
    },
    "settlements": [
     {
      "operation_id": "cba479da39aae57a58db330b95e5f286068bc4ad1c58cc62092ed09ccf8aae65",
      "series_key": "retro_market_closing",
      "series_label": "Restored, at the closing market price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6712",
      "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:53.531Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2a8214c8a8e5be46576d20c8a3d1498ce206e20626947c24e6023705d3eab47b",
      "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": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6650",
      "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:53.544Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/wolves-vs-west-ham-predictions-team-news-betting-tips-odds-and-bet-builder-a0uHj2g7btSh/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-65f6271c7ec7c3e38a2d896f",
   "url": null,
   "match": "FC Midtjylland v Celtic",
   "match_url": null,
   "kickoff": "2025-11-06T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -7879.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Midtjylland 2-1 Celtic",
   "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": "8.1000",
   "published_at": "2025-11-05T17:00:00.000Z",
   "recorded_at": "2026-10-01T00:47:51.822Z",
   "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-21eec18ff64330e6fb5d5840",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-21eec18ff64330e6fb5d5840",
   "match": "FC Midtjylland v Celtic",
   "match_url": null,
   "kickoff": "2025-11-06T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -7879.0,
   "market_code": "player_to_score",
   "author_said": "Player to score: Franculino Dju to score at 2.3",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "2.3",
   "settled_price": "2.3",
   "published_at": "2025-11-05T17:00:00.000Z",
   "recorded_at": "2026-10-01T00:47:51.822Z",
   "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-21eec18ff64330e6fb5d5840",
    "quote_text": "Franculino Dju anytime goalscorer\n13-10 Ladbrokes",
    "fragment_from": 2310,
    "fragment_to": 2359,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20251105181041id_/https://www.racingpost.com/sport/football-tips/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c7ed3dd46730d6c54c0ebd92575b3a984272364ef13164edf034f31855b03ae3",
     "material_removed": false
    },
    "published_at": "2025-11-05T17:00:00.000Z",
    "detected_at": "2026-10-01T00:47:51.822Z",
    "executed_at": "2026-11-07T18:22:26.350Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "FC Midtjylland v Celtic",
     "competition_name": "UEFA Europa League",
     "starts_at": "2025-11-06T17:45:00.000Z",
     "url": null,
     "scoreline": "3-1"
    },
    "market_label": "Player to score",
    "outcome_label": "Franculino Dju to score",
    "odds_set": {
     "by_author": "2.3",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13000,
    "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-11-05T18:10:41.000Z",
    "dates": {
     "fragment_at": "2025-11-05T17:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-11-05T17:00:00.000Z",
     "detected_at": "2026-10-01T00:47:51.822Z",
     "archive_snapshot_at": "2025-11-05T18:10:41.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": "Player to score",
     "choice": "Franculino Dju to score",
     "author_odds": "2.3",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Franculino Dju to score at 2.3"
    },
    "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 FC Midtjylland 3-1 Celtic."
    },
    "settlements": [
     {
      "operation_id": "620c4ef54394cd1f825a9442bac8dbf2c2b10e23d971d8ec2aa4ad401c61b806",
      "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 score",
      "choice": "Franculino Dju to score",
      "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:26.350Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/europa-league/midtjylland-vs-celtic-predictions-team-news-betting-tips-odds-and-bet-builder-a1a355N9Aoq5/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Franculino Dju to score"
   }
  },
  {
   "record_id": "n-8d14b125931f3fb8ec08f94c",
   "url": null,
   "match": "Brann v Rangers",
   "match_url": null,
   "kickoff": "2025-10-23T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -8215.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "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": null,
   "settled_price": "1.6200",
   "published_at": "2025-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-7829885f7289bc03d95284d7",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-7829885f7289bc03d95284d7",
   "match": "Brann v Rangers",
   "match_url": null,
   "kickoff": "2025-10-23T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -8215.8,
   "market_code": "player_to_score",
   "author_said": "Player to score: Bard Finne to score at 2.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_author_price",
   "series_short": "author's odds, restored",
   "author_price": "2.75",
   "settled_price": "2.75",
   "published_at": "2025-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-7829885f7289bc03d95284d7",
    "quote_text": "Anytime goalscorer\n\nBard Finne anytime goalscorer\n1pt 7-4 William Hill",
    "fragment_from": 2088,
    "fragment_to": 2158,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
     "material_removed": false
    },
    "published_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "executed_at": "2026-11-07T18:22:44.652Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Brann v Rangers",
     "competition_name": "UEFA Europa League",
     "starts_at": "2025-10-23T16:45:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "Player to score",
    "outcome_label": "Bard Finne to score",
    "odds_set": {
     "by_author": "2.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-10-22T23:10:39.000Z",
    "dates": {
     "fragment_at": "2025-10-22T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-10-22T15:00:00.000Z",
     "detected_at": "2026-10-01T00:33:43.768Z",
     "archive_snapshot_at": "2025-10-22T23:10:39.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": "Player to score",
     "choice": "Bard Finne to score",
     "author_odds": "2.75",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Bard Finne to score at 2.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 Brann 3-0 Rangers."
    },
    "settlements": [
     {
      "operation_id": "917c7aac3927ecf0aa18a7a6b115a8f3655b079cb8592f5f5a634bd9cc6a62ec",
      "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 score",
      "choice": "Bard Finne to score",
      "decimal_odds": "2.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:22:44.652Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bard Finne to score"
   }
  },
  {
   "record_id": "n-ced70f48a40e0ba205252fbf",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-ced70f48a40e0ba205252fbf",
   "match": "Brann v Rangers",
   "match_url": null,
   "kickoff": "2025-10-23T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -8215.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Brann at 2.05",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11050,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.05",
   "settled_price": "2.1050",
   "published_at": "2025-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-ced70f48a40e0ba205252fbf",
    "quote_text": "Best bet\n\nBrann\n2pts 21-20 general",
    "fragment_from": 2052,
    "fragment_to": 2086,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
     "material_removed": false
    },
    "published_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "executed_at": "2026-11-07T18:22:44.646Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Brann v Rangers",
     "competition_name": "UEFA Europa League",
     "starts_at": "2025-10-23T16:45:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Brann",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.1050",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11050,
    "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-22T23:10:39.000Z",
    "dates": {
     "fragment_at": "2025-10-22T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-10-22T15:00:00.000Z",
     "detected_at": "2026-10-01T00:33:43.768Z",
     "archive_snapshot_at": "2025-10-22T23:10:39.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": "1X2, match result",
     "choice": "Brann",
     "author_odds": "2.05",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Brann at 2.05"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Brann 3-0 Rangers."
    },
    "settlements": [
     {
      "operation_id": "676c3973f73a7034b47eb1380943058a127dcb09d4248758c1e2f6a11238dd33",
      "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": "Brann",
      "decimal_odds": "2.05",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10500,
      "executed_at": "2026-11-07T18:22:44.641Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1545275ce499b6a1ee2ad3bd0d365bc32897c2422ee7f09419cfbbf24fcd1c8f",
      "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": "Brann",
      "decimal_odds": "2.1050",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11050,
      "executed_at": "2026-11-07T18:22:44.646Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Brann to win"
   }
  },
  {
   "record_id": "n-ae3cb1f1923b3441c6d42d1f",
   "url": null,
   "match": "Ipswich Town v Norwich City",
   "match_url": null,
   "kickoff": "2025-10-05T11:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -8645.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Ipswich Town",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5700,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.5700",
   "published_at": "2025-10-04T11:33:56.000Z",
   "recorded_at": "2026-09-30T16:12:52.636Z",
   "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-a078ff6a7e388ccae3b6f2d8",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-a078ff6a7e388ccae3b6f2d8",
   "match": "Derby County v Luton Town",
   "match_url": null,
   "kickoff": "2025-04-18T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -12938.6,
   "market_code": "total",
   "author_said": "Over/Under 1.5 goals: under 1.5 at 2.55",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.55",
   "settled_price": "2.3000",
   "published_at": "2025-04-15T13:23:41.000Z",
   "recorded_at": "2026-10-09T14:05:21.169Z",
   "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-a078ff6a7e388ccae3b6f2d8",
    "quote_text": "Back under 1.5 goals at 31/20 with LiveScore Bet",
    "fragment_from": 3596,
    "fragment_to": 3644,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250518111209id_/https://www.livescore.com/en/news/derby-luton-predictions-championship-2025041513234157141/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed133986c7ce1911512551f8c20898c60e1bbc8e1864a393bfcb918c1c258457",
     "material_removed": false
    },
    "published_at": "2025-04-15T13:23:41.000Z",
    "detected_at": "2026-10-09T14:05:21.169Z",
    "executed_at": "2026-11-07T18:23:07.354Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Derby County v Luton Town",
     "competition_name": "EFL Championship",
     "starts_at": "2025-04-18T11:30:00.000Z",
     "url": null,
     "scoreline": "0-1"
    },
    "market_label": "Over/Under 1.5 goals",
    "outcome_label": "under 1.5",
    "odds_set": {
     "by_author": "2.55",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.3000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13000,
    "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-04-15T13:23:41.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-04-15T13:23:41.000Z",
     "detected_at": "2026-10-09T14:05:21.169Z",
     "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 1.5 goals",
     "choice": "under 1.5",
     "author_odds": "2.55",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "1.5",
     "subject": "goals_total",
     "in_words": "Over/Under 1.5 goals: under 1.5 at 2.55"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Derby County 0-1 Luton Town."
    },
    "settlements": [
     {
      "operation_id": "913959ec0a482ab440155a3236de54e71e6249dd3835b05b0b066a406e551100",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "2.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15500,
      "executed_at": "2026-11-07T18:23:07.348Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "17a567f481088f7de6368a7a5d0231c4939bf96badfea24611d2373e0da0ed0f",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "2.3000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13000,
      "executed_at": "2026-11-07T18:23:07.354Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/derby-luton-predictions-championship-2025041513234157141/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 1.5 (Over/Under 1.5 goals)"
   }
  },
  {
   "record_id": "n-9a1ca2a99fc3c979fe6f1dbb",
   "url": "/authors/tom-mcgarry/picks/4/#pick-n-9a1ca2a99fc3c979fe6f1dbb",
   "match": "Inter v FC Bayern München",
   "match_url": null,
   "kickoff": "2025-04-16T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -13163.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: Inter at 2.55",
   "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.55",
   "settled_price": "2.6200",
   "published_at": "2025-04-14T15:20:16.000Z",
   "recorded_at": "2026-10-17T06:01:22.010Z",
   "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-9a1ca2a99fc3c979fe6f1dbb",
    "quote_text": "Back Inter Milan to win at 31/20 with LiveScore Bet",
    "fragment_from": 3824,
    "fragment_to": 3875,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250516015143id_/https://www.livescore.com/en/news/inter-milan-bayern-munich-predictions-champions-league-2025041415201654614/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e84e62de39e80ccfef0118a358b084a117be40bc01e62c6e93ff4d85170f1806",
     "material_removed": false
    },
    "published_at": "2025-04-14T15:20:16.000Z",
    "detected_at": "2026-10-17T06:01:22.010Z",
    "executed_at": "2026-11-07T18:25:50.851Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Inter v FC Bayern München",
     "competition_name": "UEFA Champions League",
     "starts_at": "2025-04-16T19:00:00.000Z",
     "url": null,
     "scoreline": "2-2"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Inter",
    "odds_set": {
     "by_author": "2.55",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.6200",
     "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-04-14T15:20:16.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-04-14T15:20:16.000Z",
     "detected_at": "2026-10-17T06:01:22.010Z",
     "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": "Inter",
     "author_odds": "2.55",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Inter at 2.55"
    },
    "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 Inter 2-2 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "b6ffe22a15f5c622a545beeb6fbad95a9cd1ed444a65dc5425b64604e7ec87ea",
      "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": "Inter",
      "decimal_odds": "2.55",
      "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:25:50.787Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "db3c963f78f302455fe7b6f32e470e89a8e87d95800c0e35b507a876f5bdebb9",
      "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": "Inter",
      "decimal_odds": "2.6200",
      "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:25:50.851Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/inter-milan-bayern-munich-predictions-champions-league-2025041415201654614/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter to win"
   }
  },
  {
   "record_id": "n-4980943cb1ca3b9335d7a4d4",
   "url": "/authors/tom-mcgarry/picks/4/#pick-n-4980943cb1ca3b9335d7a4d4",
   "match": "Ipswich Town v Wolverhampton Wanderers",
   "match_url": null,
   "kickoff": "2025-04-05T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -13432.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: Wolverhampton Wanderers at 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 15500,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.5",
   "settled_price": "2.5500",
   "published_at": "2025-04-03T15:03:55.000Z",
   "recorded_at": "2026-10-17T06:06:38.223Z",
   "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-4980943cb1ca3b9335d7a4d4",
    "quote_text": "Back Wolves to win at 6/4 with LiveScore Bet",
    "fragment_from": 3807,
    "fragment_to": 3851,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250430063925id_/https://www.livescore.com/en/news/ipswich-vs-wolves-predictions-visitors-to-strike-decisive-blow-in-relegation-scrap-2025040315035572204/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9f72b60337b388efaeeb13e04a20387f14221aefe8a5a9b2f4d9827b62c21389",
     "material_removed": false
    },
    "published_at": "2025-04-03T15:03:55.000Z",
    "detected_at": "2026-10-17T06:06:38.223Z",
    "executed_at": "2026-11-07T18:25:51.157Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Ipswich Town v Wolverhampton Wanderers",
     "competition_name": "Premier League",
     "starts_at": "2025-04-05T14:00:00.000Z",
     "url": null,
     "scoreline": "1-2"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Wolverhampton Wanderers",
    "odds_set": {
     "by_author": "2.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.6000",
     "closing_source": "aggregator closing price"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 16000,
    "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-04-03T15:03:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-04-03T15:03:55.000Z",
     "detected_at": "2026-10-17T06:06:38.223Z",
     "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": "Wolverhampton Wanderers",
     "author_odds": "2.5",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Wolverhampton Wanderers at 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Ipswich Town 1-2 Wolverhampton Wanderers."
    },
    "settlements": [
     {
      "operation_id": "958b5ff934a679a91fbc480a57258830fe0c8bb5855bd5f3b0f4947003d1b4ac",
      "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": "Wolverhampton Wanderers",
      "decimal_odds": "2.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-11-07T18:25:51.135Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7664397a5d419df1d7abadb5ff0c7ae671b7eb5de0a33a0cc5aa79669db5584b",
      "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": "Wolverhampton Wanderers",
      "decimal_odds": "2.6000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 16000,
      "executed_at": "2026-11-07T18:25:51.157Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6ce686a805eb8c7ad890a98336cb4743e883836f5e43be423a6a00f211face6f",
      "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": "Wolverhampton Wanderers",
      "decimal_odds": "2.5500",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15500,
      "executed_at": "2026-11-07T18:25:51.178Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/ipswich-vs-wolves-predictions-visitors-to-strike-decisive-blow-in-relegation-scrap-2025040315035572204/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wolverhampton Wanderers to win"
   }
  },
  {
   "record_id": "n-a425863e0d4c9296a86c7cb0",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-a425863e0d4c9296a86c7cb0",
   "match": "Chelsea v Southampton",
   "match_url": null,
   "kickoff": "2025-02-25T20:15:00.000Z",
   "competition": "Premier League",
   "lead_hours": -14177.8,
   "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.1",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-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.1",
   "settled_price": "2.3000",
   "published_at": "2025-02-23T10:28:39.000Z",
   "recorded_at": "2026-10-09T14:00:40.433Z",
   "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-a425863e0d4c9296a86c7cb0",
    "quote_text": "Back Chelsea to win and both teams to score at 11/10 with LiveScore Bet",
    "fragment_from": 3604,
    "fragment_to": 3675,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250518100425id_/https://www.livescore.com/en/news/chelsea-southampton-predictions-premier-league-2025022310283987724/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "93701c300b479100eecd3107d9d761ecd04c84883b811e7407f61820089ca1ec",
     "material_removed": false
    },
    "published_at": "2025-02-23T10:28:39.000Z",
    "detected_at": "2026-10-09T14:00:40.433Z",
    "executed_at": "2026-11-07T18:23:07.249Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Chelsea v Southampton",
     "competition_name": "Premier League",
     "starts_at": "2025-02-25T20:15:00.000Z",
     "url": null,
     "scoreline": "4-0"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Chelsea win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.1",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.3000",
     "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-02-23T10:28:39.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-02-23T10:28:39.000Z",
     "detected_at": "2026-10-09T14:00:40.433Z",
     "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": "Chelsea win, both teams to score: yes",
     "author_odds": "2.1",
     "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.1"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Chelsea 4-0 Southampton."
    },
    "settlements": [
     {
      "operation_id": "fda665586755c435d376a8fa73dc8fe537067022f4ece2170c372bec60a2feae",
      "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.1",
      "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:07.243Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2cdf4cb999395648c7abc5c146003976a0c7a4bb561c6ae2f09f81e4cd6cb6bc",
      "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.3000",
      "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:07.249Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/chelsea-southampton-predictions-premier-league-2025022310283987724/",
     "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-d29621dc3b9f8fab0a9c8c5b",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-d29621dc3b9f8fab0a9c8c5b",
   "match": "Celtic v BSC Young Boys",
   "match_url": null,
   "kickoff": "2025-01-22T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14994.0,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Celtic win, both teams to score: yes at 2",
   "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",
   "settled_price": "2.4750",
   "published_at": "2025-01-20T15:44:27.000Z",
   "recorded_at": "2026-10-09T13:58:20.852Z",
   "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-d29621dc3b9f8fab0a9c8c5b",
    "quote_text": "Back Celtic to win and both teams to score at evens with LiveScore Bet",
    "fragment_from": 3485,
    "fragment_to": 3555,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250327042345id_/https://www.livescore.com/en/news/celtic-young-boys-predictions-champions-league-2025012015442711722/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "47a56bf01dfd68539197ded854a25cc154ad1fa80e1b2bd81f2b0e7fb25b599f",
     "material_removed": false
    },
    "published_at": "2025-01-20T15:44:27.000Z",
    "detected_at": "2026-10-09T13:58:20.852Z",
    "executed_at": "2026-11-07T18:23:07.235Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Celtic v BSC Young Boys",
     "competition_name": "UEFA Champions League",
     "starts_at": "2025-01-22T20:00:00.000Z",
     "url": null,
     "scoreline": "1-0"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Celtic win, both teams to score: yes",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.4750",
     "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-01-20T15:44:27.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-01-20T15:44:27.000Z",
     "detected_at": "2026-10-09T13:58:20.852Z",
     "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": "Celtic win, both teams to score: yes",
     "author_odds": "2",
     "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: Celtic win, both teams to score: yes at 2"
    },
    "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 Celtic 1-0 BSC Young Boys."
    },
    "settlements": [
     {
      "operation_id": "577e40ea21db42095455179b89d463eeb35d9d4481c579746b99003880c10568",
      "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": "Celtic win, both teams to score: yes",
      "decimal_odds": "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:23:07.229Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e7a67faa53329d7847df6f3a7fe92c302b0e7103c4f0e9aae53eade15860e42f",
      "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": "Celtic win, both teams to score: yes",
      "decimal_odds": "2.4750",
      "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:07.235Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/celtic-young-boys-predictions-champions-league-2025012015442711722/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celtic win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-cc4b6b6a549eb640bc8ccce7",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-cc4b6b6a549eb640bc8ccce7",
   "match": "Arsenal v Dinamo Zagreb",
   "match_url": null,
   "kickoff": "2025-01-22T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14993.2,
   "market_code": "handicap_asian",
   "author_said": "Asian handicap -2: Arsenal -2 at 2.05",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4600,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.05",
   "settled_price": "1.4600",
   "published_at": "2025-01-20T14:42:15.000Z",
   "recorded_at": "2026-10-09T13:10:47.278Z",
   "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-cc4b6b6a549eb640bc8ccce7",
    "quote_text": "Back Arsenal to win with a -2 handicap at 21/20 with LiveScore Bet",
    "fragment_from": 3936,
    "fragment_to": 4002,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250217104801id_/https://www.livescore.com/en/news/arsenal-dinamo-zagreb-predictions-champions-league-2025012014421529676/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0a0e34cca87dca80975937596421232e6c96932bea95233583dcafc310c66b4a",
     "material_removed": false
    },
    "published_at": "2025-01-20T14:42:15.000Z",
    "detected_at": "2026-10-09T13:10:47.278Z",
    "executed_at": "2026-11-07T18:23:06.341Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Arsenal v Dinamo Zagreb",
     "competition_name": "UEFA Champions League",
     "starts_at": "2025-01-22T20:00:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "Asian handicap -2",
    "outcome_label": "Arsenal -2",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.4600",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4600,
    "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-01-20T14:42:15.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-01-20T14:42:15.000Z",
     "detected_at": "2026-10-09T13:10:47.278Z",
     "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": "Asian handicap -2",
     "choice": "Arsenal -2",
     "author_odds": "2.05",
     "market_key": "handicap_asian",
     "choice_key": "1",
     "period": "match",
     "line": "-2",
     "subject": "goals_total",
     "in_words": "Asian handicap -2: Arsenal -2 at 2.05"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Arsenal 3-0 Dinamo Zagreb."
    },
    "settlements": [
     {
      "operation_id": "2c91e4c89f09b363041d7e3f09785be075fcd050fb7a8bcbf6fa4eb043f4c52b",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Asian handicap -2",
      "choice": "Arsenal -2",
      "decimal_odds": "2.05",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10500,
      "executed_at": "2026-11-07T18:23:06.335Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6f428330d8c20f929993717513193d82aff29860a44c5a03492988ae6278d80c",
      "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": "Asian handicap -2",
      "choice": "Arsenal -2",
      "decimal_odds": "1.4600",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4600,
      "executed_at": "2026-11-07T18:23:06.341Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/arsenal-dinamo-zagreb-predictions-champions-league-2025012014421529676/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arsenal -2"
   }
  },
  {
   "record_id": "n-055e5bd3ddb60d65eac0a88a",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-055e5bd3ddb60d65eac0a88a",
   "match": "Bristol City v Burnley",
   "match_url": null,
   "kickoff": "2024-11-23T12:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16236.7,
   "market_code": "total",
   "author_said": "Over/Under 1.5 goals: under 1.5 at 3",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 17500,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "3",
   "settled_price": "2.7500",
   "published_at": "2024-11-22T16:29:32.000Z",
   "recorded_at": "2026-10-01T01:11:01.002Z",
   "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-055e5bd3ddb60d65eac0a88a",
    "quote_text": "Under 1.5 goals in Bristol City vs Burnley\n1pt 2-1 bet365",
    "fragment_from": 1293,
    "fragment_to": 1350,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241122235002id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "644989caa68d50c93823643cf4ecdf74dd5692ae7f970117bda70ff51c32b24a",
     "material_removed": false
    },
    "published_at": "2024-11-22T16:29:32.000Z",
    "detected_at": "2026-10-01T01:11:01.002Z",
    "executed_at": "2026-11-07T18:22:32.777Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Bristol City v Burnley",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-23T12:30:00.000Z",
     "url": null,
     "scoreline": "0-1"
    },
    "market_label": "Over/Under 1.5 goals",
    "outcome_label": "under 1.5",
    "odds_set": {
     "by_author": "3",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.7500",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 17500,
    "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-11-22T23:50:02.000Z",
    "dates": {
     "fragment_at": "2024-11-22T16:29:32.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-22T16:29:32.000Z",
     "detected_at": "2026-10-01T01:11:01.002Z",
     "archive_snapshot_at": "2024-11-22T23:50:02.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": "Over/Under 1.5 goals",
     "choice": "under 1.5",
     "author_odds": "3",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "1.5",
     "subject": "goals_total",
     "in_words": "Over/Under 1.5 goals: under 1.5 at 3"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Bristol City 0-1 Burnley."
    },
    "settlements": [
     {
      "operation_id": "af3c933624f58d25ccb5ffadccded6838e5263ce30c9707b9c20eca08c28231a",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 20000,
      "executed_at": "2026-11-07T18:22:32.761Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e0c71cc238bbaf9ae54d9c8fafcc689ad7c8c6dae607cfcc7e9d109d04c853d3",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "2.7500",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 17500,
      "executed_at": "2026-11-07T18:22:32.777Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/saturdays-12.30pm-efl-tips-including-bristol-city-vs-burnley-predictions-ad3HY3R0Dmlq/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 1.5 (Over/Under 1.5 goals)"
   }
  },
  {
   "record_id": "n-f49126fd1f0d148e6469b04f",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-f49126fd1f0d148e6469b04f",
   "match": "Burton Albion v Shrewsbury Town",
   "match_url": null,
   "kickoff": "2024-11-09T12:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": -16572.7,
   "market_code": "total",
   "author_said": "Over/Under 1.5 goals: under 1.5 at 3.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-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.5",
   "settled_price": "3.2500",
   "published_at": "2024-11-08T12:50:39.000Z",
   "recorded_at": "2026-10-01T01:12:16.755Z",
   "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-f49126fd1f0d148e6469b04f",
    "quote_text": "Under 1.5 goals in Burton vs Shrewsbury\n1pt 5-2 bet365, Betfair",
    "fragment_from": 1255,
    "fragment_to": 1318,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241108130113id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fedeefe5dbd733aaa52eae4b5a43449ebe366d33d102496fd345124cb16cc333",
     "material_removed": false
    },
    "published_at": "2024-11-08T12:50:39.000Z",
    "detected_at": "2026-10-01T01:12:16.755Z",
    "executed_at": "2026-11-07T18:22:32.956Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Burton Albion v Shrewsbury Town",
     "competition_name": "EFL League One",
     "starts_at": "2024-11-09T12:30:00.000Z",
     "url": null,
     "scoreline": "2-0"
    },
    "market_label": "Over/Under 1.5 goals",
    "outcome_label": "under 1.5",
    "odds_set": {
     "by_author": "3.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "3.2500",
     "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-11-08T13:01:13.000Z",
    "dates": {
     "fragment_at": "2024-11-08T12:50:39.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-08T12:50:39.000Z",
     "detected_at": "2026-10-01T01:12:16.755Z",
     "archive_snapshot_at": "2024-11-08T13:01:13.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": "Over/Under 1.5 goals",
     "choice": "under 1.5",
     "author_odds": "3.5",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "1.5",
     "subject": "goals_total",
     "in_words": "Over/Under 1.5 goals: under 1.5 at 3.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Burton Albion 2-0 Shrewsbury Town."
    },
    "settlements": [
     {
      "operation_id": "a784acf5ff9e6727679106e477985947acf0a94f9ecd72f64569f9672f5b8978",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "3.5",
      "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:22:32.943Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3b21b9a3bb9be6f5a9a609436691f955049c98ed29f34eb2c5a3f05a6f257216",
      "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 1.5 goals",
      "choice": "under 1.5",
      "decimal_odds": "3.2500",
      "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:22:32.956Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 1.5 (Over/Under 1.5 goals)"
   }
  },
  {
   "record_id": "n-d441922c7e2d97a83525369e",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-d441922c7e2d97a83525369e",
   "match": "Stoke City v Millwall",
   "match_url": null,
   "kickoff": "2024-11-09T12:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16572.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Millwall at 2.9",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-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": "2.9",
   "settled_price": "3.2000",
   "published_at": "2024-11-08T12:50:39.000Z",
   "recorded_at": "2026-10-01T01:12:16.755Z",
   "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-d441922c7e2d97a83525369e",
    "quote_text": "Millwall to beat Stoke\n1pt 19-10 Hills",
    "fragment_from": 1215,
    "fragment_to": 1253,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241108130113id_/https://www.racingpost.com/sport/football-tips/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fedeefe5dbd733aaa52eae4b5a43449ebe366d33d102496fd345124cb16cc333",
     "material_removed": false
    },
    "published_at": "2024-11-08T12:50:39.000Z",
    "detected_at": "2026-10-01T01:12:16.755Z",
    "executed_at": "2026-11-07T18:22:32.928Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Stoke City v Millwall",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-09T12:30:00.000Z",
     "url": null,
     "scoreline": "1-1"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Millwall",
    "odds_set": {
     "by_author": "2.9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "3.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": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-11-08T13:01:13.000Z",
    "dates": {
     "fragment_at": "2024-11-08T12:50:39.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-08T12:50:39.000Z",
     "detected_at": "2026-10-01T01:12:16.755Z",
     "archive_snapshot_at": "2024-11-08T13:01:13.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": "1X2, match result",
     "choice": "Millwall",
     "author_odds": "2.9",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Millwall at 2.9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Stoke City 1-1 Millwall."
    },
    "settlements": [
     {
      "operation_id": "12596bd77cb5309199e810f70568bd87ea1c736f6f5026af1d999b1f3b58ff38",
      "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": "Millwall",
      "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:22:32.881Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8a538ce6f93b8b9c9c5ff96658da0bed9dba6bc773e912b002498e10b835fd76",
      "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": "Millwall",
      "decimal_odds": "3.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:22:32.928Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/saturdays-12.30pm-efl-tips-including-stoke-vs-millwall-ax4py9s4xJmg/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Millwall to win"
   }
  },
  {
   "record_id": "n-5ea5e3a7c757a237a94a56f7",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-5ea5e3a7c757a237a94a56f7",
   "match": "Middlesbrough v Coventry City",
   "match_url": null,
   "kickoff": "2024-11-02T15:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16737.6,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Coventry City at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10300,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2.15",
   "settled_price": "2.0300",
   "published_at": "2024-11-01T17:13:53.000Z",
   "recorded_at": "2026-10-01T00:37:12.119Z",
   "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-5ea5e3a7c757a237a94a56f7",
    "quote_text": "Coventry or draw double chance\n3pm Saturday\n1pt 23-20 Hills",
    "fragment_from": 1252,
    "fragment_to": 1311,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
     "material_removed": false
    },
    "published_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "executed_at": "2026-11-07T18:22:46.704Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Middlesbrough v Coventry City",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-02T15:00:00.000Z",
     "url": null,
     "scoreline": "0-3"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Coventry City",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.0300",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 10300,
    "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-11-01T17:13:53.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-01T17:13:53.000Z",
     "detected_at": "2026-10-01T00:37:12.119Z",
     "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": "Double chance",
     "choice": "draw or Coventry City",
     "author_odds": "2.15",
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Coventry City at 2.15"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Middlesbrough 0-3 Coventry City."
    },
    "settlements": [
     {
      "operation_id": "431281fc76bc6ff43145e7a723a38c2bdf4be5f3f1ae77b35b011516c995198d",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Coventry City",
      "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:22:46.698Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0f119c6582123e949185c8f95d262d62d8729f30c3eda6f7d695b0ec69e1b19f",
      "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": "Double chance",
      "choice": "draw or Coventry City",
      "decimal_odds": "2.0300",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10300,
      "executed_at": "2026-11-07T18:22:46.704Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Coventry City"
   }
  },
  {
   "record_id": "n-b7f3b50efe87aa34e9c2281a",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-b7f3b50efe87aa34e9c2281a",
   "match": "Queens Park Rangers v Sunderland",
   "match_url": null,
   "kickoff": "2024-11-02T15:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16737.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sunderland at 2.05",
   "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.05",
   "settled_price": "2.0000",
   "published_at": "2024-11-01T17:13:53.000Z",
   "recorded_at": "2026-10-01T00:37:12.119Z",
   "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-b7f3b50efe87aa34e9c2281a",
    "quote_text": "Sunderland\n3pm Saturday\n2pts 21-20 bet365, Betfair, Hills",
    "fragment_from": 1193,
    "fragment_to": 1250,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e20b59611332dbb7564260c8bbf1b9fad950915bf7b2a693496dd8d6a0010df0",
     "material_removed": false
    },
    "published_at": "2024-11-01T17:13:53.000Z",
    "detected_at": "2026-10-01T00:37:12.119Z",
    "executed_at": "2026-11-07T18:22:46.692Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Queens Park Rangers v Sunderland",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-02T15:00:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sunderland",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.0000",
     "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-11-01T17:13:53.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-01T17:13:53.000Z",
     "detected_at": "2026-10-01T00:37:12.119Z",
     "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": "Sunderland",
     "author_odds": "2.05",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sunderland at 2.05"
    },
    "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 Queens Park Rangers 0-0 Sunderland."
    },
    "settlements": [
     {
      "operation_id": "f9ebd2616bb7fc77dc86447d57a47eac3b283ccb4f091057f496536ee63682c4",
      "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.05",
      "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:22:46.686Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1ea571466f7c15b8e168c81ee474ef4e1a6c37fbf18fe6d8cbfa0ce9ecea264c",
      "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.0000",
      "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:22:46.692Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/saturdays-3pm-championship-predictions-and-football-betting-tips-aFjsU5p5Vx3O/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sunderland to win"
   }
  },
  {
   "record_id": "n-f94c859b92c2dbf063d8b875",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-f94c859b92c2dbf063d8b875",
   "match": "Watford v Sunderland",
   "match_url": null,
   "kickoff": "2024-09-28T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -17783.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.4",
   "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": "3.4",
   "settled_price": "3.5000",
   "published_at": "2024-09-27T14:49:59.000Z",
   "recorded_at": "2026-10-09T13:09:20.657Z",
   "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-f94c859b92c2dbf063d8b875",
    "quote_text": "Back the Draw at 12/5 with LiveScore Bet",
    "fragment_from": 4036,
    "fragment_to": 4076,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240927232850id_/https://www.livescore.com/en/news/amp/watford-sunderland-predictions-championship-2024092714495995303/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1059647968440c9006e7b7adff2cf82311716da59c067ac5e2d1e000f0527aec",
     "material_removed": false
    },
    "published_at": "2024-09-27T14:49:59.000Z",
    "detected_at": "2026-10-09T13:09:20.657Z",
    "executed_at": "2026-11-07T18:23:06.074Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Watford v Sunderland",
     "competition_name": "EFL Championship",
     "starts_at": "2024-09-28T14:00:00.000Z",
     "url": null,
     "scoreline": "2-1"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.4",
     "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-09-27T23:28:50.000Z",
    "dates": {
     "fragment_at": "2024-09-27T14:49:59.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-27T14:49:59.000Z",
     "detected_at": "2026-10-09T13:09:20.657Z",
     "archive_snapshot_at": "2024-09-27T23:28:50.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": "draw",
     "author_odds": "3.4",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.4"
    },
    "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 Watford 2-1 Sunderland."
    },
    "settlements": [
     {
      "operation_id": "a83da8d8f6323f3d38a772115f6694ac87faa2936679ad72c1270b6fe015b3a8",
      "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": "draw",
      "decimal_odds": "3.4",
      "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.068Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0560aab408d2337f2bb86debb6121dfd979b3bb3e2c0596fd028072502bc1c3f",
      "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": "draw",
      "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.074Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/watford-sunderland-predictions-championship-2024092714495995303/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-e142130775c5bab932707de9",
   "url": "/authors/tom-mcgarry/picks/3/#pick-n-e142130775c5bab932707de9",
   "match": "Leicester City v Aston Villa",
   "match_url": null,
   "kickoff": "2024-08-31T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -18455.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Leicester City 1-2 Aston Villa at 7.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 68000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "7.5",
   "settled_price": "7.8000",
   "published_at": "2024-08-29T06:25:00.000Z",
   "recorded_at": "2026-10-09T13:01:29.182Z",
   "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-e142130775c5bab932707de9",
    "quote_text": "Back Aston Villa to win 2-1 at 13/2 with LiveScore Bet",
    "fragment_from": 3850,
    "fragment_to": 3904,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240830124755id_/https://www.livescore.com/en/news/amp/leicester-aston-villa-predictions-premier-league-2024082815281064905/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2365faa8a2e587007d7af7bb48fbf7ec2d48da373590a7f73ef69790ef0bef84",
     "material_removed": false
    },
    "published_at": "2024-08-29T06:25:00.000Z",
    "detected_at": "2026-10-09T13:01:29.182Z",
    "executed_at": "2026-11-07T18:23:04.166Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Leicester City v Aston Villa",
     "competition_name": "Premier League",
     "starts_at": "2024-08-31T14:00:00.000Z",
     "url": null,
     "scoreline": "1-2"
    },
    "market_label": "Correct score",
    "outcome_label": "Leicester City 1-2 Aston Villa",
    "odds_set": {
     "by_author": "7.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "7.8000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 68000,
    "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-30T12:47:55.000Z",
    "dates": {
     "fragment_at": "2024-08-29T06:25:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-29T06:25:00.000Z",
     "detected_at": "2026-10-09T13:01:29.182Z",
     "archive_snapshot_at": "2024-08-30T12:47:55.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": "Correct score",
     "choice": "Leicester City 1-2 Aston Villa",
     "author_odds": "7.5",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Leicester City 1-2 Aston Villa at 7.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Matched: the final score was Leicester City 1-2 Aston Villa."
    },
    "settlements": [
     {
      "operation_id": "d208335d818f16e59d07d6faf545aba56096beb2d34d74bfd14d4b37d39d3481",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Leicester City 1-2 Aston Villa",
      "decimal_odds": "7.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 65000,
      "executed_at": "2026-11-07T18:23:04.144Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a7160f69180589416c70839891545659fd6d1f09bdbf28d3011e192877b3c5ed",
      "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": "Leicester City 1-2 Aston Villa",
      "decimal_odds": "7.8000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 68000,
      "executed_at": "2026-11-07T18:23:04.166Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/leicester-aston-villa-predictions-premier-league-2024082815281064905/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Leicester City 1-2 Aston Villa"
   }
  },
  {
   "record_id": "n-8741ee04d01a0bb4a563b1ef",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-8741ee04d01a0bb4a563b1ef",
   "match": "Norwich City v Ipswich Town",
   "match_url": null,
   "kickoff": "2026-04-11T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -4132.6,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2.15",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-04-10T15:00:00.000Z",
   "recorded_at": "2026-09-30T16:08:32.838Z",
   "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-8741ee04d01a0bb4a563b1ef",
    "quote_text": "Over 2.5 goals & both teams to score\n2pts 23-20 BoyleSports, Coral",
    "fragment_from": 1927,
    "fragment_to": 1993,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
     "material_removed": false
    },
    "published_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Norwich City v Ipswich Town",
     "competition_name": "EFL Championship",
     "starts_at": "2026-04-11T11:30:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.7500",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "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": "2026-04-10T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-04-10T15:00:00.000Z",
     "detected_at": "2026-09-30T16:08:32.838Z",
     "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": "Both teams to score",
     "choice": "yes",
     "author_odds": "2.15",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2.15"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "624d200175a1e3284f45bc843f57aca975dd4654d6fa6f76bd1c2b0e4cba05c8",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:02.739Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "465d18552bd553fe2213310e7cc1ba57ee170f39157de18e6699f6ad204a5241",
      "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": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.7500",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:17.587Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-8e640023a9cc211853f8de83",
   "url": null,
   "match": "Norwich City v Ipswich Town",
   "match_url": null,
   "kickoff": "2026-04-11T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -4132.6,
   "market_code": "double_chance",
   "author_said": "Double chance: Norwich City or Ipswich Town",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-04-10T15:00:00.000Z",
   "recorded_at": "2026-09-30T16:08:32.838Z",
   "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-e55d5e9b696b9bd24d6b5aa1",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-e55d5e9b696b9bd24d6b5aa1",
   "match": "Norwich City v Ipswich Town",
   "match_url": null,
   "kickoff": "2026-04-11T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -4132.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 2.15",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-04-10T15:00:00.000Z",
   "recorded_at": "2026-09-30T16:08:32.838Z",
   "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-e55d5e9b696b9bd24d6b5aa1",
    "quote_text": "Over 2.5 goals & both teams to score\n2pts 23-20 BoyleSports, Coral",
    "fragment_from": 1927,
    "fragment_to": 1993,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "472053f59bab6b5ac673ab0074d39bbbb80cdd9780fd58e921e179def8e75919",
     "material_removed": false
    },
    "published_at": "2026-04-10T15:00:00.000Z",
    "detected_at": "2026-09-30T16:08:32.838Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Norwich City v Ipswich Town",
     "competition_name": "EFL Championship",
     "starts_at": "2026-04-11T11:30:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.0500",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "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": "2026-04-10T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-04-10T15:00:00.000Z",
     "detected_at": "2026-09-30T16:08:32.838Z",
     "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": "over 2.5",
     "author_odds": "2.15",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 2.15"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "63d1e79bdf29db46e7dd4aa3a84a77e7e266ca30da219641a1c9fc9588c824be",
      "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": "over 2.5",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:04.733Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "dc6eecd62523fcc76b16471e4476da421b53d7a79826ededbfed7566b4c7a5c1",
      "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": "over 2.5",
      "decimal_odds": "2.0500",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:25.836Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/championship-norwich-vs-ipswich-predictions-team-news-betting-tips-odds-bet-builder-alwS36B77BOv/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-3670cb107b3a56961afde63f",
   "url": null,
   "match": "Wolverhampton Wanderers v West Ham United",
   "match_url": null,
   "kickoff": "2026-01-03T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6433.4,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or West Ham United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-01-02T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:57.814Z",
   "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-76c8f0a83c24bdaef5c63b8f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-76c8f0a83c24bdaef5c63b8f",
   "match": "Brann v Rangers",
   "match_url": null,
   "kickoff": "2025-10-23T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -8215.8,
   "market_code": "player_shots",
   "author_said": "Player shots on target over/under 3: Djeidi Gassama over 3 shots on target at 4.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-76c8f0a83c24bdaef5c63b8f",
    "quote_text": "Djeidi Gassama 3+ shots\n\nGassama is a player Rohl knows well from their time together at Sheffield Wednesday and the winger has been a rare bright spark for Rangers this season, scoring five European goals and firing off more shots than any other Gers player in the William Hill Scottish Premiership.\n\nPays out at 7-2 with bet365",
    "fragment_from": 5305,
    "fragment_to": 5634,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
     "material_removed": false
    },
    "published_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Brann v Rangers",
     "competition_name": "UEFA Europa League",
     "starts_at": "2025-10-23T16:45:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Player shots on target over/under 3",
    "outcome_label": "Djeidi Gassama over 3 shots on target",
    "odds_set": {
     "by_author": "4.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "found_post_match",
    "provenance_words": "Found after the match; date as stated by the source",
    "dates": {
     "fragment_at": "2025-10-22T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-10-22T15:00:00.000Z",
     "detected_at": "2026-10-01T00:33:43.768Z",
     "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": "Player shots on target over/under 3",
     "choice": "Djeidi Gassama over 3 shots on target",
     "author_odds": "4.5",
     "market_key": "player_shots",
     "choice_key": "over",
     "period": "match",
     "line": "3",
     "subject": "shots",
     "in_words": "Player shots on target over/under 3: Djeidi Gassama over 3 shots on target at 4.5"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "10dde96d058317daf68d9964f00be1f4f35f1e92960997b98d132c9ca9e57878",
      "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 shots on target over/under 3",
      "choice": "Djeidi Gassama over 3 shots on target",
      "decimal_odds": "4.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:00.927Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Djeidi Gassama over 3 shots on target"
   }
  },
  {
   "record_id": "n-ebea1319856d459ddac6b605",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-ebea1319856d459ddac6b605",
   "match": "Brann v Rangers",
   "match_url": null,
   "kickoff": "2025-10-23T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -8215.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Brann 2-1 Rangers at 8.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-ebea1319856d459ddac6b605",
    "quote_text": "Longshot\n\nBrann to win 2-1\n1pt 15-2 general",
    "fragment_from": 2160,
    "fragment_to": 2203,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.racingpost.com/sport/football-tips/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3ebf8bdae61787d9d476650b129dd04ae64186ad7474793131ae3466eec80336",
     "material_removed": false
    },
    "published_at": "2025-10-22T15:00:00.000Z",
    "detected_at": "2026-10-01T00:33:43.768Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Brann v Rangers",
     "competition_name": "UEFA Europa League",
     "starts_at": "2025-10-23T16:45:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Correct score",
    "outcome_label": "Brann 2-1 Rangers",
    "odds_set": {
     "by_author": "8.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "8.5000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "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-22T23:10:39.000Z",
    "dates": {
     "fragment_at": "2025-10-22T15:00:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-10-22T15:00:00.000Z",
     "detected_at": "2026-10-01T00:33:43.768Z",
     "archive_snapshot_at": "2025-10-22T23:10:39.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": "Correct score",
     "choice": "Brann 2-1 Rangers",
     "author_odds": "8.5",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Brann 2-1 Rangers at 8.5"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "b73d110241bcbf9e41f1cfc0813edb9e6b05b0314db2fc7bf0efa51c77beb929",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Brann 2-1 Rangers",
      "decimal_odds": "8.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:04.884Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "92a960bc6a3736ed9762a18ac5a4b9cad88b9349e1dbea0fb2de2baa42a6d61f",
      "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": "Brann 2-1 Rangers",
      "decimal_odds": "8.5000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:47.858Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/europa-league/brann-vs-rangers-predictions-team-news-betting-tips-odds-and-bet-builder-aFoUK0a1BwVc/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Brann 2-1 Rangers"
   }
  },
  {
   "record_id": "n-f9ecb18c20962f6f696f624f",
   "url": "/authors/tom-mcgarry/picks/2/#pick-n-f9ecb18c20962f6f696f624f",
   "match": "Ipswich Town v Norwich City",
   "match_url": null,
   "kickoff": "2025-10-05T11:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -8645.2,
   "market_code": "player_shots",
   "author_said": "Player shots on target over/under 2.5: Jaden Philogene over 2.5 shots on target at 1.73",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-10-04T11:33:56.000Z",
   "recorded_at": "2026-09-30T16:12:52.636Z",
   "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-f9ecb18c20962f6f696f624f",
    "quote_text": "Jaden Philogene over 2.5 shots\n8-11 bet365",
    "fragment_from": 2266,
    "fragment_to": 2308,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20251004183128id_/https://www.racingpost.com/sport/football-tips/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f84c2a300808bb5813805b6a047fc7e964508d7d098c2bc8bd2b40888cadf19f",
     "material_removed": false
    },
    "published_at": "2025-10-04T11:33:56.000Z",
    "detected_at": "2026-09-30T16:12:52.636Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "not_supported",
    "event": {
     "event_id": null,
     "display_name": "Ipswich Town v Norwich City",
     "competition_name": "EFL Championship",
     "starts_at": "2025-10-05T11:00:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Player shots on target over/under 2.5",
    "outcome_label": "Jaden Philogene over 2.5 shots on target",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-10-04T18:31:28.000Z",
    "dates": {
     "fragment_at": "2025-10-04T11:33:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-10-04T11:33:56.000Z",
     "detected_at": "2026-09-30T16:12:52.636Z",
     "archive_snapshot_at": "2025-10-04T18:31:28.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 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player shots on target over/under 2.5",
     "choice": "Jaden Philogene over 2.5 shots on target",
     "author_odds": "1.73",
     "market_key": "player_shots",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "shots",
     "in_words": "Player shots on target over/under 2.5: Jaden Philogene over 2.5 shots on target at 1.73"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "34a7036e77f4702371cf13f2caf310541d292fffef0b6814d2ae59bf859fdee8",
      "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 shots on target over/under 2.5",
      "choice": "Jaden Philogene over 2.5 shots on target",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: not settled",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-10-09T11:35:04.345Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "racingpost.com",
     "forecaster": "Tom McGarry",
     "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/efl/ipswich-vs-norwich-predictions-team-news-betting-tips-odds-and-bet-builder-a2mPc9M49Uxr/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Jaden Philogene over 2.5 shots on target"
   }
  },
  {
   "record_id": "n-a0e06fbef8182da4f3605d62",
   "url": "/authors/tom-mcgarry/picks/4/#pick-n-a0e06fbef8182da4f3605d62",
   "match": "Inter v Feyenoord",
   "match_url": null,
   "kickoff": "2025-03-11T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14026.0,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Inter win, both teams to score: no at 2",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-03-09T09:07:00.000Z",
   "recorded_at": "2026-10-17T06:01:38.132Z",
   "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-a0e06fbef8182da4f3605d62",
    "quote_text": "Back Inter to win to nil at 1/1 with LiveScore Bet",
    "fragment_from": 3745,
    "fragment_to": 3795,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250422085143id_/https://www.livescore.com/en/news/inter-milan-feyenoord-predictions-champions-league-2025030909070076867/",
     "display_name": null,
     "speaker": "Tom McGarry",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "16571c6b36cc7b4cd1a60d9c49cce433ecc0e92affd3b8e3a0c801ef83644c69",
     "material_removed": false
    },
    "published_at": "2025-03-09T09:07:00.000Z",
    "detected_at": "2026-10-17T06:01:38.132Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Inter v Feyenoord",
     "competition_name": "UEFA Champions League",
     "starts_at": "2025-03-11T20:00:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Inter win, both teams to score: no",
    "odds_set": {
     "by_author": "2",
     "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": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "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-03-09T09:07:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-03-09T09:07:00.000Z",
     "detected_at": "2026-10-17T06:01:38.132Z",
     "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": "Inter win, both teams to score: no",
     "author_odds": "2",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Inter win, both teams to score: no at 2"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "cd93909d1af4490a3989de1662e4278e436de46ac201c7d3d393e54e6421450b",
      "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": "Inter win, both teams to score: no",
      "decimal_odds": "2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:03.299Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "913f47787696b9133fb333653f2860ce70612e57c6157c4ecf52581fcb42b57a",
      "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": "Inter win, both teams to score: no",
      "decimal_odds": "2.2000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:19.836Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom McGarry",
     "publisher": "livescore.com",
     "forecaster": "Tom McGarry",
     "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/inter-milan-feyenoord-predictions-champions-league-2025030909070076867/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter win, both teams to score: no"
   }
  },
  {
   "record_id": "n-ee218e5ad91e099f14cc20d4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Back Benfica/Benfica in the Half Time/Full Time market at 13/10 with LiveScore Bet",
   "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": null,
   "recorded_at": "2026-10-09T13:25:38.563Z",
   "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
  },
  {
   "record_id": "n-aabb3a388642696cc03b31e1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Back Benfica/Benfica in the Half Time/Full Time market at 13/10 with LiveScore Bet",
   "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": null,
   "recorded_at": "2026-10-09T13:24:43.465Z",
   "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
  },
  {
   "record_id": "n-8288f36a53f3cd25f850d06d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Back Sunderland-Sunderland in the Half Time/Full Time at 17/10 with LiveScore Bet",
   "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": null,
   "recorded_at": "2026-10-09T13:05:10.315Z",
   "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": "LiveScore",
   "correction": null
  },
  {
   "record_id": "n-33847d2ef530d7fb9e465766",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Notts County win to nil vs Newport\n1pt 13-8 Coral, Ladbrokes",
   "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": null,
   "recorded_at": "2026-10-01T01:11:01.002Z",
   "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-f94f4d0e571ec825cbc8f5b2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Marcelino Nunez to be booked",
   "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": "2026-04-18T14:14:13.000Z",
   "recorded_at": "2026-09-30T16:12:38.059Z",
   "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-76c07f0f8de7f0db69bd4c3e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Tommy Conway 2+ shots",
   "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-04-18T14:14:13.000Z",
   "recorded_at": "2026-09-30T16:12:38.059Z",
   "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-3942011657f13551c4118e6f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Marcelino Nunez to be booked",
   "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": "2026-04-10T15:00:00.000Z",
   "recorded_at": "2026-09-30T16:08:32.838Z",
   "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-aa7e73df7415af11a150eb51",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Mohamed Toure to score or assist",
   "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": "2026-04-10T15:00:00.000Z",
   "recorded_at": "2026-09-30T16:08:32.838Z",
   "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-c66430557f3ee3959884de97",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Jarrod Bowen to score anytime",
   "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": "2026-01-02T16:00:00.000Z",
   "recorded_at": "2026-09-28T16:22:57.814Z",
   "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-e8b20da42f58eaa8408197f1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals & both teams to score\n2pts Evs Hills",
   "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-11-05T17:00:00.000Z",
   "recorded_at": "2026-10-01T00:47:51.822Z",
   "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-c2e2f09f53be32ef4ac2743d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Djeidi Gassama 3+ 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-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-02T00:44:04.971Z",
   "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-f446503f5714d4ab8f4a01b1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Bard Finne anytime goalscorer",
   "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-10-22T15:00:00.000Z",
   "recorded_at": "2026-10-01T00:33:43.768Z",
   "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-4300238679bed56c9d9fb063",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Ipswich vs Norwich Bet Builder\n\nIpswich",
   "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-10-04T11:33:56.000Z",
   "recorded_at": "2026-09-30T16:12:52.636Z",
   "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": 30,
  "before_kickoff": 0,
  "after_kickoff": 30,
  "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": 43,
  "pages": 4,
  "page_urls": [
   "/authors/tom-mcgarry/",
   "/authors/tom-mcgarry/picks/2/",
   "/authors/tom-mcgarry/picks/3/",
   "/authors/tom-mcgarry/picks/4/"
  ],
  "groups": {
   "settled": 22,
   "pending": 0,
   "excluded": 21
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/tom-mcgarry/",
  "current": false
 },
 "title_tag": "Tom McGarry Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-c63c34585c68ce9bc820d814",
  "type_code": "individual",
  "name_shown": "Tom McGarry",
  "main_entity": "e-c63c34585c68ce9bc820d814",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-c63c34585c68ce9bc820d814",
    "medium": "Racing Post",
    "channel": "section pages",
    "domain": "racingpost.com",
    "source_info": "racing-post",
    "byline": "Tom McGarry",
    "url": "/sources/racing-post/",
    "summary": {
     "statements": 70,
     "predictions": 31,
     "settled_picks": 9,
     "headline_kind": "historical_simulation",
     "return_percent": -28.61,
     "headline_part": "archived",
     "period_from": "2026-09-28",
     "period_to": "2026-10-02"
    }
   },
   {
    "entity_ref": "e-bc73f34d2330d870ad69be63",
    "medium": "LiveScore",
    "channel": "section pages",
    "domain": "livescore.com",
    "source_info": "livescore",
    "byline": "Tom McGarry",
    "url": null,
    "summary": {
     "statements": 62,
     "predictions": 12,
     "settled_picks": 2,
     "headline_kind": "historical_simulation",
     "return_percent": 290.0,
     "headline_part": "archived",
     "period_from": "2026-10-09",
     "period_to": "2026-10-18"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-10-22.3",
  "updated": "2026-10-22",
  "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": 9,
   "void": 0,
   "period_from": "2024-08-31",
   "period_to": "2026-04-19",
   "composition_hash": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-4a3c6b0ccd7b58412544",
   "at": "2026-10-22T09:54:30.278Z",
   "data_version": "2026-10-22.3",
   "previous_data_version": "2026-10-22.2",
   "url": "/authors/tom-mcgarry/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-22.2",
    "return_percent": "18.54",
    "settled_picks": 12,
    "matches": 9,
    "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": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144",
    "text": "+18.54% on 12 settled picks across 9 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-22.3",
    "return_percent": "29.32",
    "settled_picks": 11,
    "matches": 9,
    "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": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144",
    "text": "+29.32% on 11 settled picks across 9 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": "The same picks give a different total: the calculation was corrected.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-59749d1dd6b322ee055f"
  },
  {
   "id": "zc-6a2c125da07d69ade43c",
   "at": "2026-10-22T05:56:36.122Z",
   "data_version": "2026-10-22.2",
   "previous_data_version": "2026-10-22.1",
   "url": "/authors/tom-mcgarry/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-19.6",
    "return_percent": "29.32",
    "settled_picks": 11,
    "matches": 9,
    "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": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144",
    "text": "+29.32% on 11 settled picks across 9 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-22.2",
    "return_percent": "18.54",
    "settled_picks": 12,
    "matches": 9,
    "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": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144",
    "text": "+18.54% on 12 settled picks across 9 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": "The same picks give a different total: the calculation was corrected.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-829aeaf2519a996b667f"
  },
  {
   "id": "zc-13de7c05f4d8636f7b7d",
   "at": "2026-10-19T19:39:27.559Z",
   "data_version": "2026-10-19.6",
   "previous_data_version": "2026-10-19.5",
   "url": "/authors/tom-mcgarry/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-16.5",
    "return_percent": "18.54",
    "settled_picks": 12,
    "matches": 9,
    "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": "1b2567fefda3840ec1ece9c7133451e39790ed4021fd5f58bb38af0ef05588b6",
    "text": "+18.54% on 12 settled picks across 9 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-19.6",
    "return_percent": "29.32",
    "settled_picks": 11,
    "matches": 9,
    "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": "3b5a635c13cdcfaaf40562e08bffa9a155c8efa26c2ad38ce86d68d57ff8b144",
    "text": "+29.32% on 11 settled picks across 9 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": "Data corrected: 1 pick left the headline sample.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 1,
    "changed": 0
   },
   "correction_id": "i-1d4619d859f3e0d991d6"
  },
  {
   "id": "zc-e30526654fc24f91037e",
   "at": "2026-10-16T17:26:36.835Z",
   "data_version": "2026-10-16.5",
   "previous_data_version": "2026-10-16.4",
   "url": "/authors/tom-mcgarry/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-15.5",
    "return_percent": "-41.59",
    "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": "178da88ed15556707e7e7a39fae6209651d38402ec0edeaf38ddeda36c8ad378",
    "text": "−41.59% 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"
   },
   "after": {
    "data_version": "2026-10-16.5",
    "return_percent": "18.54",
    "settled_picks": 12,
    "matches": 9,
    "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": "1b2567fefda3840ec1ece9c7133451e39790ed4021fd5f58bb38af0ef05588b6",
    "text": "+18.54% on 12 settled picks across 9 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 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
  },
  {
   "id": "zc-195b00e5ceccb01b8aef",
   "at": "2026-10-15T18:43:19.205Z",
   "data_version": "2026-10-15.5",
   "previous_data_version": "2026-10-15.4",
   "url": "/authors/tom-mcgarry/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-09.2",
    "return_percent": "-35.75",
    "settled_picks": 10,
    "matches": 7,
    "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": "e6f87ff693f29a3034d0f80283299d58c6016959ce5cc9e17b4f74ab7b879d57",
    "text": "−35.75% on 10 settled picks across 7 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": "-41.59",
    "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": "178da88ed15556707e7e7a39fae6209651d38402ec0edeaf38ddeda36c8ad378",
    "text": "−41.59% 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 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
  },
  {
   "id": "zc-39423d880278b3a992be",
   "at": "2026-10-09T12:49:36.723Z",
   "data_version": "2026-10-09.2",
   "previous_data_version": "2026-10-09.1",
   "url": "/authors/tom-mcgarry/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": {
    "data_version": "2026-10-09.1",
    "return_percent": "-39.03",
    "settled_picks": 16,
    "matches": 10,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "87e1d94f7ac93ba35c0a8450a6cc134a21d8fd6cc0ebfe5636ebf6bb1443c6df",
    "text": "−39.03% on 16 settled picks across 10 matches · second data provider's closing price, restored · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-09.2",
    "return_percent": "-35.75",
    "settled_picks": 10,
    "matches": 7,
    "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": "e6f87ff693f29a3034d0f80283299d58c6016959ce5cc9e17b4f74ab7b879d57",
    "text": "−35.75% on 10 settled picks across 7 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 (16 settled picks). Now: historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only (10 settled picks).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 7,
    "changed": 0
   },
   "correction_id": "i-9c17fdc3149a4bd6932e"
  },
  {
   "id": "zc-0491cbda2bdec235be2a",
   "at": "2026-10-09T11:08:54.367Z",
   "data_version": "2026-10-09.1",
   "previous_data_version": "2026-09-30.1",
   "url": "/authors/tom-mcgarry/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-09-30.1",
    "return_percent": "-100.00",
    "settled_picks": 2,
    "matches": 1,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "c427f6fc2bca5fcb0dfb5e65a168b55b9c95a21d8e8e8fbab9a41d95f4946245",
    "text": "−200.00 points on 2 settled picks across 1 match · second data provider's closing price, restored · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-09.1",
    "return_percent": "-39.03",
    "settled_picks": 16,
    "matches": 10,
    "void": 0,
    "series_code": "retro_market_closing_sm",
    "price_rule": "second data provider's closing price, restored",
    "method_version": "retro-1.1",
    "composition_hash": "87e1d94f7ac93ba35c0a8450a6cc134a21d8fd6cc0ebfe5636ebf6bb1443c6df",
    "text": "−39.03% on 16 settled picks across 10 matches · second data provider's closing price, restored · method retro-1.1"
   },
   "reason": "Added 14 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": 14,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "author_card": {
  "body": "Record tracked by Forecast Record since 28 September 2026 · 43 predictions · last change 17 October 2026",
  "url": "https://forecastrecord.com/authors/tom-mcgarry/",
  "s": "2026-09-28",
  "prediction_count": 43,
  "refreshed_at": "2026-10-17",
  "html": "<a href=\"https://forecastrecord.com/authors/tom-mcgarry/\">Record tracked by Forecast Record since 28 September 2026 · 43 predictions · last change 17 October 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 13,
  "days": 597,
  "weeks": 8,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 5,
  "first_settled_on": "2024-08-31",
  "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 Hill",
     "url": "/authors/tom-hill/",
     "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": "5 records added on 30 Sep 2026 found after the match; 9 records added on 1 Oct 2026 from archived copies; 6 records added on 9 Oct 2026 found after the match; 16 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-22T09:54:30.278Z",
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-c63c34585c68ce9bc820d814",
 "source_revision": 207,
 "related": [
  {
   "url": "/cards/e-c63c34585c68ce9bc820d814-bank/",
   "name": "Bankroll card — Tom McGarry",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-c63c34585c68ce9bc820d814-said-vs-happened/",
   "name": "Said → happened — Tom McGarry",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/tom-mcgarry/",
   "name": "Your record on Forecast Record: Tom McGarry",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 22,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 43,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 43,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 11,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 9,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 13,
   "where": "origin-archived",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked",
   "entity": "e-c63c34585c68ce9bc820d814",
   "value": 13,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
