{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/ben-sully/picks/3/",
 "canonical": "/authors/ben-sully/picks/3/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Ben Sully — football predictions, page 3 of 4",
 "description": "Predictions 21–40 of 54 by Ben Sully, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 3 of 4 of the predictions by Ben Sully recorded by Forecast Record: predictions 21–40 of 54 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": "54",
  "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:11:06.627Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "d74e40976c74bd1780d7be1e9e5953c7772be1365cd1c3f4a8a9464f8345c618",
 "dependency_group": "author:e-45ceaa0bd8569c02e836dc68",
 "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/ben-sully/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-45ceaa0bd8569c02e836dc68",
  "public_name": "Ben Sully",
  "tracker_number": 1079,
  "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-1d06fd12ffe8821311960a9e",
   "url": "/authors/ben-sully/picks/3/#pick-n-1d06fd12ffe8821311960a9e",
   "match": "AFC Bournemouth v Sunderland",
   "match_url": "/football/matches/afc-bournemouth-vs-sunderland-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 38.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Bournemouth 2-2 Sunderland",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "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-16T21:37:05.000Z",
   "recorded_at": "2026-10-16T22:09:58.080Z",
   "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-1d06fd12ffe8821311960a9e",
    "quote_text": "We say: Bournemouth 2-2 Sunderland",
    "fragment_from": 5113,
    "fragment_to": 5147,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bournemouth/preview/bournemouth-vs-sunderland-prediction-team-news-lineups_607069.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b9259a0bb2f0f85bf403715333e40328e62d3a7916a8c7dd1810cf542cf84235",
     "material_removed": false
    },
    "published_at": "2026-10-16T21:37:05.000Z",
    "detected_at": "2026-10-16T22:09:58.080Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f80d15d1ac60",
     "display_name": "AFC Bournemouth — Sunderland",
     "competition_name": "Premier League",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/afc-bournemouth-vs-sunderland-2026-10-18/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Bournemouth 2-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-16T21:37:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T21:37:05.000Z",
     "detected_at": "2026-10-16T22:09:58.080Z",
     "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": "AFC Bournemouth 2-2 Sunderland",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Bournemouth 2-2 Sunderland"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Bournemouth 2-0 Sunderland."
    },
    "settlements": [
     {
      "operation_id": "8789cb797021235974930678a8672ccb38594d3dc24ab4eee9daad761d3ae9b4",
      "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": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T10:35:46.387Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/bournemouth/preview/bournemouth-vs-sunderland-prediction-team-news-lineups_607069.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Bournemouth 2-2 Sunderland"
   }
  },
  {
   "record_id": "n-732b02d1bb7aac9910a9e7bd",
   "url": "/authors/ben-sully/picks/3/#pick-n-732b02d1bb7aac9910a9e7bd",
   "match": "Wolverhampton Wanderers v Portsmouth",
   "match_url": "/football/matches/wolverhampton-wanderers-vs-portsmouth-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 42.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wolverhampton Wanderers 2-1 Portsmouth",
   "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-18T23:01:55.000Z",
   "recorded_at": "2026-10-19T00:11:03.796Z",
   "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.5800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-732b02d1bb7aac9910a9e7bd",
    "quote_text": "We say: Wolverhampton Wanderers 2-1 Portsmouth",
    "fragment_from": 4475,
    "fragment_to": 4521,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wolves/preview/wolves-vs-portsmouth-prediction-team-news-lineups_607186.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b60e861c6fd2c30dc1e4a2edf83589ba6e27ebc2bb072d9477ae135ddc71043d",
     "material_removed": false
    },
    "published_at": "2026-10-18T23:01:55.000Z",
    "detected_at": "2026-10-19T00:11:03.796Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a46e391a0be0",
     "display_name": "Wolverhampton Wanderers — Portsmouth",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/wolverhampton-wanderers-vs-portsmouth-2026-10-20/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wolverhampton Wanderers 2-1 Portsmouth",
    "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-18T23:01:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T23:01:55.000Z",
     "detected_at": "2026-10-19T00:11:03.796Z",
     "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": "Wolverhampton Wanderers 2-1 Portsmouth",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wolverhampton Wanderers 2-1 Portsmouth"
    },
    "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 Wolverhampton Wanderers 1-1 Portsmouth."
    },
    "settlements": [
     {
      "operation_id": "98189b5cb9b2e46c6f5fb82454d60592adec94546546576d634efed0dc39f110",
      "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": "Wolverhampton Wanderers",
      "decimal_odds": "1.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T06:49:45.129Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/wolves/preview/wolves-vs-portsmouth-prediction-team-news-lineups_607186.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wolverhampton Wanderers 2-1 Portsmouth"
   }
  },
  {
   "record_id": "n-2b528e18b673797d01c8b106",
   "url": "/authors/ben-sully/picks/3/#pick-n-2b528e18b673797d01c8b106",
   "match": "NK Celje v Red Bull Salzburg",
   "match_url": "/football/matches/nk-celje-vs-red-bull-salzburg-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: NK Celje 1-2 Red Bull Salzburg",
   "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-20T22:49:00.000Z",
   "recorded_at": "2026-10-20T23:10:15.029Z",
   "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.6061",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2b528e18b673797d01c8b106",
    "quote_text": "We say: Celje 1-2 Red Bull Salzburg",
    "fragment_from": 4246,
    "fragment_to": 4281,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/celje/europa-league/preview/celje-vs-salzburg-prediction-team-news-lineups_607325.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d2760451723f0d63ef7fb00242ff8bc3d71b4a624ffd8f6345278667c2fadc65",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:49:00.000Z",
    "detected_at": "2026-10-20T23:10:15.029Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-19af8976fd64",
     "display_name": "NK Celje — Red Bull Salzburg",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/nk-celje-vs-red-bull-salzburg-2026-10-22/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "NK Celje 1-2 Red Bull Salzburg",
    "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-20T22:49:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:49:00.000Z",
     "detected_at": "2026-10-20T23:10:15.029Z",
     "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": "NK Celje 1-2 Red Bull Salzburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: NK Celje 1-2 Red Bull Salzburg"
    },
    "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 NK Celje 2-2 Red Bull Salzburg."
    },
    "settlements": [
     {
      "operation_id": "45ef974b061692ecca9015480039ecaf500b05e516db0b3b6d3e1ae583c792cb",
      "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": "Red Bull Salzburg",
      "decimal_odds": "1.6061",
      "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:43:16.225Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/celje/europa-league/preview/celje-vs-salzburg-prediction-team-news-lineups_607325.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "NK Celje 1-2 Red Bull Salzburg"
   }
  },
  {
   "record_id": "n-63e0fc8d2956270017c123dc",
   "url": "/authors/ben-sully/picks/3/#pick-n-63e0fc8d2956270017c123dc",
   "match": "Portsmouth v Millwall",
   "match_url": "/football/matches/portsmouth-vs-millwall-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 43.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Portsmouth 2-1 Millwall",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-22T15:24:00.000Z",
   "recorded_at": "2026-10-22T16:10:07.296Z",
   "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.4000",
    "result": "Won",
    "points_hundredths": 14000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-63e0fc8d2956270017c123dc",
    "quote_text": "We say: Portsmouth 2-1 Millwall",
    "fragment_from": 4060,
    "fragment_to": 4091,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/portsmouth/preview/portsmouth-vs-millwall-prediction-team-news-lineups_607466.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "97bba1088b27a4379ca167118149201c9d984ebe225452463a0a7ddeb4d824fd",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:24:00.000Z",
    "detected_at": "2026-10-22T16:10:07.296Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bfa618d964f3",
     "display_name": "Portsmouth — Millwall",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/portsmouth-vs-millwall-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Portsmouth 2-1 Millwall",
    "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-22T15:24:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:24:00.000Z",
     "detected_at": "2026-10-22T16:10:07.296Z",
     "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": "Portsmouth 2-1 Millwall",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Portsmouth 2-1 Millwall"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Portsmouth 2-1 Millwall."
    },
    "settlements": [
     {
      "operation_id": "87c79d0d6d15e6574aff1571883d22839abaa6d14c8288f799aa7061d7013323",
      "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": "Portsmouth",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14000,
      "executed_at": "2026-10-24T00:50:22.591Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/portsmouth/preview/portsmouth-vs-millwall-prediction-team-news-lineups_607466.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Portsmouth 2-1 Millwall"
   }
  },
  {
   "record_id": "n-da03de34992891881cb2f247",
   "url": "/authors/ben-sully/picks/3/#pick-n-da03de34992891881cb2f247",
   "match": "Luton Town v Leicester City",
   "match_url": "/football/matches/luton-town-vs-leicester-city-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 37.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Luton Town 2-2 Leicester 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-22T21:38:00.000Z",
   "recorded_at": "2026-10-22T22:10:28.513Z",
   "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.2000",
    "result": "Won",
    "points_hundredths": 12000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-da03de34992891881cb2f247",
    "quote_text": "We say: Luton Town 2-2 Leicester City",
    "fragment_from": 4235,
    "fragment_to": 4272,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/luton-town/preview/luton-vs-leicester-prediction-team-news-lineups_607473.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e74b417060665678df88c6244dbf8b0e9d0a1c337ecd11074cb269888bca45b",
     "material_removed": false
    },
    "published_at": "2026-10-22T21:38:00.000Z",
    "detected_at": "2026-10-22T22:10:28.513Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5d420c8fb42e",
     "display_name": "Luton Town — Leicester City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/luton-town-vs-leicester-city-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Luton Town 2-2 Leicester 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-22T21:38:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T21:38:00.000Z",
     "detected_at": "2026-10-22T22:10:28.513Z",
     "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": "Luton Town 2-2 Leicester City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Luton Town 2-2 Leicester 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 Luton Town 2-1 Leicester City."
    },
    "settlements": [
     {
      "operation_id": "f30ac6799ca90a6c04c2daf8a057b32415860254954b782d7a689ab5f7d8449a",
      "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": "3.8500",
      "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:47:22.051Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/luton-town/preview/luton-vs-leicester-prediction-team-news-lineups_607473.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Luton Town 2-2 Leicester City"
   }
  },
  {
   "record_id": "n-a7643004f6adb1266c31f64c",
   "url": "/authors/ben-sully/picks/3/#pick-n-a7643004f6adb1266c31f64c",
   "match": "Sevilla v Osasuna",
   "match_url": "/football/matches/sevilla-vs-osasuna-2026-10-26/",
   "kickoff": "2026-10-26T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sevilla 1-1 Osasuna",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "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-24T22:46:26.000Z",
   "recorded_at": "2026-10-24T23:10:21.533Z",
   "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.9091",
    "result": "Won",
    "points_hundredths": 9091,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a7643004f6adb1266c31f64c",
    "quote_text": "We say: Sevilla 1-1 Osasuna",
    "fragment_from": 4399,
    "fragment_to": 4426,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sevilla/preview/sevilla-vs-osasuna-prediction-team-news-lineups_607645.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "92a83963528bbf234d0c55dcc49dafd6cd6205b5362f306285cedd530932a48e",
     "material_removed": false
    },
    "published_at": "2026-10-24T22:46:26.000Z",
    "detected_at": "2026-10-24T23:10:21.533Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2fdb443713cf",
     "display_name": "Sevilla — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-26T20:00:00.000Z",
     "url": "/football/matches/sevilla-vs-osasuna-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sevilla 1-1 Osasuna",
    "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-24T22:46:26.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T22:46:26.000Z",
     "detected_at": "2026-10-24T23:10:21.533Z",
     "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": "Sevilla 1-1 Osasuna",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sevilla 1-1 Osasuna"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sevilla 2-0 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "c5f818210ca1d53387f6beb2a6ef115edefa7bfc04ecc2cee976cecff66054b1",
      "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": "3.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-26T18:20:41.505Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/sevilla/preview/sevilla-vs-osasuna-prediction-team-news-lineups_607645.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sevilla 1-1 Osasuna"
   }
  },
  {
   "record_id": "n-29b7202e75bbef7436adb1bb",
   "url": "/authors/ben-sully/picks/3/#pick-n-29b7202e75bbef7436adb1bb",
   "match": "FC Barcelona v Real Madrid",
   "match_url": "/football/matches/fc-barcelona-vs-real-madrid-2026-10-25/",
   "kickoff": "2026-10-25T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 19.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Barcelona 2-2 Real Madrid",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-24T23:10:00.000Z",
   "recorded_at": "2026-10-25T00:26:00.585Z",
   "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.6250",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-29b7202e75bbef7436adb1bb",
    "quote_text": "We say: Barcelona 2-2 Real Madrid",
    "fragment_from": 2720,
    "fragment_to": 2753,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14871d6a2ed5ea74eaefebafbbbf477c9a747a2b47b73fbcf2cc4bdefbd2a241",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:10:00.000Z",
    "detected_at": "2026-10-25T00:26:00.585Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a08651054f27",
     "display_name": "FC Barcelona — Real Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-25T20:00:00.000Z",
     "url": "/football/matches/fc-barcelona-vs-real-madrid-2026-10-25/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Barcelona 2-2 Real Madrid",
    "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-24T23:10:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:10:00.000Z",
     "detected_at": "2026-10-25T00:26:00.585Z",
     "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": "FC Barcelona 2-2 Real Madrid",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Barcelona 2-2 Real Madrid"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Barcelona 1-2 Real Madrid."
    },
    "settlements": [
     {
      "operation_id": "8c9b7c35248da58f411cc4dec5421211ca60604402d3bf2a6783813121610ed0",
      "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": "5.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-25T14:41:52.868Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Barcelona 2-2 Real Madrid"
   }
  },
  {
   "record_id": "n-88f1e359e17397958bee0711",
   "url": "/authors/ben-sully/picks/3/#pick-n-88f1e359e17397958bee0711",
   "match": "Celta Vigo v Real Betis",
   "match_url": "/football/matches/celta-vigo-vs-real-betis-2026-10-25/",
   "kickoff": "2026-10-25T15:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 14.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Celta Vigo 1-1 Real Betis",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-24T23:10:00.000Z",
   "recorded_at": "2026-10-25T00:26:00.585Z",
   "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.2000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-88f1e359e17397958bee0711",
    "quote_text": "We say: Celta Vigo 1-1 Real Betis",
    "fragment_from": 1441,
    "fragment_to": 1474,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14871d6a2ed5ea74eaefebafbbbf477c9a747a2b47b73fbcf2cc4bdefbd2a241",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:10:00.000Z",
    "detected_at": "2026-10-25T00:26:00.585Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-567909342b1c",
     "display_name": "Celta Vigo — Real Betis",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-25T15:15:00.000Z",
     "url": "/football/matches/celta-vigo-vs-real-betis-2026-10-25/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Celta Vigo 1-1 Real Betis",
    "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-24T23:10:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:10:00.000Z",
     "detected_at": "2026-10-25T00:26:00.585Z",
     "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": "Celta Vigo 1-1 Real Betis",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Celta Vigo 1-1 Real Betis"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Celta Vigo 0-0 Real Betis."
    },
    "settlements": [
     {
      "operation_id": "df56fe9e688b052bb45d488984299933c7210110f917008839cd2f3d1f43574b",
      "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": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 25000,
      "executed_at": "2026-10-25T14:41:32.985Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celta Vigo 1-1 Real Betis"
   }
  },
  {
   "record_id": "n-99bdde5e8fdb692770da8b5a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Athletic Bilbao 1-1 Getafe",
   "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-24T23:10:00.000Z",
   "recorded_at": "2026-10-25T00:26:00.585Z",
   "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-b0843beab6a7cab46def1305",
   "url": "/authors/ben-sully/picks/3/#pick-n-b0843beab6a7cab46def1305",
   "match": "Real Sociedad v Levante UD",
   "match_url": "/football/matches/real-sociedad-vs-levante-ud-2026-10-25/",
   "kickoff": "2026-10-25T17:30:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 17.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Real Sociedad 2-1 Levante UD",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-24T23:10:00.000Z",
   "recorded_at": "2026-10-25T00:26:00.585Z",
   "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.5814",
    "result": "Won",
    "points_hundredths": 5814,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b0843beab6a7cab46def1305",
    "quote_text": "We say: Real Sociedad 2-1 Levante",
    "fragment_from": 2075,
    "fragment_to": 2108,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14871d6a2ed5ea74eaefebafbbbf477c9a747a2b47b73fbcf2cc4bdefbd2a241",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:10:00.000Z",
    "detected_at": "2026-10-25T00:26:00.585Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0baabc145988",
     "display_name": "Real Sociedad — Levante UD",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-25T17:30:00.000Z",
     "url": "/football/matches/real-sociedad-vs-levante-ud-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Real Sociedad 2-1 Levante UD",
    "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-24T23:10:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:10:00.000Z",
     "detected_at": "2026-10-25T00:26:00.585Z",
     "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": "Real Sociedad 2-1 Levante UD",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Real Sociedad 2-1 Levante UD"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Real Sociedad 2-1 Levante UD."
    },
    "settlements": [
     {
      "operation_id": "fd43d79520b167128b508b001b1ed9f3d5fb383989dc92388dc025fec443ddc9",
      "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": "Real Sociedad",
      "decimal_odds": "1.5814",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5814,
      "executed_at": "2026-10-25T14:41:43.060Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/barcelona/la-liga-predictions/feature/real-madrid-to-spoil-barcelonas-perfect-record-sundays-la-liga-predictions_607631.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Sociedad 2-1 Levante UD"
   }
  },
  {
   "record_id": "n-bec6b2e7fb8488818b13e279",
   "url": "/authors/ben-sully/picks/3/#pick-n-bec6b2e7fb8488818b13e279",
   "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": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bradford City 2-0 Peterborough United",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 70000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "8.0000",
   "published_at": "2026-10-25T15:09:12.000Z",
   "recorded_at": "2026-10-25T16:09:59.997Z",
   "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-bec6b2e7fb8488818b13e279",
    "quote_text": "We say: Bradford City 2-0 Peterborough United",
    "fragment_from": 4564,
    "fragment_to": 4609,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bradford-city/league-cup/preview/bradford-vs-peterborough-prediction-team-news-lineups_607674.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b3484c98ae5420d075f9eff9851da62f3067584a8394e845bb65a0cfe7e8bdcf",
     "material_removed": false
    },
    "published_at": "2026-10-25T15:09:12.000Z",
    "detected_at": "2026-10-25T16:09:59.997Z",
    "executed_at": "2026-10-27T11:17:04.190Z",
    "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": "8.0000",
     "our_snapshot_at": "2026-10-25T16:08:12.398Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 70000,
    "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-25T15:09:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T15:09:12.000Z",
     "detected_at": "2026-10-25T16:09:59.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": "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": "643aa0fb812dddd0676d1a86f9966931f439dc48c417fa75ec1a495aa76d35a6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Bradford City 2-0 Peterborough United",
      "decimal_odds": "8.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 70000,
      "executed_at": "2026-10-27T11:17:04.190Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2ecd3a83113ba63a89adfb90ef71d73d4c51bbe2416974b8a80011e247a218c0",
      "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.6757",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6757,
      "executed_at": "2026-10-27T11:17:04.424Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/bradford-city/league-cup/preview/bradford-vs-peterborough-prediction-team-news-lineups_607674.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-761de6adf5f699b6e919bcba",
   "url": "/authors/ben-sully/picks/3/#pick-n-761de6adf5f699b6e919bcba",
   "match": "SV 07 Elversberg v SV Darmstadt 98",
   "match_url": "/football/matches/sv-07-elversberg-vs-sv-darmstadt-98-2026-10-27/",
   "kickoff": "2026-10-27T19:45:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 47.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SV 07 Elversberg 3-1 SV Darmstadt 98",
   "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-25T19:11:00.000Z",
   "recorded_at": "2026-10-25T20:10:05.745Z",
   "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-761de6adf5f699b6e919bcba",
    "quote_text": "We say: Elversberg 3-1 SV Darmstadt 98",
    "fragment_from": 4555,
    "fragment_to": 4593,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/elversberg/preview/elversberg-vs-darmstadt-prediction-team-news-lineups_607671.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e2e004aa8cc7ce6185e6636d3921d474c8b601e79146f39107153849f6b59ee",
     "material_removed": false
    },
    "published_at": "2026-10-25T19:11:00.000Z",
    "detected_at": "2026-10-25T20:10:05.745Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6959cb91f1f7",
     "display_name": "SV 07 Elversberg — SV Darmstadt 98",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-27T19:45:00.000Z",
     "url": "/football/matches/sv-07-elversberg-vs-sv-darmstadt-98-2026-10-27/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SV 07 Elversberg 3-1 SV Darmstadt 98",
    "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-25T19:11:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T19:11:00.000Z",
     "detected_at": "2026-10-25T20:10:05.745Z",
     "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": "SV 07 Elversberg 3-1 SV Darmstadt 98",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SV 07 Elversberg 3-1 SV Darmstadt 98"
    },
    "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 SV 07 Elversberg 0-2 SV Darmstadt 98."
    },
    "settlements": [
     {
      "operation_id": "94d1b374b06101ce42a2f567d448d291b271fe3b8bb17447829f6005eb9e58a0",
      "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": "SV 07 Elversberg",
      "decimal_odds": "1.4200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T10:07:09.205Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/elversberg/preview/elversberg-vs-darmstadt-prediction-team-news-lineups_607671.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SV 07 Elversberg 3-1 SV Darmstadt 98"
   }
  },
  {
   "record_id": "n-cef23f5038a3d1a7d7a702fe",
   "url": "/authors/ben-sully/picks/3/#pick-n-cef23f5038a3d1a7d7a702fe",
   "match": "Holstein Kiel v TSG Hoffenheim",
   "match_url": "/football/matches/holstein-kiel-vs-tsg-hoffenheim-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 50.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Holstein Kiel 1-2 TSG Hoffenheim",
   "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-26T16:27:10.000Z",
   "recorded_at": "2026-10-26T17:13:23.641Z",
   "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-cef23f5038a3d1a7d7a702fe",
    "quote_text": "We say: Holstein Kiel 1-2 Hoffenheim",
    "fragment_from": 4423,
    "fragment_to": 4459,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/holstein-kiel/dfb-pokal/preview/holstein-kiel-vs-hoffenheim-prediction-team-news-lineups_607751.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a417c942c1a8b4cae0afa3e5ffcb301d4383bc868694e6ba3f02758267880a92",
     "material_removed": false
    },
    "published_at": "2026-10-26T16:27:10.000Z",
    "detected_at": "2026-10-26T17:13:23.641Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63b06fa5efa8",
     "display_name": "Holstein Kiel — TSG Hoffenheim",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/holstein-kiel-vs-tsg-hoffenheim-2026-10-28/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Holstein Kiel 1-2 TSG Hoffenheim",
    "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-26T16:27:10.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T16:27:10.000Z",
     "detected_at": "2026-10-26T17:13:23.641Z",
     "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": "Holstein Kiel 1-2 TSG Hoffenheim",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Holstein Kiel 1-2 TSG Hoffenheim"
    },
    "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 Holstein Kiel 1-1 TSG Hoffenheim."
    },
    "settlements": [
     {
      "operation_id": "be8fcc14c3f91b335af18e2a5724076d84068195be0acb91b4ee76617c4526af",
      "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": "TSG Hoffenheim",
      "decimal_odds": "1.4400",
      "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:22:39.921Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/holstein-kiel/dfb-pokal/preview/holstein-kiel-vs-hoffenheim-prediction-team-news-lineups_607751.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Holstein Kiel 1-2 TSG Hoffenheim"
   }
  },
  {
   "record_id": "n-cc22ef8b5606bcc773b50046",
   "url": "/authors/ben-sully/picks/3/#pick-n-cc22ef8b5606bcc773b50046",
   "match": "Hannover 96 v Kaiserslautern",
   "match_url": "/football/matches/hannover-96-vs-kaiserslautern-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 45.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Hannover 96 0-2 Kaiserslautern",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-26T21:40:13.000Z",
   "recorded_at": "2026-10-26T22:10:02.247Z",
   "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-cc22ef8b5606bcc773b50046",
    "quote_text": "We say: Hannover 0-2 Kaiserslautern",
    "fragment_from": 3962,
    "fragment_to": 3997,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/hannover/dfb-pokal/preview/hannover-vs-kaiserslautern-prediction-team-news-lineups_607767.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "36d2951ab15fc6c54617c30fc123957fa863b34e93f7ea1418a884f6d78d6af9",
     "material_removed": false
    },
    "published_at": "2026-10-26T21:40:13.000Z",
    "detected_at": "2026-10-26T22:10:02.247Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-de3e4db6375c",
     "display_name": "Hannover 96 — Kaiserslautern",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/hannover-96-vs-kaiserslautern-2026-10-28/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Hannover 96 0-2 Kaiserslautern",
    "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-26T21:40:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T21:40:13.000Z",
     "detected_at": "2026-10-26T22:10:02.247Z",
     "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": "Hannover 96 0-2 Kaiserslautern",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Hannover 96 0-2 Kaiserslautern"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Hannover 96 0-2 Kaiserslautern."
    },
    "settlements": [
     {
      "operation_id": "ead79e961664c1cfd4d2f50a974956c6d32e0105ae44b35d802f9746978616f7",
      "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": "Kaiserslautern",
      "decimal_odds": "2.8310",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 18310,
      "executed_at": "2026-10-28T18:03:43.520Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/hannover/dfb-pokal/preview/hannover-vs-kaiserslautern-prediction-team-news-lineups_607767.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Hannover 96 0-2 Kaiserslautern"
   }
  },
  {
   "record_id": "n-c27c0ef256f81fe7a66b3eba",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Manchester City Women 3-1 Paris Saint-Germain Women",
   "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-27T23:44:00.000Z",
   "recorded_at": "2026-10-28T00:10:16.103Z",
   "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-cfce4d66a916f754c0365d86",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Manchester City Women 3-1 Paris Saint-Germain Women",
   "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-27T23:44:00.000Z",
   "recorded_at": "2026-10-28T23:45:44.675Z",
   "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": "Sports Mole, RSS feed",
   "correction": null
  },
  {
   "record_id": "n-ec6aefcf499980b1d5bc317d",
   "url": "/authors/ben-sully/picks/3/#pick-n-ec6aefcf499980b1d5bc317d",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sheffield United 1-1 Wrexham",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-28T23:11:00.000Z",
   "recorded_at": "2026-10-29T00:10:08.428Z",
   "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-ec6aefcf499980b1d5bc317d",
    "quote_text": "We say: Sheffield United 1-1 Wrexham",
    "fragment_from": 4135,
    "fragment_to": 4171,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sheffield-united/preview/sheff-utd-vs-wrexham-prediction-team-news-lineups_607877.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5fff9473a36c3a6c71c43e099760329f76822d3015ddd494b5c05411d357f865",
     "material_removed": false
    },
    "published_at": "2026-10-28T23:11:00.000Z",
    "detected_at": "2026-10-29T00:10:08.428Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sheffield United 1-1 Wrexham",
    "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-28T23:11:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T23:11:00.000Z",
     "detected_at": "2026-10-29T00:10:08.428Z",
     "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": "Sheffield United 1-1 Wrexham",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sheffield United 1-1 Wrexham"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sheffield United 1-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "91e65e7f2dc8d232414d08540f21b68c8946cc013d189b94051316fde9a78f59",
      "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": "3.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T11:18:09.611Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/sheffield-united/preview/sheff-utd-vs-wrexham-prediction-team-news-lineups_607877.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield United 1-1 Wrexham"
   }
  },
  {
   "record_id": "n-aa48598311d6125c06fa5c0d",
   "url": "/authors/ben-sully/picks/3/#pick-n-aa48598311d6125c06fa5c0d",
   "match": "Deportivo de A Coruña v Osasuna",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
   "kickoff": "2026-11-02T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Deportivo de A Coruña 1-1 Osasuna",
   "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-31T20:01:00.000Z",
   "recorded_at": "2026-10-31T21:10:05.060Z",
   "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-aa48598311d6125c06fa5c0d",
    "quote_text": "We say: Deportivo La Coruna 1-1 Osasuna",
    "fragment_from": 4666,
    "fragment_to": 4705,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/deportivo-la-coruna/preview/deportivo-vs-osasuna-prediction-team-news-lineups_608149.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1c641b5c50420b8c4dcf2de39f6fd072b91b5a74e8a1d53a804d304f1f16fc23",
     "material_removed": false
    },
    "published_at": "2026-10-31T20:01:00.000Z",
    "detected_at": "2026-10-31T21:10:05.060Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63ceb4f9956a",
     "display_name": "Deportivo de A Coruña — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-11-02T20:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Deportivo de A Coruña 1-1 Osasuna",
    "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-31T20:01:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T20:01:00.000Z",
     "detected_at": "2026-10-31T21:10:05.060Z",
     "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": "Deportivo de A Coruña 1-1 Osasuna",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Deportivo de A Coruña 1-1 Osasuna"
    },
    "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 Deportivo de A Coruña 2-1 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "115b726730e39d61d5e429e848b14b406c59cbc1e0fb8848487d1b4cb4b72cd9",
      "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": "3.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T08:15:58.275Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/deportivo-la-coruna/preview/deportivo-vs-osasuna-prediction-team-news-lineups_608149.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Deportivo de A Coruña 1-1 Osasuna"
   }
  },
  {
   "record_id": "n-3eedfeed6b7662d716f8d880",
   "url": "/authors/ben-sully/picks/3/#pick-n-3eedfeed6b7662d716f8d880",
   "match": "Pakhtakor Tashkent v Al-Nassr Riyadh",
   "match_url": "/football/matches/pakhtakor-tashkent-vs-al-nassr-riyadh-2026-11-02/",
   "kickoff": "2026-11-02T13:45:00.000Z",
   "competition": "AFC Champions League Elite",
   "lead_hours": 37.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Pakhtakor Tashkent 1-1 Al-Nassr Riyadh",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-6",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-31T23:44:16.000Z",
   "recorded_at": "2026-11-01T00:10:05.224Z",
   "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-3eedfeed6b7662d716f8d880",
    "quote_text": "We say: Pakhtakor Tashkent 1-1 Al-Nassr",
    "fragment_from": 4523,
    "fragment_to": 4562,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/al-nassr/preview/pakhtakor-vs-al-nassr-prediction-team-news-lineups_608164.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c916e3f1a419db7a4e618fa6f90f690611c654741953276cd23e4302c4a1eef2",
     "material_removed": false
    },
    "published_at": "2026-10-31T23:44:16.000Z",
    "detected_at": "2026-11-01T00:10:05.224Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-47cbda2a8e7a",
     "display_name": "Pakhtakor Tashkent — Al-Nassr Riyadh",
     "competition_name": "AFC Champions League Elite",
     "starts_at": "2026-11-02T13:45:00.000Z",
     "url": "/football/matches/pakhtakor-tashkent-vs-al-nassr-riyadh-2026-11-02/",
     "scoreline": "2-6",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Pakhtakor Tashkent 1-1 Al-Nassr Riyadh",
    "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-31T23:44:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T23:44:16.000Z",
     "detected_at": "2026-11-01T00:10:05.224Z",
     "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": "Pakhtakor Tashkent 1-1 Al-Nassr Riyadh",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Pakhtakor Tashkent 1-1 Al-Nassr Riyadh"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-6",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Pakhtakor Tashkent 2-6 Al-Nassr Riyadh."
    },
    "settlements": [
     {
      "operation_id": "cd6fb65049e84b7bdc98c97db7801c0d8cb122d3139b2645ac9b6761da28b349",
      "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": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/al-nassr/preview/pakhtakor-vs-al-nassr-prediction-team-news-lineups_608164.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Pakhtakor Tashkent 1-1 Al-Nassr Riyadh"
   }
  },
  {
   "record_id": "n-31c6e531f1c568e28ed68789",
   "url": "/authors/ben-sully/picks/3/#pick-n-31c6e531f1c568e28ed68789",
   "match": "Real Racing Club v Real Madrid",
   "match_url": "/football/matches/real-racing-club-vs-real-madrid-2026-11-01/",
   "kickoff": "2026-11-01T15:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 14.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Real Racing Club 1-3 Real Madrid",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "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-11-01T00:10:00.000Z",
   "recorded_at": "2026-11-01T01:10:12.898Z",
   "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.2000",
    "result": "Won",
    "points_hundredths": 2000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-31c6e531f1c568e28ed68789",
    "quote_text": "We say: Racing de Santander 1-3 Real Madrid",
    "fragment_from": 1497,
    "fragment_to": 1540,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/real-madrid/la-liga-predictions/feature/real-madrid-to-back-up-clasico-win-sundays-la-liga-predictions_608160.html",
     "display_name": null,
     "speaker": "Ben Sully",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a3b8311194a3b1a302f2885d6c96d3c0fc6907c9f2683e281aefc59b0a960c3",
     "material_removed": false
    },
    "published_at": "2026-11-01T00:10:00.000Z",
    "detected_at": "2026-11-01T01:10:12.898Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-83a08c2a2eca",
     "display_name": "Real Racing Club — Real Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-11-01T15:15:00.000Z",
     "url": "/football/matches/real-racing-club-vs-real-madrid-2026-11-01/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Real Racing Club 1-3 Real Madrid",
    "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-11-01T00:10:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T00:10:00.000Z",
     "detected_at": "2026-11-01T01:10:12.898Z",
     "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": "Real Racing Club 1-3 Real Madrid",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Real Racing Club 1-3 Real Madrid"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Real Racing Club 0-3 Real Madrid."
    },
    "settlements": [
     {
      "operation_id": "82a48cfce506db14876b4b54e85320686e232d1e8ec0b24af6b1a9bea1db8fed",
      "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": "Real Madrid",
      "decimal_odds": "1.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2000,
      "executed_at": "2026-11-01T06:20:36.434Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Sully",
     "publisher": "Sports Mole",
     "forecaster": "Ben Sully",
     "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/real-madrid/la-liga-predictions/feature/real-madrid-to-back-up-clasico-win-sundays-la-liga-predictions_608160.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Racing Club 1-3 Real Madrid"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 54,
  "pages": 4,
  "page_urls": [
   "/authors/ben-sully/",
   "/authors/ben-sully/picks/2/",
   "/authors/ben-sully/picks/3/",
   "/authors/ben-sully/picks/4/"
  ],
  "groups": {
   "settled": 4,
   "pending": 0,
   "excluded": 50
  },
  "continuation": "by_time",
  "page": 3,
  "first": 21,
  "last": 40,
  "author_url": "/authors/ben-sully/",
  "current": false
 },
 "entity_id": "history:/authors/ben-sully/picks/3/",
 "source_revision": 29
}
