{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/ben-knapton/picks/4/",
 "canonical": "/authors/ben-knapton/picks/4/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Ben Knapton — football predictions, page 4 of 5",
 "description": "Predictions 41–60 of 75 by Ben Knapton, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 4 of 5 of the predictions by Ben Knapton recorded by Forecast Record: predictions 41–60 of 75 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": "75",
  "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:08:40.253Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "364a558b0ada2b1727513a35e456c439eb077ccfe242e00ea215f2f483b0a255",
 "dependency_group": "author:e-b220e9bd712e7a04e6cf72e3",
 "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-knapton/picks/4/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-b220e9bd712e7a04e6cf72e3",
  "public_name": "Ben Knapton",
  "tracker_number": 1193,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-26",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-102bbb1fc510626f3c590159",
   "url": "/authors/ben-knapton/picks/4/#pick-n-102bbb1fc510626f3c590159",
   "match": "Paris FC v Stade Rennais",
   "match_url": "/football/matches/paris-fc-vs-stade-rennais-2026-10-18/",
   "kickoff": "2026-10-18T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 15.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Paris FC 1-2 Stade Rennais",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-10-17T23:20:00.000Z",
   "recorded_at": "2026-10-18T00:10:06.317Z",
   "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.2500",
    "result": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-102bbb1fc510626f3c590159",
    "quote_text": "We say: Paris FC 1-2 Rennes",
    "fragment_from": 2323,
    "fragment_to": 2350,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3540e2bc506893882e8cf29c9e73401b0f8ecef5adb4b65a911082aae95af36d",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:20:00.000Z",
    "detected_at": "2026-10-18T00:10:06.317Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-7947b3912313",
     "display_name": "Paris FC — Stade Rennais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T15:15:00.000Z",
     "url": "/football/matches/paris-fc-vs-stade-rennais-2026-10-18/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Paris FC 1-2 Stade Rennais",
    "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-17T23:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:20:00.000Z",
     "detected_at": "2026-10-18T00:10:06.317Z",
     "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": "Paris FC 1-2 Stade Rennais",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Paris FC 1-2 Stade Rennais"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Paris FC 4-3 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "8a36ca296a735767375887972361a989fb2878a45db44eaaa52561d36c5caf3e",
      "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": "Stade Rennais",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:16:41.357Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "3dcb3c4044a9828899da5b7797d461c4d1dfd816749a1e49d37b54b61bc07e6e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Paris FC 1-2 Stade Rennais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris FC 1-2 Stade Rennais"
   }
  },
  {
   "record_id": "n-899ac898a66851ca229220a5",
   "url": "/authors/ben-knapton/picks/4/#pick-n-899ac898a66851ca229220a5",
   "match": "Lorient v Monaco",
   "match_url": "/football/matches/lorient-vs-monaco-2026-10-18/",
   "kickoff": "2026-10-18T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 15.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lorient 1-1 Monaco",
   "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-17T23:20:00.000Z",
   "recorded_at": "2026-10-18T00:10:06.317Z",
   "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.0500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-899ac898a66851ca229220a5",
    "quote_text": "We say: Lorient 1-1 Monaco",
    "fragment_from": 2878,
    "fragment_to": 2904,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3540e2bc506893882e8cf29c9e73401b0f8ecef5adb4b65a911082aae95af36d",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:20:00.000Z",
    "detected_at": "2026-10-18T00:10:06.317Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-0433dfe831d6",
     "display_name": "Lorient — Monaco",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T15:15:00.000Z",
     "url": "/football/matches/lorient-vs-monaco-2026-10-18/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lorient 1-1 Monaco",
    "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-17T23:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:20:00.000Z",
     "detected_at": "2026-10-18T00:10:06.317Z",
     "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": "Lorient 1-1 Monaco",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lorient 1-1 Monaco"
    },
    "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 Lorient 1-0 Monaco."
    },
    "settlements": [
     {
      "operation_id": "eab0079c88740e0cbc7e8bf228c030e34d46ab2d421ae77823b94997b91402fa",
      "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-18T06:16:43.551Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "add7d2da5c197e34c130fcf4dd79900a1835f38d94c11be811e55b3e4dd2069e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Lorient 1-1 Monaco",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lorient 1-1 Monaco"
   }
  },
  {
   "record_id": "n-9ce677d5b1689758fcc4fffb",
   "url": "/authors/ben-knapton/picks/4/#pick-n-9ce677d5b1689758fcc4fffb",
   "match": "Olympique Lyonnais v Nice",
   "match_url": "/football/matches/olympique-lyonnais-vs-nice-2026-10-18/",
   "kickoff": "2026-10-18T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 18.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique Lyonnais 1-0 Nice",
   "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-17T23:20:00.000Z",
   "recorded_at": "2026-10-18T00:10:06.317Z",
   "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.7692",
    "result": "Won",
    "points_hundredths": 7692,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9ce677d5b1689758fcc4fffb",
    "quote_text": "We say: Lyon 1-0 Nice",
    "fragment_from": 3420,
    "fragment_to": 3441,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3540e2bc506893882e8cf29c9e73401b0f8ecef5adb4b65a911082aae95af36d",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:20:00.000Z",
    "detected_at": "2026-10-18T00:10:06.317Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-06454a8de539",
     "display_name": "Olympique Lyonnais — Nice",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T18:45:00.000Z",
     "url": "/football/matches/olympique-lyonnais-vs-nice-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique Lyonnais 1-0 Nice",
    "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-17T23:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:20:00.000Z",
     "detected_at": "2026-10-18T00:10:06.317Z",
     "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": "Olympique Lyonnais 1-0 Nice",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique Lyonnais 1-0 Nice"
    },
    "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 Olympique Lyonnais 2-1 Nice."
    },
    "settlements": [
     {
      "operation_id": "2b810294ce17365c8dbcc2e84ffaefef0bad0e224ff192eb55c0d40b748daeb6",
      "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": "Olympique Lyonnais",
      "decimal_odds": "1.7692",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7692,
      "executed_at": "2026-10-18T06:16:48.064Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "312e467324875267e1243c0e1cce2487a6b6bfe472af1293361aba677376b292",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Olympique Lyonnais 1-0 Nice",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais 1-0 Nice"
   }
  },
  {
   "record_id": "n-ad3494bd84c39b7fd78fcfa4",
   "url": "/authors/ben-knapton/picks/4/#pick-n-ad3494bd84c39b7fd78fcfa4",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 12.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 1-3 Olympique de Marseille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "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-17T23:20:00.000Z",
   "recorded_at": "2026-10-18T00:10:06.317Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ad3494bd84c39b7fd78fcfa4",
    "quote_text": "We say: Angers 1-3 Marseille",
    "fragment_from": 746,
    "fragment_to": 774,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3540e2bc506893882e8cf29c9e73401b0f8ecef5adb4b65a911082aae95af36d",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:20:00.000Z",
    "detected_at": "2026-10-18T00:10:06.317Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 1-3 Olympique de Marseille",
    "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-17T23:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:20:00.000Z",
     "detected_at": "2026-10-18T00:10:06.317Z",
     "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": "Angers 1-3 Olympique de Marseille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 1-3 Olympique de Marseille"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "94ccee5896f963581699a2ff33ee2d40b19d9e4e185d71028c3796eeed4985be",
      "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": "Olympique de Marseille",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-10-18T06:16:35.574Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "fbc9763810d97a0e24ce7fb4a36b71bef95a005461e73014038d1b09952b67b9",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Angers 1-3 Olympique de Marseille",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 1-3 Olympique de Marseille"
   }
  },
  {
   "record_id": "n-dd4f368b7245368997482191",
   "url": "/authors/ben-knapton/picks/4/#pick-n-dd4f368b7245368997482191",
   "match": "Le Havre v Auxerre",
   "match_url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
   "kickoff": "2026-10-18T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 15.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Le Havre 1-1 Auxerre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-10-17T23:20:00.000Z",
   "recorded_at": "2026-10-18T00:10:06.317Z",
   "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.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dd4f368b7245368997482191",
    "quote_text": "We say: Le Havre 1-1 Auxerre",
    "fragment_from": 1498,
    "fragment_to": 1526,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3540e2bc506893882e8cf29c9e73401b0f8ecef5adb4b65a911082aae95af36d",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:20:00.000Z",
    "detected_at": "2026-10-18T00:10:06.317Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-6ce51722d547",
     "display_name": "Le Havre — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T15:15:00.000Z",
     "url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Le Havre 1-1 Auxerre",
    "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-17T23:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:20:00.000Z",
     "detected_at": "2026-10-18T00:10:06.317Z",
     "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": "Le Havre 1-1 Auxerre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Le Havre 1-1 Auxerre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Le Havre 1-3 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "6751696c5be7bb8d11b0725c7ed3e3d63691993f926023f7afaf5d7142f851a8",
      "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-18T06:16:38.631Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "8394a4d2ef553b6e9e73551db886353a0d14452e25d3e200bd6c0864fdbcafd8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Le Havre 1-1 Auxerre",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/lyon/ligue-1-predictions/feature/a-nice-evening-for-lyon-sundays-ligue-1-predictions_607105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Le Havre 1-1 Auxerre"
   }
  },
  {
   "record_id": "n-4ec98e4b80bc053e97f2fedc",
   "url": "/authors/ben-knapton/picks/4/#pick-n-4ec98e4b80bc053e97f2fedc",
   "match": "Leeds United v Manchester United",
   "match_url": "/football/matches/leeds-united-vs-manchester-united-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 12.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Leeds United 3-1 Manchester United",
   "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-17T23:00:00.000Z",
   "recorded_at": "2026-10-18T00:10:08.825Z",
   "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.3500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4ec98e4b80bc053e97f2fedc",
    "quote_text": "We say: Leeds United 3-1 Manchester United",
    "fragment_from": 2626,
    "fragment_to": 2668,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6bcd2bfc1c5bb4ee0a213887914e3cb025491563edc309f493370b31ddc66df2",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:00:00.000Z",
    "detected_at": "2026-10-18T00:10:08.825Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b067fc4fb1f",
     "display_name": "Leeds United — Manchester United",
     "competition_name": "Premier League",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/leeds-united-vs-manchester-united-2026-10-18/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Leeds United 3-1 Manchester United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-17T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:00:00.000Z",
     "detected_at": "2026-10-18T00:10:08.825Z",
     "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": "Leeds United 3-1 Manchester United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Leeds United 3-1 Manchester United"
    },
    "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 Leeds United 1-1 Manchester United."
    },
    "settlements": [
     {
      "operation_id": "68f783c03c3cdf802212f857b553fcb996b4409b00deca2f0d276f72637231c7",
      "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": "Leeds United",
      "decimal_odds": "2.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:16:24.747Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Leeds United 3-1 Manchester United"
   }
  },
  {
   "record_id": "n-94db20ef193d95727a89ecbc",
   "url": "/authors/ben-knapton/picks/4/#pick-n-94db20ef193d95727a89ecbc",
   "match": "Brighton & Hove Albion v Crystal Palace",
   "match_url": "/football/matches/brighton-and-hove-albion-vs-crystal-palace-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 12.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Brighton & Hove Albion 3-1 Crystal Palace",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-17T23:00:00.000Z",
   "recorded_at": "2026-10-18T00:10:08.825Z",
   "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.4878",
    "result": "Won",
    "points_hundredths": 4878,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-94db20ef193d95727a89ecbc",
    "quote_text": "We say: Brighton & Hove Albion 3-1 Crystal Palace",
    "fragment_from": 1847,
    "fragment_to": 1896,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6bcd2bfc1c5bb4ee0a213887914e3cb025491563edc309f493370b31ddc66df2",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:00:00.000Z",
    "detected_at": "2026-10-18T00:10:08.825Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-05714c6dccf3",
     "display_name": "Brighton & Hove Albion — Crystal Palace",
     "competition_name": "Premier League",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/brighton-and-hove-albion-vs-crystal-palace-2026-10-18/",
     "scoreline": "5-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Brighton & Hove Albion 3-1 Crystal Palace",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:00:00.000Z",
     "detected_at": "2026-10-18T00:10:08.825Z",
     "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": "Brighton & Hove Albion 3-1 Crystal Palace",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Brighton & Hove Albion 3-1 Crystal Palace"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Brighton & Hove Albion 5-0 Crystal Palace."
    },
    "settlements": [
     {
      "operation_id": "927eb64cd2cc4e0b68384d44f360a17caa444bb46aa6c2b11a5a2436a4259691",
      "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": "Brighton & Hove Albion",
      "decimal_odds": "1.4878",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4878,
      "executed_at": "2026-10-18T06:16:23.090Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Brighton & Hove Albion 3-1 Crystal Palace"
   }
  },
  {
   "record_id": "n-c5a302c5faf2173b7fffc043",
   "url": "/authors/ben-knapton/picks/4/#pick-n-c5a302c5faf2173b7fffc043",
   "match": "Nottingham Forest v Arsenal",
   "match_url": "/football/matches/nottingham-forest-vs-arsenal-2026-10-18/",
   "kickoff": "2026-10-18T15:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 15.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Nottingham Forest 0-2 Arsenal",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T23:00:00.000Z",
   "recorded_at": "2026-10-18T00:10:08.825Z",
   "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.6173",
    "result": "Won",
    "points_hundredths": 6173,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c5a302c5faf2173b7fffc043",
    "quote_text": "We say: Nottingham Forest 0-2 Arsenal",
    "fragment_from": 3573,
    "fragment_to": 3610,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6bcd2bfc1c5bb4ee0a213887914e3cb025491563edc309f493370b31ddc66df2",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:00:00.000Z",
    "detected_at": "2026-10-18T00:10:08.825Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-01527686b0b6",
     "display_name": "Nottingham Forest — Arsenal",
     "competition_name": "Premier League",
     "starts_at": "2026-10-18T15:30:00.000Z",
     "url": "/football/matches/nottingham-forest-vs-arsenal-2026-10-18/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Nottingham Forest 0-2 Arsenal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:00:00.000Z",
     "detected_at": "2026-10-18T00:10:08.825Z",
     "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": "Nottingham Forest 0-2 Arsenal",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Nottingham Forest 0-2 Arsenal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Nottingham Forest 0-1 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "abee7f604df5f999a8af17369a1a3754e5e5adda7bc800f21d503b8969cf43c7",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Arsenal",
      "decimal_odds": "1.6173",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6173,
      "executed_at": "2026-10-18T06:16:24.797Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nottingham Forest 0-2 Arsenal"
   }
  },
  {
   "record_id": "n-dc48a3392a91a772d9ef9ef1",
   "url": "/authors/ben-knapton/picks/4/#pick-n-dc48a3392a91a772d9ef9ef1",
   "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": 12.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-17T23:00:00.000Z",
   "recorded_at": "2026-10-18T00:10:08.825Z",
   "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.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dc48a3392a91a772d9ef9ef1",
    "quote_text": "We say: Bournemouth 2-2 Sunderland",
    "fragment_from": 968,
    "fragment_to": 1002,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6bcd2bfc1c5bb4ee0a213887914e3cb025491563edc309f493370b31ddc66df2",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:00:00.000Z",
    "detected_at": "2026-10-18T00:10:08.825Z",
    "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-17T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:00:00.000Z",
     "detected_at": "2026-10-18T00:10:08.825Z",
     "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": "354a99de6c0eb4525a48ac5f9ed279d74be6398e734300c92d682def425493ac",
      "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.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:16:21.803Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/carricks-man-utd-to-crumble-at-leeds-sundays-premier-league-predictions_607104.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Bournemouth 2-2 Sunderland"
   }
  },
  {
   "record_id": "n-63bd006233895f6bc08641a7",
   "url": "/authors/ben-knapton/picks/4/#pick-n-63bd006233895f6bc08641a7",
   "match": "Paris Saint-Germain v FC Barcelona",
   "match_url": "/football/matches/paris-saint-germain-vs-fc-barcelona-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Paris Saint-Germain 3-2 FC Barcelona",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-18T11:21:00.000Z",
   "recorded_at": "2026-10-18T13:10:02.143Z",
   "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.3800",
    "result": "Won",
    "points_hundredths": 13800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-63bd006233895f6bc08641a7",
    "quote_text": "We say: Paris Saint-Germain 3-2 Barcelona",
    "fragment_from": 5521,
    "fragment_to": 5562,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/psg/champions-league/preview/psg-vs-barcelona-prediction-team-news-lineups_607152.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e69f8dc4935524bc319845bcb632406e60cecbdee2e53dd4636a15d19701de5b",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:21:00.000Z",
    "detected_at": "2026-10-18T13:10:02.143Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-629fcb555792",
     "display_name": "Paris Saint-Germain — FC Barcelona",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-fc-barcelona-2026-10-20/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Paris Saint-Germain 3-2 FC Barcelona",
    "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-18T11:21:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:21:00.000Z",
     "detected_at": "2026-10-18T13:10:02.143Z",
     "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": "Paris Saint-Germain 3-2 FC Barcelona",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Paris Saint-Germain 3-2 FC Barcelona"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Paris Saint-Germain 4-2 FC Barcelona."
    },
    "settlements": [
     {
      "operation_id": "54e94af3431a4898db06d2ad6258af04a0843a9c2d80736da9e7fdd92d74e365",
      "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": "Paris Saint-Germain",
      "decimal_odds": "2.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13800,
      "executed_at": "2026-10-21T00:40:21.369Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/psg/champions-league/preview/psg-vs-barcelona-prediction-team-news-lineups_607152.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain 3-2 FC Barcelona"
   }
  },
  {
   "record_id": "n-47b535e2ef20e532226d97cf",
   "url": "/authors/ben-knapton/picks/4/#pick-n-47b535e2ef20e532226d97cf",
   "match": "Parma v Torino",
   "match_url": "/football/matches/parma-vs-torino-2026-10-19/",
   "kickoff": "2026-10-19T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 19.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Parma 0-1 Torino",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T23:00:00.000Z",
   "recorded_at": "2026-10-18T23:10:09.481Z",
   "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-47b535e2ef20e532226d97cf",
    "quote_text": "We say: Parma 0-1 Torino",
    "fragment_from": 1330,
    "fragment_to": 1354,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/serie-a-predictions/feature/cagliari-to-continue-champions-league-charge-mondays-serie-a-predictions_607151.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc5fc755f0a42e21b43268964dc70f86560b375612684500b4be90f538d83519",
     "material_removed": false
    },
    "published_at": "2026-10-18T23:00:00.000Z",
    "detected_at": "2026-10-18T23:10:09.481Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-550a1d932859",
     "display_name": "Parma — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T18:45:00.000Z",
     "url": "/football/matches/parma-vs-torino-2026-10-19/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Parma 0-1 Torino",
    "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:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T23:00:00.000Z",
     "detected_at": "2026-10-18T23:10:09.481Z",
     "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": "Parma 0-1 Torino",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Parma 0-1 Torino"
    },
    "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 Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "1130fa1368612d8582fd9a97219902de2fdbd211683b6e9ce9e9b0271c72ba93",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Parma 0-1 Torino",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1bbc0b8e1c980142c8a2d6bcbe9c010e141c83b452481220997d67dd950111cc",
      "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": "Torino",
      "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 Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/torino/serie-a-predictions/feature/cagliari-to-continue-champions-league-charge-mondays-serie-a-predictions_607151.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Parma 0-1 Torino"
   }
  },
  {
   "record_id": "n-9a7e266d20d4ce84920f3880",
   "url": "/authors/ben-knapton/picks/4/#pick-n-9a7e266d20d4ce84920f3880",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 17.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monza 1-2 Cagliari",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T23:00:00.000Z",
   "recorded_at": "2026-10-18T23:10:09.481Z",
   "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-9a7e266d20d4ce84920f3880",
    "quote_text": "We say: Monza 1-2 Cagliari",
    "fragment_from": 687,
    "fragment_to": 713,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/serie-a-predictions/feature/cagliari-to-continue-champions-league-charge-mondays-serie-a-predictions_607151.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc5fc755f0a42e21b43268964dc70f86560b375612684500b4be90f538d83519",
     "material_removed": false
    },
    "published_at": "2026-10-18T23:00:00.000Z",
    "detected_at": "2026-10-18T23:10:09.481Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monza 1-2 Cagliari",
    "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:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T23:00:00.000Z",
     "detected_at": "2026-10-18T23:10:09.481Z",
     "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": "Monza 1-2 Cagliari",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monza 1-2 Cagliari"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "b3e54a2f4c67f1d6ad5255d6953e10d1714cb76ce4ce6184b4a47715b7d096b2",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Monza 1-2 Cagliari",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3c864165e516464991e71731ba220522349b6ee41aa2c91c98c661e22ee945c1",
      "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": "Cagliari",
      "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 Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/torino/serie-a-predictions/feature/cagliari-to-continue-champions-league-charge-mondays-serie-a-predictions_607151.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monza 1-2 Cagliari"
   }
  },
  {
   "record_id": "n-dab137e19d99391f5b901c2c",
   "url": "/authors/ben-knapton/picks/4/#pick-n-dab137e19d99391f5b901c2c",
   "match": "FC Bayern München v Arsenal",
   "match_url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 55.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Bayern München 1-1 Arsenal",
   "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-19T10:41:00.000Z",
   "recorded_at": "2026-10-19T11:10:01.279Z",
   "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.0500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dab137e19d99391f5b901c2c",
    "quote_text": "We say: Bayern Munich 1-1 Arsenal",
    "fragment_from": 5662,
    "fragment_to": 5695,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arsenal/champions-league/preview/bayern-vs-arsenal-prediction-team-news-lineups_607219.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cf90af45b8cf39c94d7987dfd20cb85a6d4640741413ca0e114fbc96ba74b372",
     "material_removed": false
    },
    "published_at": "2026-10-19T10:41:00.000Z",
    "detected_at": "2026-10-19T11:10:01.279Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9b50ee5dca05",
     "display_name": "FC Bayern München — Arsenal",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Bayern München 1-1 Arsenal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T10:41:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T10:41:00.000Z",
     "detected_at": "2026-10-19T11:10:01.279Z",
     "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 Bayern München 1-1 Arsenal",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Bayern München 1-1 Arsenal"
    },
    "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 FC Bayern München 2-2 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "5542c69e6e1216bf58903e81c6a0b51558e7df11f5363535efdb932bdcf612f1",
      "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.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 28000,
      "executed_at": "2026-10-21T00:38:28.900Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/arsenal/champions-league/preview/bayern-vs-arsenal-prediction-team-news-lineups_607219.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Bayern München 1-1 Arsenal"
   }
  },
  {
   "record_id": "n-d4ad4ea3ed49198bc2924c94",
   "url": "/authors/ben-knapton/picks/4/#pick-n-d4ad4ea3ed49198bc2924c94",
   "match": "Arsenal v Everton",
   "match_url": "/football/matches/arsenal-vs-everton-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Arsenal 2-0 Everton",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T09:36:16.000Z",
   "recorded_at": "2026-10-22T10:09:59.536Z",
   "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.4082",
    "result": "Won",
    "points_hundredths": 4082,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d4ad4ea3ed49198bc2924c94",
    "quote_text": "We say: Arsenal 2-0 Everton",
    "fragment_from": 5248,
    "fragment_to": 5275,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arsenal/preview/arsenal-vs-everton-prediction-team-news-lineups_607422.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9987908e0a8efdef53622a316a4cabf1836c4d41d307af13cc81cb8522280757",
     "material_removed": false
    },
    "published_at": "2026-10-22T09:36:16.000Z",
    "detected_at": "2026-10-22T10:09:59.536Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2a18e7b4072",
     "display_name": "Arsenal — Everton",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/arsenal-vs-everton-2026-10-24/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Arsenal 2-0 Everton",
    "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-22T09:36:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T09:36:16.000Z",
     "detected_at": "2026-10-22T10:09:59.536Z",
     "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": "Arsenal 2-0 Everton",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Arsenal 2-0 Everton"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Arsenal 2-0 Everton."
    },
    "settlements": [
     {
      "operation_id": "09172e974f18ff83d07e516e96615190ded34eafde6affef714aa89b0971efd4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Arsenal",
      "decimal_odds": "1.4082",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4082,
      "executed_at": "2026-10-24T00:52:05.056Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/arsenal/preview/arsenal-vs-everton-prediction-team-news-lineups_607422.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arsenal 2-0 Everton"
   }
  },
  {
   "record_id": "n-135d82ceab1b618941fca5f8",
   "url": "/authors/ben-knapton/picks/4/#pick-n-135d82ceab1b618941fca5f8",
   "match": "Coventry City v Fulham",
   "match_url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 12.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Coventry City 2-1 Fulham",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T23:00:00.000Z",
   "recorded_at": "2026-10-24T01:10:17.166Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2500",
    "result": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-135d82ceab1b618941fca5f8",
    "quote_text": "We say: Coventry City 2-1 Fulham",
    "fragment_from": 3037,
    "fragment_to": 3069,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "796b1617ba736123ffc05ebee150400e2f9d54346f81370fd983b3be4b102f98",
     "material_removed": false
    },
    "published_at": "2026-10-23T23:00:00.000Z",
    "detected_at": "2026-10-24T01:10:17.166Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-44468d972083",
     "display_name": "Coventry City — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/coventry-city-vs-fulham-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Coventry City 2-1 Fulham",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T23:00:00.000Z",
     "detected_at": "2026-10-24T01:10:17.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Coventry City 2-1 Fulham",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Coventry City 2-1 Fulham"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Coventry City 0-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "c36d4f316a75246f1017b4aedc8ec3390f32761df7c78fc245c892d194aaa48b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Coventry City",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T06:03:41.680Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Coventry City 2-1 Fulham"
   }
  },
  {
   "record_id": "n-d9f1900f3afbcefac8004d8d",
   "url": "/authors/ben-knapton/picks/4/#pick-n-d9f1900f3afbcefac8004d8d",
   "match": "Chelsea v Tottenham Hotspur",
   "match_url": "/football/matches/chelsea-vs-tottenham-hotspur-2026-10-24/",
   "kickoff": "2026-10-24T16:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 15.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Chelsea 3-1 Tottenham Hotspur",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T23:00:00.000Z",
   "recorded_at": "2026-10-24T01:10:17.166Z",
   "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.7937",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d9f1900f3afbcefac8004d8d",
    "quote_text": "We say: Chelsea 3-1 Tottenham Hotspur",
    "fragment_from": 4086,
    "fragment_to": 4123,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "796b1617ba736123ffc05ebee150400e2f9d54346f81370fd983b3be4b102f98",
     "material_removed": false
    },
    "published_at": "2026-10-23T23:00:00.000Z",
    "detected_at": "2026-10-24T01:10:17.166Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-75e81bac336b",
     "display_name": "Chelsea — Tottenham Hotspur",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T16:30:00.000Z",
     "url": "/football/matches/chelsea-vs-tottenham-hotspur-2026-10-24/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Chelsea 3-1 Tottenham Hotspur",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T23:00:00.000Z",
     "detected_at": "2026-10-24T01:10:17.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Chelsea 3-1 Tottenham Hotspur",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Chelsea 3-1 Tottenham Hotspur"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Chelsea 0-2 Tottenham Hotspur."
    },
    "settlements": [
     {
      "operation_id": "f9acf9e8e4c599511ac45b494c6e04c867de5d5d013138e1c93c368b1c0ad954",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Chelsea",
      "decimal_odds": "1.7937",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T06:03:41.728Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Chelsea 3-1 Tottenham Hotspur"
   }
  },
  {
   "record_id": "n-f8914bf2f7023f4ddae0ee94",
   "url": "/authors/ben-knapton/picks/4/#pick-n-f8914bf2f7023f4ddae0ee94",
   "match": "Aston Villa v Manchester City",
   "match_url": "/football/matches/aston-villa-vs-manchester-city-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Aston Villa 1-2 Manchester City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T23:00:00.000Z",
   "recorded_at": "2026-10-24T01:10:17.166Z",
   "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.6173",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f8914bf2f7023f4ddae0ee94",
    "quote_text": "We say: Aston Villa 1-2 Manchester City",
    "fragment_from": 969,
    "fragment_to": 1008,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "796b1617ba736123ffc05ebee150400e2f9d54346f81370fd983b3be4b102f98",
     "material_removed": false
    },
    "published_at": "2026-10-23T23:00:00.000Z",
    "detected_at": "2026-10-24T01:10:17.166Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f13233de2338",
     "display_name": "Aston Villa — Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/aston-villa-vs-manchester-city-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Aston Villa 1-2 Manchester City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T23:00:00.000Z",
     "detected_at": "2026-10-24T01:10:17.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Aston Villa 1-2 Manchester City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Aston Villa 1-2 Manchester City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Aston Villa 2-1 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "fa05f36d8bbc0e3ea5c4f5c40850ba3a06b1315ac0d1e54f7e7a05caf659b6b9",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Manchester City",
      "decimal_odds": "1.6173",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T06:03:41.624Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/chelsea/premier-league-predictions/feature/can-chelsea-extend-spurs-dominance-saturdays-premier-league-predictions_607548.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa 1-2 Manchester City"
   }
  },
  {
   "record_id": "n-2fe08fa12220a7d985827815",
   "url": "/authors/ben-knapton/picks/4/#pick-n-2fe08fa12220a7d985827815",
   "match": "Fleetwood Town v Arsenal",
   "match_url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
   "kickoff": "2026-10-27T20:00:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 55.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fleetwood Town 0-4 Arsenal",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-25T11:10:00.000Z",
   "recorded_at": "2026-10-25T12:30:33.496Z",
   "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-2fe08fa12220a7d985827815",
    "quote_text": "We say: Fleetwood Town 0-4 Arsenal",
    "fragment_from": 5359,
    "fragment_to": 5393,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arsenal/league-cup/preview/fleetwood-vs-arsenal-prediction-team-news-lineups_607669.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8e52409c05079c320f37cda408b63071971929cbdfccb2e087a976ad7dd1b117",
     "material_removed": false
    },
    "published_at": "2026-10-25T11:10:00.000Z",
    "detected_at": "2026-10-25T12:30:33.496Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-745e2a940a5e",
     "display_name": "Fleetwood Town — Arsenal",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-27T20:00:00.000Z",
     "url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fleetwood Town 0-4 Arsenal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-25T11:10:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T11:10:00.000Z",
     "detected_at": "2026-10-25T12:30:33.496Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Fleetwood Town 0-4 Arsenal",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-4",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fleetwood Town 0-4 Arsenal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fleetwood Town 1-1 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "76146f6b0c73a59de20b4222d7413b314be112af3ec89b227a0ef0436b5ffacb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Arsenal",
      "decimal_odds": "1.0988",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T13:22:57.627Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/arsenal/league-cup/preview/fleetwood-vs-arsenal-prediction-team-news-lineups_607669.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fleetwood Town 0-4 Arsenal"
   }
  },
  {
   "record_id": "n-adcebb51caf478bd19ba5c50",
   "url": "/authors/ben-knapton/picks/4/#pick-n-adcebb51caf478bd19ba5c50",
   "match": "Liverpool v Arsenal",
   "match_url": "/football/matches/liverpool-vs-arsenal-2026-11-01/",
   "kickoff": "2026-11-01T16:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 44.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Liverpool 1-1 Arsenal",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T16:36:00.000Z",
   "recorded_at": "2026-10-30T20:10:21.262Z",
   "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-adcebb51caf478bd19ba5c50",
    "quote_text": "We say: Liverpool 1-1 Arsenal",
    "fragment_from": 5408,
    "fragment_to": 5437,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/liverpool/preview/liverpool-vs-arsenal-prediction-team-news-lineups_608057.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b6df2e07e76cda9fc3c003f775e855581b44b553581e387fa85b1fc20f9abb1e",
     "material_removed": false
    },
    "published_at": "2026-10-30T16:36:00.000Z",
    "detected_at": "2026-10-30T20:10:21.262Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f14362e6c2a0",
     "display_name": "Liverpool — Arsenal",
     "competition_name": "Premier League",
     "starts_at": "2026-11-01T16:30:00.000Z",
     "url": "/football/matches/liverpool-vs-arsenal-2026-11-01/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Liverpool 1-1 Arsenal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T16:36:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T16:36:00.000Z",
     "detected_at": "2026-10-30T20:10:21.262Z",
     "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": "Liverpool 1-1 Arsenal",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Liverpool 1-1 Arsenal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Liverpool 0-1 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "b66d0273348de24e298ab6cf1f0a3d3e67eae9587958df3b5755013c3a59f333",
      "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-11-01T16:30:50.263Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "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/liverpool/preview/liverpool-vs-arsenal-prediction-team-news-lineups_608057.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Liverpool 1-1 Arsenal"
   }
  },
  {
   "record_id": "n-03c7a682a03c25d80c0dd30d",
   "url": "/authors/ben-knapton/picks/4/#pick-n-03c7a682a03c25d80c0dd30d",
   "match": "Tottenham Hotspur v Crystal Palace",
   "match_url": "/football/matches/tottenham-hotspur-vs-crystal-palace-2026-10-31/",
   "kickoff": "2026-10-31T17:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 15.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Tottenham Hotspur 3-1 Crystal Palace",
   "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-31T00:00:00.000Z",
   "recorded_at": "2026-10-31T02:10:27.474Z",
   "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.5714",
    "result": "Won",
    "points_hundredths": 5714,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-03c7a682a03c25d80c0dd30d",
    "quote_text": "We say: Tottenham Hotspur 3-1 Crystal Palace",
    "fragment_from": 6382,
    "fragment_to": 6426,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/three-goals-at-stamford-bridge-saturdays-premier-league-predictions_608054.html",
     "display_name": null,
     "speaker": "Ben Knapton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bb6ad6dca54cf3f22fea2711474e7ffb9e24a30d707db16f6861cd26aa981d39",
     "material_removed": false
    },
    "published_at": "2026-10-31T00:00:00.000Z",
    "detected_at": "2026-10-31T02:10:27.474Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-697bb66e358c",
     "display_name": "Tottenham Hotspur — Crystal Palace",
     "competition_name": "Premier League",
     "starts_at": "2026-10-31T17:30:00.000Z",
     "url": "/football/matches/tottenham-hotspur-vs-crystal-palace-2026-10-31/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Tottenham Hotspur 3-1 Crystal Palace",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-31T00:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T00:00:00.000Z",
     "detected_at": "2026-10-31T02:10:27.474Z",
     "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": "Tottenham Hotspur 3-1 Crystal Palace",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Tottenham Hotspur 3-1 Crystal Palace"
    },
    "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 Tottenham Hotspur 2-0 Crystal Palace."
    },
    "settlements": [
     {
      "operation_id": "70fa9ee7725acada334a1a3133c1545137db0ba6c79a0835c9061e71ce60d18a",
      "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": "Tottenham Hotspur",
      "decimal_odds": "1.5714",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5714,
      "executed_at": "2026-10-31T07:27:30.099Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ben Knapton",
     "publisher": "Sports Mole",
     "forecaster": "Ben Knapton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/man-utd/premier-league-predictions/feature/three-goals-at-stamford-bridge-saturdays-premier-league-predictions_608054.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Tottenham Hotspur 3-1 Crystal Palace"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 75,
  "pages": 5,
  "page_urls": [
   "/authors/ben-knapton/",
   "/authors/ben-knapton/picks/2/",
   "/authors/ben-knapton/picks/3/",
   "/authors/ben-knapton/picks/4/",
   "/authors/ben-knapton/picks/5/"
  ],
  "groups": {
   "settled": 0,
   "pending": 0,
   "excluded": 75
  },
  "continuation": "by_time",
  "page": 4,
  "first": 41,
  "last": 60,
  "author_url": "/authors/ben-knapton/",
  "current": false
 },
 "entity_id": "history:/authors/ben-knapton/picks/4/",
 "source_revision": 24
}
