{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/oliver-thomas/picks/3/",
 "canonical": "/authors/oliver-thomas/picks/3/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Oliver Thomas — football predictions, page 3 of 4",
 "description": "Predictions 21–40 of 56 by Oliver Thomas, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 3 of 4 of the predictions by Oliver Thomas recorded by Forecast Record: predictions 21–40 of 56 in the order we recorded them, earliest first; as of 7 November 2026. Each row links to its evidence, and the summary of the record is on the profile page.",
  "key_number": "56",
  "data": "2026-11-07",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "technical",
 "indexing_threshold": {
  "settled_count": 0,
  "date_count": 0,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-11-07T18:06:00.334Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "d213bf198bd89acb8c2a47a10d791b6cb707be2fca37fd9a4bda4ece8a51ab34",
 "dependency_group": "author:e-a37055f72f52c0fdfe8df63a",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/oliver-thomas/picks/3/index.json",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": false,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": null,
 "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-a37055f72f52c0fdfe8df63a",
  "public_name": "Oliver Thomas",
  "tracker_number": 2069,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-25",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-518f26b070c2036d219fa146",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-518f26b070c2036d219fa146",
   "match": "Manchester City v Ipswich Town",
   "match_url": "/football/matches/manchester-city-vs-ipswich-town-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Manchester City 4-0 Ipswich Town",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T11:00:00.000Z",
   "recorded_at": "2026-10-16T03:09:59.619Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.2299",
    "result": "Won",
    "points_hundredths": 2299,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-518f26b070c2036d219fa146",
    "quote_text": "We say: Manchester City 4-0 Ipswich Town",
    "fragment_from": 6032,
    "fragment_to": 6072,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-city/preview/man-city-vs-ipswich-prediction-team-news-lineups_606916.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fff7278d723f23819f4cbd3859b26132cb78bb385b48fa4ce8c0c7ebe26b5233",
     "material_removed": false
    },
    "published_at": "2026-10-15T11:00:00.000Z",
    "detected_at": "2026-10-16T03:09:59.619Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ad9a71a98c6",
     "display_name": "Manchester City — Ipswich Town",
     "competition_name": "Premier League",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/manchester-city-vs-ipswich-town-2026-10-17/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Manchester City 4-0 Ipswich Town",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T11:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T11:00:00.000Z",
     "detected_at": "2026-10-16T03:09:59.619Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Manchester City 4-0 Ipswich Town",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "4-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Manchester City 4-0 Ipswich Town"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Manchester City 3-2 Ipswich Town."
    },
    "settlements": [
     {
      "operation_id": "d6b31a7d5b6cedd4cf046a18f82893f7982b205df46acf3fd1784ccc1867a75f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Manchester City",
      "decimal_odds": "1.2299",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2299,
      "executed_at": "2026-10-16T03:20:19.512Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/man-city/preview/man-city-vs-ipswich-prediction-team-news-lineups_606916.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester City 4-0 Ipswich Town"
   }
  },
  {
   "record_id": "n-233b1099b85e6d95449d1c7a",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-233b1099b85e6d95449d1c7a",
   "match": "Aston Villa v Viking FK",
   "match_url": "/football/matches/aston-villa-vs-viking-fk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 52.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Aston Villa 3-1 Viking FK",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T12:55:00.000Z",
   "recorded_at": "2026-10-19T14:10:13.773Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.2299",
    "result": "Won",
    "points_hundredths": 2299,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-233b1099b85e6d95449d1c7a",
    "quote_text": "We say: Aston Villa 3-1 Viking FK",
    "fragment_from": 5606,
    "fragment_to": 5639,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/aston-villa/champions-league/preview/aston-villa-vs-viking-fk-prediction-team-news-lineups_607209.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "903af4585383ae84ad016f81ea0e925e78ce10ae19a126e98c6229d7533490cf",
     "material_removed": false
    },
    "published_at": "2026-10-19T12:55:00.000Z",
    "detected_at": "2026-10-19T14:10:13.773Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9f8079be711c",
     "display_name": "Aston Villa — Viking FK",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-viking-fk-2026-10-21/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Aston Villa 3-1 Viking FK",
    "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": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T12:55:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T12:55:00.000Z",
     "detected_at": "2026-10-19T14:10:13.773Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Aston Villa 3-1 Viking FK",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Aston Villa 3-1 Viking FK"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Aston Villa 3-1 Viking FK."
    },
    "settlements": [
     {
      "operation_id": "9c7c036f5c17c45f027331f9bdf0c347bfb0663b7669c2e46cabc1859619fd74",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Aston Villa",
      "decimal_odds": "1.2299",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2299,
      "executed_at": "2026-10-21T00:38:03.887Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/aston-villa/champions-league/preview/aston-villa-vs-viking-fk-prediction-team-news-lineups_607209.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa 3-1 Viking FK"
   }
  },
  {
   "record_id": "n-2214cd18060b3e276d11d3b7",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-2214cd18060b3e276d11d3b7",
   "match": "Club Brugge KV v RC Lens",
   "match_url": "/football/matches/club-brugge-kv-vs-rc-lens-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.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": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.4444",
   "published_at": "2026-10-19T19:15:00.000Z",
   "recorded_at": "2026-10-19T20:10:15.466Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.4444",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2214cd18060b3e276d11d3b7",
    "quote_text": "We expect goals at both ends of the pitch, but the hosts may ultimately have enough firepower to outscore their opponents and pick up all three points in an entertaining contest.",
    "fragment_from": 5627,
    "fragment_to": 5805,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/club-brugge/champions-league/preview/brugge-vs-lens-prediction-team-news-lineups_607212.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c5073570f05b3c7356c240f35f63096ef82f7f0cca4cc7e0369755f86d6745ce",
     "material_removed": false
    },
    "published_at": "2026-10-19T19:15:00.000Z",
    "detected_at": "2026-10-19T20:10:15.466Z",
    "executed_at": "2026-10-21T00:37:15.901Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e001a3fb3630",
     "display_name": "Club Brugge KV — RC Lens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/club-brugge-kv-vs-rc-lens-2026-10-21/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4444",
     "our_snapshot_at": "2026-10-19T20:08:56.233Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T19:15:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T19:15:00.000Z",
     "detected_at": "2026-10-19T20:10:15.466Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "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": "2.2",
     "in_words": "Lost: the final score was Club Brugge KV 3-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "a787e8a36f41b599f3ce69e274365f6ab7bc5348243e7ab0a4134497d03d4459",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.4444",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:15.901Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/club-brugge/champions-league/preview/brugge-vs-lens-prediction-team-news-lineups_607212.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-6c274785b58224f9edac36b1",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-6c274785b58224f9edac36b1",
   "match": "Club Brugge KV v RC Lens",
   "match_url": "/football/matches/club-brugge-kv-vs-rc-lens-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Club Brugge KV 2-1 RC Lens",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T19:15:00.000Z",
   "recorded_at": "2026-10-19T20:10:15.466Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6c274785b58224f9edac36b1",
    "quote_text": "We say: Club Brugge 2-1 Lens",
    "fragment_from": 5344,
    "fragment_to": 5372,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/club-brugge/champions-league/preview/brugge-vs-lens-prediction-team-news-lineups_607212.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c5073570f05b3c7356c240f35f63096ef82f7f0cca4cc7e0369755f86d6745ce",
     "material_removed": false
    },
    "published_at": "2026-10-19T19:15:00.000Z",
    "detected_at": "2026-10-19T20:10:15.466Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e001a3fb3630",
     "display_name": "Club Brugge KV — RC Lens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/club-brugge-kv-vs-rc-lens-2026-10-21/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Club Brugge KV 2-1 RC Lens",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T19:15:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T19:15:00.000Z",
     "detected_at": "2026-10-19T20:10:15.466Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Club Brugge KV 2-1 RC Lens",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Club Brugge KV 2-1 RC Lens"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Club Brugge KV 3-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "5741928722c250848cd6469e869af6790244b351d71a22a40f5f45f7c99b9554",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Club Brugge KV",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-10-21T00:37:15.401Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/club-brugge/champions-league/preview/brugge-vs-lens-prediction-team-news-lineups_607212.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Club Brugge KV 2-1 RC Lens"
   }
  },
  {
   "record_id": "n-d3ac24362dc00063d5d737ca",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-d3ac24362dc00063d5d737ca",
   "match": "Lech Poznań v Sunderland",
   "match_url": "/football/matches/lech-poznan-vs-sunderland-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 55.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lech Poznań 0-2 Sunderland",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T08:15:00.000Z",
   "recorded_at": "2026-10-20T09:10:01.729Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6550",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d3ac24362dc00063d5d737ca",
    "quote_text": "We say: Lech Poznan 0-2 Sunderland",
    "fragment_from": 5367,
    "fragment_to": 5401,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lech-poznan/europa-league/preview/lech-poznan-vs-sunderland-prediction-team-news-lineups_607275.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d4b16187652e0a0b2f663247b90c7d38eb4c812d72862bfc8c14a992f5a72273",
     "material_removed": false
    },
    "published_at": "2026-10-20T08:15:00.000Z",
    "detected_at": "2026-10-20T09:10:01.729Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-18e87b3e4640",
     "display_name": "Lech Poznań — Sunderland",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/lech-poznan-vs-sunderland-2026-10-22/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lech Poznań 0-2 Sunderland",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T08:15:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T08:15:00.000Z",
     "detected_at": "2026-10-20T09:10:01.729Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lech Poznań 0-2 Sunderland",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lech Poznań 0-2 Sunderland"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lech Poznań 1-1 Sunderland."
    },
    "settlements": [
     {
      "operation_id": "aa170e88573b8b2c1f8314267d06409f9d47f00f9f41853a6c298b08673ba305",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Sunderland",
      "decimal_odds": "1.6550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:29.961Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/lech-poznan/europa-league/preview/lech-poznan-vs-sunderland-prediction-team-news-lineups_607275.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lech Poznań 0-2 Sunderland"
   }
  },
  {
   "record_id": "n-ce44bc7cc254c83443fd55e2",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-ce44bc7cc254c83443fd55e2",
   "match": "Beşiktaş v Crystal Palace",
   "match_url": "/football/matches/besiktas-vs-crystal-palace-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Beşiktaş 2-1 Crystal Palace",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T09:20:00.000Z",
   "recorded_at": "2026-10-20T10:10:04.636Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1050",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ce44bc7cc254c83443fd55e2",
    "quote_text": "We say: Besiktas 2-1 Crystal Palace",
    "fragment_from": 5243,
    "fragment_to": 5278,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/besiktas/europa-league/preview/besiktas-vs-crystal-palace-prediction-team-news-lineups_607276.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4132f8dc762d73423283280b035a0a50fd9b510666990e04d3ea47ed72db73ab",
     "material_removed": false
    },
    "published_at": "2026-10-20T09:20:00.000Z",
    "detected_at": "2026-10-20T10:10:04.636Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-77dd69b22aa6",
     "display_name": "Beşiktaş — Crystal Palace",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/besiktas-vs-crystal-palace-2026-10-22/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Beşiktaş 2-1 Crystal Palace",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T09:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T09:20:00.000Z",
     "detected_at": "2026-10-20T10:10:04.636Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Beşiktaş 2-1 Crystal Palace",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Beşiktaş 2-1 Crystal Palace"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Beşiktaş 2-2 Crystal Palace."
    },
    "settlements": [
     {
      "operation_id": "52f52ed15dc89f92e48cd174a5159dc982d4d116cdc09017f021f1da8c595a5e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Beşiktaş",
      "decimal_odds": "2.1050",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:19.642Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/besiktas/europa-league/preview/besiktas-vs-crystal-palace-prediction-team-news-lineups_607276.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş 2-1 Crystal Palace"
   }
  },
  {
   "record_id": "n-e7b20803728668a0358b5000",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-e7b20803728668a0358b5000",
   "match": "Beşiktaş v Crystal Palace",
   "match_url": "/football/matches/besiktas-vs-crystal-palace-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Beşiktaş",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1050",
   "published_at": "2026-10-20T09:20:00.000Z",
   "recorded_at": "2026-10-20T10:10:04.636Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1050",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e7b20803728668a0358b5000",
    "quote_text": "we are backing Besiktas to edge past a defensively-frail Palace outfit",
    "fragment_from": 5652,
    "fragment_to": 5722,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/besiktas/europa-league/preview/besiktas-vs-crystal-palace-prediction-team-news-lineups_607276.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4132f8dc762d73423283280b035a0a50fd9b510666990e04d3ea47ed72db73ab",
     "material_removed": false
    },
    "published_at": "2026-10-20T09:20:00.000Z",
    "detected_at": "2026-10-20T10:10:04.636Z",
    "executed_at": "2026-10-22T00:47:19.666Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-77dd69b22aa6",
     "display_name": "Beşiktaş — Crystal Palace",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/besiktas-vs-crystal-palace-2026-10-22/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Beşiktaş",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1050",
     "our_snapshot_at": "2026-10-20T10:06:32.058Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T09:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T09:20:00.000Z",
     "detected_at": "2026-10-20T10:10:04.636Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Beşiktaş",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Beşiktaş"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Beşiktaş 2-2 Crystal Palace."
    },
    "settlements": [
     {
      "operation_id": "d8308395625ea77bf1a4762698d1b25d646525404f761591480ca7b310b3fa9e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Beşiktaş",
      "decimal_odds": "2.1050",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:19.666Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/besiktas/europa-league/preview/besiktas-vs-crystal-palace-prediction-team-news-lineups_607276.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş to win"
   }
  },
  {
   "record_id": "n-cd2b2f34240cff96bd382d6a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: FK Baumit Jablonec 0-2 Brighton & Hove Albion",
   "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-10-20T13:30:00.000Z",
   "recorded_at": "2026-10-20T15:10:09.570Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-1163898623aeed2877ac82c5",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-1163898623aeed2877ac82c5",
   "match": "Chelsea v Tottenham Hotspur",
   "match_url": "/football/matches/chelsea-vs-tottenham-hotspur-2026-10-24/",
   "kickoff": "2026-10-24T16:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 46.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Chelsea 3-1 Tottenham Hotspur",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T17:00:00.000Z",
   "recorded_at": "2026-10-22T18:10:07.323Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6849",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1163898623aeed2877ac82c5",
    "quote_text": "We say: Chelsea 3-1 Tottenham Hotspur",
    "fragment_from": 5438,
    "fragment_to": 5475,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/chelsea/preview/chelsea-vs-spurs-prediction-team-news-lineups_607411.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "264d66e42b45395422480f5208d46568fa960e9ecb37ff6f1637c083d97884b2",
     "material_removed": false
    },
    "published_at": "2026-10-22T17:00:00.000Z",
    "detected_at": "2026-10-22T18:10:07.323Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-75e81bac336b",
     "display_name": "Chelsea — Tottenham Hotspur",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T16:30:00.000Z",
     "url": "/football/matches/chelsea-vs-tottenham-hotspur-2026-10-24/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Chelsea 3-1 Tottenham Hotspur",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T17:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T17:00:00.000Z",
     "detected_at": "2026-10-22T18:10:07.323Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Chelsea 3-1 Tottenham Hotspur",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Chelsea 3-1 Tottenham Hotspur"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Chelsea 0-2 Tottenham Hotspur."
    },
    "settlements": [
     {
      "operation_id": "0124f6d3140bbe36c25dbbaa2aeab080856461a9e69404669f93d9531f83d69b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Chelsea",
      "decimal_odds": "1.6849",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:06.671Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/chelsea/preview/chelsea-vs-spurs-prediction-team-news-lineups_607411.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Chelsea 3-1 Tottenham Hotspur"
   }
  },
  {
   "record_id": "n-350dad4dec95b1c4e77b43f4",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-350dad4dec95b1c4e77b43f4",
   "match": "Coventry City v Fulham",
   "match_url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 35.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Coventry City",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "3.1000",
   "published_at": "2026-10-22T18:00:00.000Z",
   "recorded_at": "2026-10-23T02:10:24.862Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2500",
    "result": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-350dad4dec95b1c4e77b43f4",
    "quote_text": "we are backing the Sky Blues to rise to the occasion on home soil and pick up all three points",
    "fragment_from": 5661,
    "fragment_to": 5755,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/coventry-city/preview/coventry-vs-fulham-prediction-team-news-lineups_607415.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8549ac8098f717aafbcc024b7a336e62bd00747acf630e317237bf1a207f5964",
     "material_removed": false
    },
    "published_at": "2026-10-22T18:00:00.000Z",
    "detected_at": "2026-10-23T02:10:24.862Z",
    "executed_at": "2026-10-23T06:47:16.585Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-44468d972083",
     "display_name": "Coventry City — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Coventry City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.1000",
     "our_snapshot_at": "2026-10-23T02:05:57.249Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T18:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T18:00:00.000Z",
     "detected_at": "2026-10-23T02:10:24.862Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Coventry City",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Coventry City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Coventry City 0-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "42aba9978c0b523be9017cb7356cadbc8e139cd61ae93d34369af624d21e5ae8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Coventry City",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:47:16.585Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/coventry-city/preview/coventry-vs-fulham-prediction-team-news-lineups_607415.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Coventry City to win"
   }
  },
  {
   "record_id": "n-ce13d0e3316b0fb51dfd1f1b",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-ce13d0e3316b0fb51dfd1f1b",
   "match": "Coventry City v Fulham",
   "match_url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 35.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Coventry City 2-1 Fulham",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T18:00:00.000Z",
   "recorded_at": "2026-10-23T02:10:24.862Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2500",
    "result": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ce13d0e3316b0fb51dfd1f1b",
    "quote_text": "We say: Coventry City 2-1 Fulham",
    "fragment_from": 5279,
    "fragment_to": 5311,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/coventry-city/preview/coventry-vs-fulham-prediction-team-news-lineups_607415.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8549ac8098f717aafbcc024b7a336e62bd00747acf630e317237bf1a207f5964",
     "material_removed": false
    },
    "published_at": "2026-10-22T18:00:00.000Z",
    "detected_at": "2026-10-23T02:10:24.862Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-44468d972083",
     "display_name": "Coventry City — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Coventry City 2-1 Fulham",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T18:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T18:00:00.000Z",
     "detected_at": "2026-10-23T02:10:24.862Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Coventry City 2-1 Fulham",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Coventry City 2-1 Fulham"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Coventry City 0-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "47cf3d396dc77e5aba0a33d4fc272616ac8fd823766d62d4b77772f07d71790e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Coventry City",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:47:16.565Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/coventry-city/preview/coventry-vs-fulham-prediction-team-news-lineups_607415.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Coventry City 2-1 Fulham"
   }
  },
  {
   "record_id": "n-b1de644396f9af7bbb9a9c95",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-b1de644396f9af7bbb9a9c95",
   "match": "Aston Villa v Manchester City",
   "match_url": "/football/matches/aston-villa-vs-manchester-city-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 30.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Aston Villa 1-2 Manchester City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:00:00.000Z",
   "recorded_at": "2026-10-23T05:10:00.346Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6250",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b1de644396f9af7bbb9a9c95",
    "quote_text": "We say: Aston Villa 1-2 Manchester City",
    "fragment_from": 5533,
    "fragment_to": 5572,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/aston-villa/preview/aston-villa-vs-man-city-prediction-team-news-lineups_607406.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "86fd4073d185e04ae3a5cc8a9157c9bf77b9e232157c545c8626465fbb66e4e7",
     "material_removed": false
    },
    "published_at": "2026-10-22T11:00:00.000Z",
    "detected_at": "2026-10-23T05:10:00.346Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f13233de2338",
     "display_name": "Aston Villa — Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/aston-villa-vs-manchester-city-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Aston Villa 1-2 Manchester City",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T11:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T11:00:00.000Z",
     "detected_at": "2026-10-23T05:10:00.346Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Aston Villa 1-2 Manchester City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Aston Villa 1-2 Manchester City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Aston Villa 2-1 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "7b00d1ebc6e9cedaf0cebdfc4be1dc403a4bd13b3dba4a68f3a6dbd0d4553a9c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Manchester City",
      "decimal_odds": "1.6250",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:45:45.129Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/aston-villa/preview/aston-villa-vs-man-city-prediction-team-news-lineups_607406.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa 1-2 Manchester City"
   }
  },
  {
   "record_id": "n-a07fa68717c10311373a2018",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-a07fa68717c10311373a2018",
   "match": "Manchester City v Brighton & Hove Albion",
   "match_url": "/football/matches/manchester-city-vs-brighton-and-hove-albion-2026-10-28/",
   "kickoff": "2026-10-28T19:30:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 53.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Manchester City 3-2 Brighton & Hove Albion",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T13:05:00.000Z",
   "recorded_at": "2026-10-26T14:10:01.972Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded 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-a07fa68717c10311373a2018",
    "quote_text": "We say: Manchester City 3-2 Brighton & Hove Albion",
    "fragment_from": 6184,
    "fragment_to": 6234,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-city/league-cup/preview/man-city-vs-brighton-prediction-team-news-lineups_607717.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e93a87d1f59aab8cd7edd7df6ec91dc43d70db447811bbc7e3a6f7a2fb8cf0a4",
     "material_removed": false
    },
    "published_at": "2026-10-26T13:05:00.000Z",
    "detected_at": "2026-10-26T14:10:01.972Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6198c1907ac8",
     "display_name": "Manchester City — Brighton & Hove Albion",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-28T19:30:00.000Z",
     "url": "/football/matches/manchester-city-vs-brighton-and-hove-albion-2026-10-28/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Manchester City 3-2 Brighton & Hove Albion",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T13:05:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T13:05:00.000Z",
     "detected_at": "2026-10-26T14:10:01.972Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Manchester City 3-2 Brighton & Hove Albion",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Manchester City 3-2 Brighton & Hove Albion"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Manchester City 2-2 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "ee2a06232c45a777ffc243fa6fd9af26f9c3d5aad30e2b7e7e336ad629100fdc",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Manchester City",
      "decimal_odds": "1.6579",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T10:45:17.650Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/man-city/league-cup/preview/man-city-vs-brighton-prediction-team-news-lineups_607717.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester City 3-2 Brighton & Hove Albion"
   }
  },
  {
   "record_id": "n-a63ed6d3a8004e88e4b967be",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-a63ed6d3a8004e88e4b967be",
   "match": "Manchester City v Brighton & Hove Albion",
   "match_url": "/football/matches/manchester-city-vs-brighton-and-hove-albion-2026-10-28/",
   "kickoff": "2026-10-28T19:30:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 53.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Manchester City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T13:05:00.000Z",
   "recorded_at": "2026-10-26T14:10:01.972Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded 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-a63ed6d3a8004e88e4b967be",
    "quote_text": "we are backing the hosts to outgun the Seagulls and edge a high-scoring affair to progress to round five.",
    "fragment_from": 6554,
    "fragment_to": 6659,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-city/league-cup/preview/man-city-vs-brighton-prediction-team-news-lineups_607717.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e93a87d1f59aab8cd7edd7df6ec91dc43d70db447811bbc7e3a6f7a2fb8cf0a4",
     "material_removed": false
    },
    "published_at": "2026-10-26T13:05:00.000Z",
    "detected_at": "2026-10-26T14:10:01.972Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-6198c1907ac8",
     "display_name": "Manchester City — Brighton & Hove Albion",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-28T19:30:00.000Z",
     "url": "/football/matches/manchester-city-vs-brighton-and-hove-albion-2026-10-28/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Manchester City",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T13:05:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T13:05:00.000Z",
     "detected_at": "2026-10-26T14:10:01.972Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Manchester City",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Manchester City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Manchester City 2-2 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "dc2a0df03cae9933c628d20dc9d179f069a3f15eec02114fb898ffa919e5ec3e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Manchester City",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/man-city/league-cup/preview/man-city-vs-brighton-prediction-team-news-lineups_607717.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester City to win"
   }
  },
  {
   "record_id": "n-17e85e21079cdc750f8610ea",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-17e85e21079cdc750f8610ea",
   "match": "Fulham v Crystal Palace",
   "match_url": "/football/matches/fulham-vs-crystal-palace-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fulham 1-1 Crystal Palace",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T15:45:00.000Z",
   "recorded_at": "2026-10-26T16:10:10.912Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded 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-17e85e21079cdc750f8610ea",
    "quote_text": "We say: Fulham 1-1 Crystal Palace (Fulham to win on penalties)",
    "fragment_from": 5668,
    "fragment_to": 5730,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fulham/league-cup/preview/fulham-vs-crystal-palace-prediction-team-news-lineups_607720.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "69ef35d0b8b53367053930344872ced7273437d1b6439dcafe6e7d0821a576bb",
     "material_removed": false
    },
    "published_at": "2026-10-26T15:45:00.000Z",
    "detected_at": "2026-10-26T16:10:10.912Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-f8048a802699",
     "display_name": "Fulham — Crystal Palace",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/fulham-vs-crystal-palace-2026-10-28/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fulham 1-1 Crystal Palace",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T15:45:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T15:45:00.000Z",
     "detected_at": "2026-10-26T16:10:10.912Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Fulham 1-1 Crystal Palace",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fulham 1-1 Crystal Palace"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fulham 0-1 Crystal Palace."
    },
    "settlements": [
     {
      "operation_id": "323d85050734dd555ac6a86e62495b14ee0932a63997458c80d6d510086a9fdf",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/fulham/league-cup/preview/fulham-vs-crystal-palace-prediction-team-news-lineups_607720.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fulham 1-1 Crystal Palace"
   }
  },
  {
   "record_id": "n-6e0322dd7957727f8cb74693",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Fulham 1-1 Crystal Palace (Fulham to win on penalties)",
   "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-10-26T15:45:00.000Z",
   "recorded_at": "2026-10-26T16:10:10.912Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-144d3218bf95bbcb09d55f6e",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-144d3218bf95bbcb09d55f6e",
   "match": "Sunderland v Brentford",
   "match_url": "/football/matches/sunderland-vs-brentford-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 49.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sunderland 0-2 Brentford",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T17:00:00.000Z",
   "recorded_at": "2026-10-26T18:10:10.997Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.0000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-144d3218bf95bbcb09d55f6e",
    "quote_text": "We say: Sunderland 0-2 Brentford",
    "fragment_from": 5313,
    "fragment_to": 5345,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sunderland/league-cup/preview/sunderland-vs-brentford-prediction-team-news-lineups_607721.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "02b982f879534d2d86a389f68911c8f3ad78040853726a878da371a7878289af",
     "material_removed": false
    },
    "published_at": "2026-10-26T17:00:00.000Z",
    "detected_at": "2026-10-26T18:10:10.997Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a7645ab2c041",
     "display_name": "Sunderland — Brentford",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/sunderland-vs-brentford-2026-10-28/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sunderland 0-2 Brentford",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T17:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T17:00:00.000Z",
     "detected_at": "2026-10-26T18:10:10.997Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Sunderland 0-2 Brentford",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sunderland 0-2 Brentford"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sunderland 3-2 Brentford."
    },
    "settlements": [
     {
      "operation_id": "fa7bf1dc657a631f39493076590773a837b6853aae4823e23f20bc150fa5c0e4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Brentford",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T17:25:52.154Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/sunderland/league-cup/preview/sunderland-vs-brentford-prediction-team-news-lineups_607721.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sunderland 0-2 Brentford"
   }
  },
  {
   "record_id": "n-982409b92f692e7a08449583",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-982409b92f692e7a08449583",
   "match": "Bradford City v Peterborough United",
   "match_url": "/football/matches/bradford-city-vs-peterborough-united-2026-10-27/",
   "kickoff": "2026-10-27T19:45:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 18.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bradford City 2-0 Peterborough United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-27T00:00:00.000Z",
   "recorded_at": "2026-10-27T01:10:05.407Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6711",
    "result": "Won",
    "points_hundredths": 6711,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-982409b92f692e7a08449583",
    "quote_text": "We say: Bradford City 2-0 Peterborough United",
    "fragment_from": 874,
    "fragment_to": 919,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arsenal/league-cup/feature/arsenal-to-breeze-past-fleetwood-tuesdays-efl-cup-predictions_607779.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "31f9d25b6f1b7b01ce28b1d54fe0fef86d7702ba2cec877c60e63ebb90733f34",
     "material_removed": false
    },
    "published_at": "2026-10-27T00:00:00.000Z",
    "detected_at": "2026-10-27T01:10:05.407Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-80e601bc06f7",
     "display_name": "Bradford City — Peterborough United",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-27T19:45:00.000Z",
     "url": "/football/matches/bradford-city-vs-peterborough-united-2026-10-27/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bradford City 2-0 Peterborough United",
    "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": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-27T00:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T00:00:00.000Z",
     "detected_at": "2026-10-27T01:10:05.407Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Bradford City 2-0 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bradford City 2-0 Peterborough United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Bradford City 2-0 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "9961252a951c32c39c326ca487f10e00d13c1a586a78d92b522bda22b4123624",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Bradford City",
      "decimal_odds": "1.6711",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6711,
      "executed_at": "2026-10-27T11:12:21.262Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/arsenal/league-cup/feature/arsenal-to-breeze-past-fleetwood-tuesdays-efl-cup-predictions_607779.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City 2-0 Peterborough United"
   }
  },
  {
   "record_id": "n-b96eff82d4f02c8370e11ef3",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-b96eff82d4f02c8370e11ef3",
   "match": "Fleetwood Town v Arsenal",
   "match_url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
   "kickoff": "2026-10-27T20:00:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 18.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fleetwood Town 0-4 Arsenal",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-27T00:00:00.000Z",
   "recorded_at": "2026-10-27T01:10:05.407Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.0921",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b96eff82d4f02c8370e11ef3",
    "quote_text": "We say: Fleetwood Town 0-4 Arsenal",
    "fragment_from": 1744,
    "fragment_to": 1778,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arsenal/league-cup/feature/arsenal-to-breeze-past-fleetwood-tuesdays-efl-cup-predictions_607779.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "31f9d25b6f1b7b01ce28b1d54fe0fef86d7702ba2cec877c60e63ebb90733f34",
     "material_removed": false
    },
    "published_at": "2026-10-27T00:00:00.000Z",
    "detected_at": "2026-10-27T01:10:05.407Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-745e2a940a5e",
     "display_name": "Fleetwood Town — Arsenal",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-27T20:00:00.000Z",
     "url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fleetwood Town 0-4 Arsenal",
    "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": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-27T00:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T00:00:00.000Z",
     "detected_at": "2026-10-27T01:10:05.407Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Fleetwood Town 0-4 Arsenal",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-4",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fleetwood Town 0-4 Arsenal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fleetwood Town 1-1 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "73a910960503c521c58d77d231517547c86258248f777341f957f6fca2a77866",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Arsenal",
      "decimal_odds": "1.0921",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T11:12:23.802Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/arsenal/league-cup/feature/arsenal-to-breeze-past-fleetwood-tuesdays-efl-cup-predictions_607779.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fleetwood Town 0-4 Arsenal"
   }
  },
  {
   "record_id": "n-d6c7ac7a5fbc86ee025bd958",
   "url": "/authors/oliver-thomas/picks/3/#pick-n-d6c7ac7a5fbc86ee025bd958",
   "match": "Everton v Newcastle United",
   "match_url": "/football/matches/everton-vs-newcastle-united-2026-10-29/",
   "kickoff": "2026-10-29T19:45:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 48.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Newcastle United",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "3.1700",
   "published_at": "2026-10-27T18:00:00.000Z",
   "recorded_at": "2026-10-27T19:10:12.071Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded 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-d6c7ac7a5fbc86ee025bd958",
    "quote_text": "we are backing the Magpies to narrowly edge through to the quarter-finals this week",
    "fragment_from": 5894,
    "fragment_to": 5977,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/everton/league-cup/preview/everton-vs-newcastle-prediction-team-news-lineups_607782.html",
     "display_name": null,
     "speaker": "Oliver Thomas",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9276e8ce992ea83f4eab9e77a27fda990c8f4454c0d99d465895a4025d7405ba",
     "material_removed": false
    },
    "published_at": "2026-10-27T18:00:00.000Z",
    "detected_at": "2026-10-27T19:10:12.071Z",
    "executed_at": "2026-10-29T14:47:54.388Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-39da42fdd6be",
     "display_name": "Everton — Newcastle United",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-29T19:45:00.000Z",
     "url": "/football/matches/everton-vs-newcastle-united-2026-10-29/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Newcastle United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.1700",
     "our_snapshot_at": "2026-10-27T19:08:46.629Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-27T18:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T18:00:00.000Z",
     "detected_at": "2026-10-27T19:10:12.071Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Newcastle United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Newcastle United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Everton 3-1 Newcastle United."
    },
    "settlements": [
     {
      "operation_id": "13e14f0d1b1225d3b2c80ec5d57c2018a5884426432dbe5fec6542738fb710af",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Newcastle United",
      "decimal_odds": "3.1700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-29T14:47:54.388Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Oliver Thomas",
     "publisher": "Sports Mole",
     "forecaster": "Oliver Thomas",
     "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.sportsmole.co.uk/football/everton/league-cup/preview/everton-vs-newcastle-prediction-team-news-lineups_607782.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Newcastle United to win"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 56,
  "pages": 4,
  "page_urls": [
   "/authors/oliver-thomas/",
   "/authors/oliver-thomas/picks/2/",
   "/authors/oliver-thomas/picks/3/",
   "/authors/oliver-thomas/picks/4/"
  ],
  "groups": {
   "settled": 6,
   "pending": 0,
   "excluded": 50
  },
  "continuation": "by_time",
  "page": 3,
  "first": 21,
  "last": 40,
  "author_url": "/authors/oliver-thomas/",
  "current": false
 },
 "entity_id": "history:/authors/oliver-thomas/picks/3/",
 "source_revision": 24
}
