{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/matthew-cooper/picks/2/",
 "canonical": "/authors/matthew-cooper/picks/2/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Matthew Cooper — football predictions, page 2 of 3",
 "description": "Predictions 1–20 of 34 by Matthew Cooper, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 2 of 3 of the predictions by Matthew Cooper recorded by Forecast Record: predictions 1–20 of 34 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": "34",
  "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:09:22.681Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "f0ce2137b8efece3b7f766ada7ca4f477bbf63145ccede5d44767c3b2a7f199a",
 "dependency_group": "author:e-bafc952d44e2ffd177429614",
 "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/matthew-cooper/picks/2/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-bafc952d44e2ffd177429614",
  "public_name": "Matthew Cooper",
  "tracker_number": 1322,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-abea13b621d9433484823157",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-abea13b621d9433484823157",
   "match": "Australia v Brazil",
   "match_url": "/football/matches/australia-vs-brazil-2026-09-29/",
   "kickoff": "2026-09-29T10:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 45.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Australia 1-2 Brazil",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "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-09-27T12:07:46.000Z",
   "recorded_at": "2026-09-27T13:02:03.852Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-abea13b621d9433484823157",
    "quote_text": "We say: Australia 1-2 Brazil",
    "fragment_from": 3165,
    "fragment_to": 3193,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/australia/preview/australia-vs-brazil-prediction-team-news-lineups_605870.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e8ad0e9f0ddfd1d8cf9beef9c27127af116921898c46023af1b9709dda1f00a3",
     "material_removed": false
    },
    "published_at": "2026-09-27T12:07:46.000Z",
    "detected_at": "2026-09-27T13:02:03.852Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-df561662c1db",
     "display_name": "Australia — Brazil",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-29T10:00:00.000Z",
     "url": "/football/matches/australia-vs-brazil-2026-09-29/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Australia 1-2 Brazil",
    "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-09-27T12:07:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-27T12:07:46.000Z",
     "detected_at": "2026-09-27T13:02:03.852Z",
     "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": "Australia 1-2 Brazil",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Australia 1-2 Brazil"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Australia 2-4 Brazil."
    },
    "settlements": [
     {
      "operation_id": "70fff8bad107a4c5598ddf0335feeb7d3504ae3c44032c6e3e9bd662febb4d1f",
      "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": "Brazil",
      "decimal_odds": "1.2747",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2747,
      "executed_at": "2026-09-28T01:07:29.165Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/australia/preview/australia-vs-brazil-prediction-team-news-lineups_605870.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Australia 1-2 Brazil"
   }
  },
  {
   "record_id": "n-d2447cd6f819592280760926",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-d2447cd6f819592280760926",
   "match": "Reading v Bradford City",
   "match_url": "/football/matches/reading-vs-bradford-city-2026-10-03/",
   "kickoff": "2026-10-03T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Reading 1-1 Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-01T12:17:05.000Z",
   "recorded_at": "2026-10-01T13:04:39.867Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-d2447cd6f819592280760926",
    "quote_text": "We say: Reading 1-1 Bradford City",
    "fragment_from": 3061,
    "fragment_to": 3094,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-bradford-prediction-team-news-lineups_606067.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c1b06c717c76669d36f1908e6eea8445bce909634b1f5ee3082be84be8af01dc",
     "material_removed": false
    },
    "published_at": "2026-10-01T12:17:05.000Z",
    "detected_at": "2026-10-01T13:04:39.867Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-396768bd82dd",
     "display_name": "Reading — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-03T14:00:00.000Z",
     "url": "/football/matches/reading-vs-bradford-city-2026-10-03/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Reading 1-1 Bradford 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": "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-01T12:17:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-01T12:17:05.000Z",
     "detected_at": "2026-10-01T13:04:39.867Z",
     "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": "Reading 1-1 Bradford City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Reading 1-1 Bradford City"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Reading 1-1 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "c2cf51f6e99018b78333f588d7f9831a719ffc008ccb8780276d0568414128ab",
      "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.3",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-01T20:38:04.635Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/reading/preview/reading-vs-bradford-prediction-team-news-lineups_606067.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading 1-1 Bradford City"
   }
  },
  {
   "record_id": "n-f8a5d471c8b42c6028f8550f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Chesterfield 1-1 Tranmere Rovers",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T13:03:09.000Z",
   "recorded_at": "2026-10-01T14:09:54.524Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-3787233cf54da50016f2ca3c",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3787233cf54da50016f2ca3c",
   "match": "Leicester City v Peterborough United",
   "match_url": "/football/matches/leicester-city-vs-peterborough-united-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Leicester City 2-1 Peterborough United",
   "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-08T11:54:42.000Z",
   "recorded_at": "2026-10-08T12:11:35.064Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-3787233cf54da50016f2ca3c",
    "quote_text": "We say: Leicester City 2-1 Peterborough United",
    "fragment_from": 3164,
    "fragment_to": 3210,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/leicester-city/preview/leicester-vs-peterborough-prediction-team-news-lineups_606462.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9003a0248621e5d04e32a4b594666e4ad23a158e738a5fcfe1175462ea35d6a5",
     "material_removed": false
    },
    "published_at": "2026-10-08T11:54:42.000Z",
    "detected_at": "2026-10-08T12:11:35.064Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a1074db5312a",
     "display_name": "Leicester City — Peterborough United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/leicester-city-vs-peterborough-united-2026-10-10/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Leicester City 2-1 Peterborough United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-08T11:54:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T11:54:42.000Z",
     "detected_at": "2026-10-08T12:11:35.064Z",
     "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": "Leicester City 2-1 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Leicester City 2-1 Peterborough United"
    },
    "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 Leicester City 1-3 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "ade252ca3e742c4c3968e8f551014228ff43ed3b44a3bb4d30a7c9eff925a6db",
      "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": "Leicester City",
      "decimal_odds": "1.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:19:41.940Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/leicester-city/preview/leicester-vs-peterborough-prediction-team-news-lineups_606462.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Leicester City 2-1 Peterborough United"
   }
  },
  {
   "record_id": "n-45c7d4f6c7c031ce78cd2ba0",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-45c7d4f6c7c031ce78cd2ba0",
   "match": "Cambridge United v Blackpool",
   "match_url": "/football/matches/cambridge-united-vs-blackpool-2026-10-10/",
   "kickoff": "2026-10-10T14:15:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 50.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cambridge United 2-1 Blackpool",
   "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-08T11:25:12.000Z",
   "recorded_at": "2026-10-08T12:11:39.724Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-45c7d4f6c7c031ce78cd2ba0",
    "quote_text": "We say: Cambridge United 2-1 Blackpool",
    "fragment_from": 3116,
    "fragment_to": 3154,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-blackpool-prediction-team-news-lineups_606459.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7f14db24c39047e61430920e56118e1debfe710bd3feddf88517f0f58f347aa5",
     "material_removed": false
    },
    "published_at": "2026-10-08T11:25:12.000Z",
    "detected_at": "2026-10-08T12:11:39.724Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-67bd5aabf95e",
     "display_name": "Cambridge United — Blackpool",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:15:00.000Z",
     "url": "/football/matches/cambridge-united-vs-blackpool-2026-10-10/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cambridge United 2-1 Blackpool",
    "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-08T11:25:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T11:25:12.000Z",
     "detected_at": "2026-10-08T12:11:39.724Z",
     "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": "Cambridge United 2-1 Blackpool",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cambridge United 2-1 Blackpool"
    },
    "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 Cambridge United 1-0 Blackpool."
    },
    "settlements": [
     {
      "operation_id": "7498c6db9a9848abe3d60b5c2cdf9d4657c0f434ce2f963f6dec644e7dad23ff",
      "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": "Cambridge United",
      "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-22T11:24:31.402Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/cambridge-united/preview/cambridge-vs-blackpool-prediction-team-news-lineups_606459.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United 2-1 Blackpool"
   }
  },
  {
   "record_id": "n-e65c142c6d09fc8380c70870",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-e65c142c6d09fc8380c70870",
   "match": "Mansfield Town v Bromley",
   "match_url": "/football/matches/mansfield-town-vs-bromley-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Mansfield Town 1-1 Bromley",
   "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-08T12:53:09.000Z",
   "recorded_at": "2026-10-08T13:07:02.384Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-e65c142c6d09fc8380c70870",
    "quote_text": "We say: Mansfield Town 1-1 Bromley",
    "fragment_from": 2827,
    "fragment_to": 2861,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-bromley-prediction-team-news-lineups_606468.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2bec0cbb5cd777ddec42fa7a7d9a39ceba4632d77340205f8b4fc84d43249b23",
     "material_removed": false
    },
    "published_at": "2026-10-08T12:53:09.000Z",
    "detected_at": "2026-10-08T13:07:02.384Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a4e4a2b5639f",
     "display_name": "Mansfield Town — Bromley",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/mansfield-town-vs-bromley-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Mansfield Town 1-1 Bromley",
    "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-08T12:53:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T12:53:09.000Z",
     "detected_at": "2026-10-08T13:07:02.384Z",
     "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": "Mansfield Town 1-1 Bromley",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Mansfield Town 1-1 Bromley"
    },
    "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 Mansfield Town 2-1 Bromley."
    },
    "settlements": [
     {
      "operation_id": "408e006ed18d34606f4e8d4c3e50e9e7f873589cd25bffe5bda34219afcc037c",
      "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.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:36:52.806Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/mansfield-town/preview/mansfield-vs-bromley-prediction-team-news-lineups_606468.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Mansfield Town 1-1 Bromley"
   }
  },
  {
   "record_id": "n-13da12d8784465a7df50e8cf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: MK Dons 1-2 Reading",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T13:30:02.000Z",
   "recorded_at": "2026-10-08T14:09:17.112Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-3fcce35cb883d2b25f41b139",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3fcce35cb883d2b25f41b139",
   "match": "Olympique de Marseille v Olympiakos Piraeus",
   "match_url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 49.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympiakos Piraeus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T14:58:27.000Z",
   "recorded_at": "2026-10-13T17:09:49.316Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-3fcce35cb883d2b25f41b139",
    "quote_text": "we are backing them to pick up all three points",
    "fragment_from": 3512,
    "fragment_to": 3559,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
     "material_removed": false
    },
    "published_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-50cbf0117aea",
     "display_name": "Olympique de Marseille — Olympiakos Piraeus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympiakos Piraeus",
    "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-13T14:58:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T14:58:27.000Z",
     "detected_at": "2026-10-13T17:09:49.316Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Olympiakos Piraeus",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympiakos Piraeus"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique de Marseille 0-1 Olympiakos Piraeus."
    },
    "settlements": [
     {
      "operation_id": "0740c8081be22b2a057eba105c2c277858b99486907f5a8036a7de73c6375ee5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Olympiakos Piraeus",
      "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": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympiakos Piraeus to win"
   }
  },
  {
   "record_id": "n-978d24fcdd5fef55870f7287",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-978d24fcdd5fef55870f7287",
   "match": "Olympique de Marseille v Olympiakos Piraeus",
   "match_url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 1-2 Olympiakos Piraeus",
   "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-13T14:58:27.000Z",
   "recorded_at": "2026-10-13T17:09:49.316Z",
   "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
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-978d24fcdd5fef55870f7287",
    "quote_text": "We say: Marseille 1-2 Olympiacos",
    "fragment_from": 3351,
    "fragment_to": 3383,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
     "material_removed": false
    },
    "published_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-50cbf0117aea",
     "display_name": "Olympique de Marseille — Olympiakos Piraeus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 1-2 Olympiakos Piraeus",
    "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-13T14:58:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T14:58:27.000Z",
     "detected_at": "2026-10-13T17:09:49.316Z",
     "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 de Marseille 1-2 Olympiakos Piraeus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 1-2 Olympiakos Piraeus"
    },
    "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 Olympique de Marseille 0-1 Olympiakos Piraeus."
    },
    "settlements": [
     {
      "operation_id": "3614051e42bfc189681e3a368a64bee09968e71e1261773d933d7e99c9995449",
      "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": "Olympiakos Piraeus",
      "decimal_odds": "2.9500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 19500,
      "executed_at": "2026-10-27T02:24:52.605Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 1-2 Olympiakos Piraeus"
   }
  },
  {
   "record_id": "n-0b205e4ca6e09fd3e223e881",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-0b205e4ca6e09fd3e223e881",
   "match": "Bradford City v Stevenage",
   "match_url": "/football/matches/bradford-city-vs-stevenage-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bradford City 1-0 Stevenage",
   "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-15T11:32:16.000Z",
   "recorded_at": "2026-10-15T12:09:50.493Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-0b205e4ca6e09fd3e223e881",
    "quote_text": "We say: Bradford City 1-0 Stevenage",
    "fragment_from": 3273,
    "fragment_to": 3308,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ee3fa2f4d7eefd7cc570b03ae0155933a503d3b356fce8c0b76e4de02036fc81",
     "material_removed": false
    },
    "published_at": "2026-10-15T11:32:16.000Z",
    "detected_at": "2026-10-15T12:09:50.493Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-36215012697f",
     "display_name": "Bradford City — Stevenage",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/bradford-city-vs-stevenage-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bradford City 1-0 Stevenage",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T11:32:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T11:32:16.000Z",
     "detected_at": "2026-10-15T12:09:50.493Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Bradford City 1-0 Stevenage",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bradford City 1-0 Stevenage"
    },
    "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 Bradford City 2-0 Stevenage."
    },
    "settlements": [
     {
      "operation_id": "d4f32f0f5bb0d09954fb7b537b30d287c18c36bc8d9aa75aae345efb1b25d9bf",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Bradford City",
      "decimal_odds": "1.9300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9300,
      "executed_at": "2026-10-22T11:06:19.927Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City 1-0 Stevenage"
   }
  },
  {
   "record_id": "n-b1140a896bf7836190ad14f5",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-b1140a896bf7836190ad14f5",
   "match": "Wycombe Wanderers v Notts County",
   "match_url": "/football/matches/wycombe-wanderers-vs-notts-county-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wycombe Wanderers 2-0 Notts County",
   "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-15T12:38:24.000Z",
   "recorded_at": "2026-10-15T13:09:48.527Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-b1140a896bf7836190ad14f5",
    "quote_text": "We say: Wycombe Wanderers 2-0 Notts County",
    "fragment_from": 3014,
    "fragment_to": 3056,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0d1c8ecbc28fe96981059be28f1adbe170ea74d35c415b93f1121048f4f848c1",
     "material_removed": false
    },
    "published_at": "2026-10-15T12:38:24.000Z",
    "detected_at": "2026-10-15T13:09:48.527Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-341d33b6c47d",
     "display_name": "Wycombe Wanderers — Notts County",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/wycombe-wanderers-vs-notts-county-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wycombe Wanderers 2-0 Notts County",
    "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-15T12:38:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T12:38:24.000Z",
     "detected_at": "2026-10-15T13:09:48.527Z",
     "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": "Wycombe Wanderers 2-0 Notts County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wycombe Wanderers 2-0 Notts County"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Wycombe Wanderers 2-0 Notts County."
    },
    "settlements": [
     {
      "operation_id": "33edbc4dc7e5c8410da7a22ec058e4cac878a643fd87876593847c84f9625f98",
      "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": "Wycombe Wanderers",
      "decimal_odds": "1.9450",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9450,
      "executed_at": "2026-10-22T12:11:33.058Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wycombe Wanderers 2-0 Notts County"
   }
  },
  {
   "record_id": "n-6fbf40b7667f3f45d9c5dc3f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Leicester City 0-1 Doncaster Rovers",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T12:04:49.000Z",
   "recorded_at": "2026-10-15T13:09:48.923Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-5b527a2eea9046e591f2202f",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-5b527a2eea9046e591f2202f",
   "match": "Wigan Athletic v Reading",
   "match_url": "/football/matches/wigan-athletic-vs-reading-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wigan Athletic 0-2 Reading",
   "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-15T14:02:00.000Z",
   "recorded_at": "2026-10-15T15:09:55.208Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-5b527a2eea9046e591f2202f",
    "quote_text": "We say: Wigan Athletic 0-2 Reading",
    "fragment_from": 2880,
    "fragment_to": 2914,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "92dbd961cf230c96f51f6c6a0a604156a4046d45d721d528ac28ef3b0c34f3f3",
     "material_removed": false
    },
    "published_at": "2026-10-15T14:02:00.000Z",
    "detected_at": "2026-10-15T15:09:55.208Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-70923fb1e8fb",
     "display_name": "Wigan Athletic — Reading",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/wigan-athletic-vs-reading-2026-10-17/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wigan Athletic 0-2 Reading",
    "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-15T14:02:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T14:02:00.000Z",
     "detected_at": "2026-10-15T15:09:55.208Z",
     "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": "Wigan Athletic 0-2 Reading",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wigan Athletic 0-2 Reading"
    },
    "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 Wigan Athletic 1-0 Reading."
    },
    "settlements": [
     {
      "operation_id": "a6d2f16804c1179e46c985be89f4901dfca41ed77c53f35ab23bbb077dd73398",
      "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": "Reading",
      "decimal_odds": "1.9800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:34:14.565Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wigan Athletic 0-2 Reading"
   }
  },
  {
   "record_id": "n-ebb866a5d4141ac88ea61ced",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-ebb866a5d4141ac88ea61ced",
   "match": "Bromley v Leicester City",
   "match_url": "/football/matches/bromley-vs-leicester-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 56.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bromley 0-1 Leicester City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-4",
   "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-18T09:37:21.000Z",
   "recorded_at": "2026-10-18T10:09:59.624Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-ebb866a5d4141ac88ea61ced",
    "quote_text": "We say: Bromley 0-1 Leicester City",
    "fragment_from": 2986,
    "fragment_to": 3020,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3aa582700888c05c8b0809d5be3c4df646b3317fb3ddbbc5f7724a00d66d3eee",
     "material_removed": false
    },
    "published_at": "2026-10-18T09:37:21.000Z",
    "detected_at": "2026-10-18T10:09:59.624Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cadc58b43e96",
     "display_name": "Bromley — Leicester City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/bromley-vs-leicester-city-2026-10-20/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bromley 0-1 Leicester City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T09:37:21.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T09:37:21.000Z",
     "detected_at": "2026-10-18T10:09:59.624Z",
     "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": "Bromley 0-1 Leicester City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bromley 0-1 Leicester City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bromley 0-4 Leicester City."
    },
    "settlements": [
     {
      "operation_id": "456f370d2cfebbe817e7f64dde83328bbc15058b82fdc699b239b4bc359c572d",
      "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": "Leicester City",
      "decimal_odds": "1.7500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-22T12:38:27.627Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bromley 0-1 Leicester City"
   }
  },
  {
   "record_id": "n-3b894fbbd7bb58973ac4f157",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3b894fbbd7bb58973ac4f157",
   "match": "Burton Albion v Bradford City",
   "match_url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 55.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T10:15:06.000Z",
   "recorded_at": "2026-10-18T11:10:08.103Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-3b894fbbd7bb58973ac4f157",
    "quote_text": "which is why we are backing them to pick up the win",
    "fragment_from": 3212,
    "fragment_to": 3263,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
     "material_removed": false
    },
    "published_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-311960134477",
     "display_name": "Burton Albion — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Bradford 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-18T10:15:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T10:15:06.000Z",
     "detected_at": "2026-10-18T11:10:08.103Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Bradford City",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Bradford City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Burton Albion 0-0 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "a5606344165bd052f4ac48eb166f64b76190150a714fa419d70aa915451ffe73",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Bradford City",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City to win"
   }
  },
  {
   "record_id": "n-4e97ba392516a6ae1aa2ff93",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-4e97ba392516a6ae1aa2ff93",
   "match": "Burton Albion v Bradford City",
   "match_url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 55.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Burton Albion 1-2 Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T10:15:06.000Z",
   "recorded_at": "2026-10-18T11:10:08.103Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-4e97ba392516a6ae1aa2ff93",
    "quote_text": "We say: Burton Albion 1-2 Bradford City",
    "fragment_from": 3079,
    "fragment_to": 3118,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
     "material_removed": false
    },
    "published_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-311960134477",
     "display_name": "Burton Albion — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Burton Albion 1-2 Bradford 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-18T10:15:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T10:15:06.000Z",
     "detected_at": "2026-10-18T11:10:08.103Z",
     "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": "Burton Albion 1-2 Bradford City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Burton Albion 1-2 Bradford City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Burton Albion 0-0 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "12d1312207e4cc90982d5b67f278eb84fafc4d71d7d9b65de033d70b2e63a2a1",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Bradford City",
      "decimal_odds": "2.0500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:28:51.019Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Burton Albion 1-2 Bradford City"
   }
  },
  {
   "record_id": "n-9a0fe74a9ce7f5813fe47065",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-9a0fe74a9ce7f5813fe47065",
   "match": "Doncaster Rovers v Stockport County",
   "match_url": "/football/matches/doncaster-rovers-vs-stockport-county-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 54.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Doncaster Rovers 1-2 Stockport County",
   "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-18T11:58:18.000Z",
   "recorded_at": "2026-10-18T12:10:00.384Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-9a0fe74a9ce7f5813fe47065",
    "quote_text": "We say: Doncaster Rovers 1-2 Stockport County",
    "fragment_from": 2892,
    "fragment_to": 2937,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b8beaf0f52aeba1dd24fd491c43adbd31a226c4a7d9f3ac41d50a4f7cda2d78",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:58:18.000Z",
    "detected_at": "2026-10-18T12:10:00.384Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-882316de7d7d",
     "display_name": "Doncaster Rovers — Stockport County",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/doncaster-rovers-vs-stockport-county-2026-10-20/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Doncaster Rovers 1-2 Stockport County",
    "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:58:18.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:58:18.000Z",
     "detected_at": "2026-10-18T12:10:00.384Z",
     "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": "Doncaster Rovers 1-2 Stockport County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Doncaster Rovers 1-2 Stockport County"
    },
    "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 Doncaster Rovers 0-2 Stockport County."
    },
    "settlements": [
     {
      "operation_id": "2764eb81feee654490e1e2d8ed5c3efc742bd5daff68cf4f4d776b438dc9819f",
      "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": "Stockport County",
      "decimal_odds": "1.9000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9000,
      "executed_at": "2026-10-22T12:01:41.718Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Doncaster Rovers 1-2 Stockport County"
   }
  },
  {
   "record_id": "n-174dd247cc200e63343df7bb",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-174dd247cc200e63343df7bb",
   "match": "Huddersfield Town v Peterborough United",
   "match_url": "/football/matches/huddersfield-town-vs-peterborough-united-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 53.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Huddersfield Town 2-0 Peterborough United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-18T11:03:06.000Z",
   "recorded_at": "2026-10-18T13:10:02.653Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-174dd247cc200e63343df7bb",
    "quote_text": "We say: Huddersfield Town 2-0 Peterborough United",
    "fragment_from": 2947,
    "fragment_to": 2996,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0f665493ced9e300101cc95648d36fb17f2d4bc54089e9b10a57fdd293a2ab89",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:03:06.000Z",
    "detected_at": "2026-10-18T13:10:02.653Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-296e76021a8f",
     "display_name": "Huddersfield Town — Peterborough United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/huddersfield-town-vs-peterborough-united-2026-10-20/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Huddersfield Town 2-0 Peterborough United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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:03:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:03:06.000Z",
     "detected_at": "2026-10-18T13:10:02.653Z",
     "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": "Huddersfield Town 2-0 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Huddersfield Town 2-0 Peterborough United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Huddersfield Town 4-1 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "8ad82ae3db95b4d1887446705f580b55e577f0435aefabcf4949b4443cccd9cb",
      "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": "Huddersfield Town",
      "decimal_odds": "1.5450",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5450,
      "executed_at": "2026-10-22T11:08:31.442Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Huddersfield Town 2-0 Peterborough United"
   }
  },
  {
   "record_id": "n-7f5a3bff3120ea4b63381493",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-7f5a3bff3120ea4b63381493",
   "match": "Reading v Leyton Orient",
   "match_url": "/football/matches/reading-vs-leyton-orient-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Reading 1-1 Leyton Orient",
   "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-19T14:38:05.000Z",
   "recorded_at": "2026-10-19T15:10:10.447Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-7f5a3bff3120ea4b63381493",
    "quote_text": "We say: Reading 1-1 Leyton Orient",
    "fragment_from": 3043,
    "fragment_to": 3076,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
     "material_removed": false
    },
    "published_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e9a68fe36c36",
     "display_name": "Reading — Leyton Orient",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/reading-vs-leyton-orient-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Reading 1-1 Leyton Orient",
    "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-19T14:38:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T14:38:05.000Z",
     "detected_at": "2026-10-19T15:10:10.447Z",
     "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": "Reading 1-1 Leyton Orient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Reading 1-1 Leyton Orient"
    },
    "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 Reading 1-0 Leyton Orient."
    },
    "settlements": [
     {
      "operation_id": "a0ab818ffc6af2ed6e7dc2f19d9bd17143399f43d1468a804bdb047ee489111b",
      "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": "4.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:52:01.498Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading 1-1 Leyton Orient"
   }
  },
  {
   "record_id": "n-2520969a992e30bfa84bb90e",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-2520969a992e30bfa84bb90e",
   "match": "AFC Wimbledon v Wycombe Wanderers",
   "match_url": "/football/matches/afc-wimbledon-vs-wycombe-wanderers-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Wimbledon 0-2 Wycombe Wanderers",
   "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-22T11:44:29.000Z",
   "recorded_at": "2026-10-22T12:10:01.602Z",
   "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.8800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-2520969a992e30bfa84bb90e",
    "quote_text": "We say: AFC Wimbledon 0-2 Wycombe Wanderers",
    "fragment_from": 2897,
    "fragment_to": 2940,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
     "material_removed": false
    },
    "published_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c528341bc418",
     "display_name": "AFC Wimbledon — Wycombe Wanderers",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/afc-wimbledon-vs-wycombe-wanderers-2026-10-24/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Wimbledon 0-2 Wycombe Wanderers",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T11:44:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T11:44:29.000Z",
     "detected_at": "2026-10-22T12:10:01.602Z",
     "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 Wimbledon 0-2 Wycombe Wanderers",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Wimbledon 0-2 Wycombe Wanderers"
    },
    "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 AFC Wimbledon 1-1 Wycombe Wanderers."
    },
    "settlements": [
     {
      "operation_id": "ebafe5ef6fdb2e0c4e7a7b79f86fd68da356b2b7f9ee605c27218da8a2d16974",
      "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": "Wycombe Wanderers",
      "decimal_odds": "1.8800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:51:46.481Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "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/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Wimbledon 0-2 Wycombe Wanderers"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 34,
  "pages": 3,
  "page_urls": [
   "/authors/matthew-cooper/",
   "/authors/matthew-cooper/picks/2/",
   "/authors/matthew-cooper/picks/3/"
  ],
  "groups": {
   "settled": 1,
   "pending": 0,
   "excluded": 33
  },
  "continuation": "by_time",
  "page": 2,
  "first": 1,
  "last": 20,
  "author_url": "/authors/matthew-cooper/",
  "current": false
 },
 "entity_id": "history:/authors/matthew-cooper/picks/2/",
 "source_revision": 24
}
