{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/joshua-cole/picks/7/",
 "canonical": "/authors/joshua-cole/picks/7/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joshua Cole — football predictions, page 7 of 10",
 "description": "Predictions 101–120 of 164 by Joshua Cole, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 7 of 10 of the predictions by Joshua Cole recorded by Forecast Record: predictions 101–120 of 164 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": "164",
  "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-07T17:54:40.336Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "ccfc38aff8766ee1fdb723c5036019e347453fd74338e34f0f60bd9efa00636e",
 "dependency_group": "author:e-47aa46371e213875f5de5053",
 "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/joshua-cole/picks/7/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-47aa46371e213875f5de5053",
  "public_name": "Joshua Cole",
  "tracker_number": 968,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-25",
   "until": "2026-11-06"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-bcd79506e10d2ab044696aa7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – No at 2.13 (119/100",
   "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-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-dd986f6e63f016a794f0c479",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: Celje 0-2 RB Salzburg at 10.00 (9/1)",
   "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-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-bcc277f9684a9fbca517c8e8",
   "url": "/authors/joshua-cole/picks/7/#pick-n-bcc277f9684a9fbca517c8e8",
   "match": "Flamengo v Estudiantes de La Plata",
   "match_url": "/football/matches/flamengo-vs-estudiantes-de-la-plata-2026-10-23/",
   "kickoff": "2026-10-23T00:30:00.000Z",
   "competition": "Copa Libertadores",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Flamengo 1-0 Estudiantes de La Plata",
   "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-21T11:40:40.000Z",
   "recorded_at": "2026-10-21T12:09:57.947Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-bcc277f9684a9fbca517c8e8",
    "quote_text": "We say: Flamengo 1-0 Estudiantes",
    "fragment_from": 4921,
    "fragment_to": 4953,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/flamengo/copa-libertadores/preview/flamengo-vs-estudiantes-prediction-team-news-lineups_607359.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dfa09fed829f1b49f08681e2653fc9ed5fdc719aeee969e4a49bcdccf24c89a2",
     "material_removed": false
    },
    "published_at": "2026-10-21T11:40:40.000Z",
    "detected_at": "2026-10-21T12:09:57.947Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-de04821d4496",
     "display_name": "Flamengo — Estudiantes de La Plata",
     "competition_name": "Copa Libertadores",
     "starts_at": "2026-10-23T00:30:00.000Z",
     "url": "/football/matches/flamengo-vs-estudiantes-de-la-plata-2026-10-23/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Flamengo 1-0 Estudiantes de La Plata",
    "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-21T11:40:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T11:40:40.000Z",
     "detected_at": "2026-10-21T12:09:57.947Z",
     "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": "Flamengo 1-0 Estudiantes de La Plata",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Flamengo 1-0 Estudiantes de La Plata"
    },
    "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 Flamengo 0-0 Estudiantes de La Plata."
    },
    "settlements": [
     {
      "operation_id": "32f3ddb632ab3558975e179adbc8344c49dc6aa4a5ecebaa719b3e787dbc5fb5",
      "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": "Flamengo",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/flamengo/copa-libertadores/preview/flamengo-vs-estudiantes-prediction-team-news-lineups_607359.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Flamengo 1-0 Estudiantes de La Plata"
   }
  },
  {
   "record_id": "n-199838adfe7133b4cd821971",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals at 1.59 (59/10 | Likelihood: High",
   "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-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-46fe6c286ef7aa6b7163e0aa",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Toulouse to win at 1.62 (31/50) | Likelihood: High",
   "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-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-c3eec9a10bbdf2138c453e27",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: Toulouse 2-1 Troyes at 8.00 (7/1) | Likelihood: Low",
   "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-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-d55f1576cc7c3010c579b94f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – Yes at 1.68 (17/25) | Likelihood: Medium",
   "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-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-d76c723288e3aa94c8082962",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d76c723288e3aa94c8082962",
   "match": "Eyüpspor v Kasımpaşa",
   "match_url": "/football/matches/eyupspor-vs-kas-mpasa-2026-10-24/",
   "kickoff": "2026-10-24T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Eyüpspor 1-2 Kasımpaşa",
   "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-22T19:22:34.000Z",
   "recorded_at": "2026-10-22T20:10:09.940Z",
   "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.5550",
    "result": "Won",
    "points_hundredths": 5550,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-d76c723288e3aa94c8082962",
    "quote_text": "We say: Eyupspor 1-2 Kasimpasa",
    "fragment_from": 3785,
    "fragment_to": 3815,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-kasimpasa-prediction-team-news-lineups_607486.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b9a89e36e85627eb37d353007ced0f49d5fffa054e530bb0cbc24b62989302c",
     "material_removed": false
    },
    "published_at": "2026-10-22T19:22:34.000Z",
    "detected_at": "2026-10-22T20:10:09.940Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-26efbd876a0d",
     "display_name": "Eyüpspor — Kasımpaşa",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-24T10:30:00.000Z",
     "url": "/football/matches/eyupspor-vs-kas-mpasa-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Eyüpspor 1-2 Kasımpaşa",
    "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-22T19:22:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T19:22:34.000Z",
     "detected_at": "2026-10-22T20:10:09.940Z",
     "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": "Eyüpspor 1-2 Kasımpaşa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Eyüpspor 1-2 Kasımpaşa"
    },
    "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 Eyüpspor 0-1 Kasımpaşa."
    },
    "settlements": [
     {
      "operation_id": "c1464e9d913b6b840816e16ab1b26199fe3da867af3cf3000edcb2e7925cb9f3",
      "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": "Kasımpaşa",
      "decimal_odds": "1.5550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5550,
      "executed_at": "2026-10-24T00:48:16.231Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/eyupspor/preview/eyupspor-vs-kasimpasa-prediction-team-news-lineups_607486.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Eyüpspor 1-2 Kasımpaşa"
   }
  },
  {
   "record_id": "n-069e75c7e73b48888fc80792",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Gaziantep 1-1 BB Erzurumspor",
   "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-22T19:21:14.000Z",
   "recorded_at": "2026-10-22T20:10:10.614Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-42e1b7f86e5b3edde3cffcf9",
   "url": "/authors/joshua-cole/picks/7/#pick-n-42e1b7f86e5b3edde3cffcf9",
   "match": "Samsunspor v Amed SK",
   "match_url": "/football/matches/samsunspor-vs-amed-sk-2026-10-24/",
   "kickoff": "2026-10-24T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 42.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Samsunspor 1-2 Amed SK",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T20:08:57.000Z",
   "recorded_at": "2026-10-22T21:10:08.361Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.3000",
    "result": "Won",
    "points_hundredths": 13000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-42e1b7f86e5b3edde3cffcf9",
    "quote_text": "We say: Samsunspor 1-2 Amed SK",
    "fragment_from": 4529,
    "fragment_to": 4559,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-amed-sk-prediction-team-news-lineups_607488.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "de5ad051ca9e91289f66fb8490f71829f83abe9fdb1bcfd9238ac1d02e350be3",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:08:57.000Z",
    "detected_at": "2026-10-22T21:10:08.361Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cdefbb3cf0ed",
     "display_name": "Samsunspor — Amed SK",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-24T16:00:00.000Z",
     "url": "/football/matches/samsunspor-vs-amed-sk-2026-10-24/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Samsunspor 1-2 Amed SK",
    "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-22T20:08:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:08:57.000Z",
     "detected_at": "2026-10-22T21:10:08.361Z",
     "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": "Samsunspor 1-2 Amed SK",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Samsunspor 1-2 Amed SK"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Samsunspor 1-2 Amed SK."
    },
    "settlements": [
     {
      "operation_id": "b224a6c658defd3d0ced3dfba7caadd2ec9a2fa78f37da3a3c228be06938c7e6",
      "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": "Amed SK",
      "decimal_odds": "2.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13000,
      "executed_at": "2026-10-24T00:47:53.862Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/samsunspor/preview/samsunspor-vs-amed-sk-prediction-team-news-lineups_607488.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Samsunspor 1-2 Amed SK"
   }
  },
  {
   "record_id": "n-6a721f7dd33c37947a446d05",
   "url": "/authors/joshua-cole/picks/7/#pick-n-6a721f7dd33c37947a446d05",
   "match": "Konyaspor v Gençlerbirliği",
   "match_url": "/football/matches/konyaspor-vs-genclerbirligi-2026-10-25/",
   "kickoff": "2026-10-25T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Konyaspor 1-0 Gençlerbirliği",
   "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-23T18:44:40.000Z",
   "recorded_at": "2026-10-23T19:10:15.365Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.8500",
    "result": "Won",
    "points_hundredths": 8500,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-6a721f7dd33c37947a446d05",
    "quote_text": "We say: Konyaspor 1-0 Genclerbirligi",
    "fragment_from": 4635,
    "fragment_to": 4671,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/konyaspor/preview/konyaspor-vs-genclerbirligi-prediction-team-news-lineups_607589.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "37ed3f37a90dde643ec74349d0899a46cc018553febf5b0e3b9098211413724d",
     "material_removed": false
    },
    "published_at": "2026-10-23T18:44:40.000Z",
    "detected_at": "2026-10-23T19:10:15.365Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-11b7de63cf40",
     "display_name": "Konyaspor — Gençlerbirliği",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-25T13:00:00.000Z",
     "url": "/football/matches/konyaspor-vs-genclerbirligi-2026-10-25/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Konyaspor 1-0 Gençlerbirliği",
    "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-23T18:44:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T18:44:40.000Z",
     "detected_at": "2026-10-23T19:10:15.365Z",
     "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": "Konyaspor 1-0 Gençlerbirliği",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Konyaspor 1-0 Gençlerbirliği"
    },
    "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 Konyaspor 2-0 Gençlerbirliği."
    },
    "settlements": [
     {
      "operation_id": "976b4b2a0a287b46399b36adc8863ae2017ec05db5dcd176e09da03082bef83e",
      "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": "Konyaspor",
      "decimal_odds": "1.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8500,
      "executed_at": "2026-10-25T12:42:32.422Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/konyaspor/preview/konyaspor-vs-genclerbirligi-prediction-team-news-lineups_607589.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Konyaspor 1-0 Gençlerbirliği"
   }
  },
  {
   "record_id": "n-9c13d36aa44677bb84f7631f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Goztepe SK 2-2 Çorum Belediyespor",
   "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-23T19:27:46.000Z",
   "recorded_at": "2026-10-23T20:09:59.482Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-cdeca89bda8dcc3f2c2d0e9f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Caykur Rizespor 1-2 Trabzonspor",
   "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-24T09:39:41.000Z",
   "recorded_at": "2026-10-24T10:10:04.304Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-672d135f80b4227c2babcda8",
   "url": "/authors/joshua-cole/picks/7/#pick-n-672d135f80b4227c2babcda8",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.5300",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-672d135f80b4227c2babcda8",
    "quote_text": "Both teams to score at 1.50 (1/2)",
    "fragment_from": 5178,
    "fragment_to": 5211,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-11-07T11:57:21.644Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.5300",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.5",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "38ed529d1b7a2ab157920340df8550aa07a2164caad0fb303b581f5cdb89d590",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T11:57:20.733Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "786e0ee3f64e978b21cafc9dbc10637eff65ec56a252227be3890de149163778",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T11:57:21.644Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "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://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-919a663368fe3d2486a8d5a0",
   "url": "/authors/joshua-cole/picks/7/#pick-n-919a663368fe3d2486a8d5a0",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.33",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.33",
   "settled_price": "1.3700",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.3700",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-919a663368fe3d2486a8d5a0",
    "quote_text": "Over 2.5 goals at 1.33 (1/3)",
    "fragment_from": 5079,
    "fragment_to": 5107,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-10-26T15:39:01.100Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.33",
     "our_snapshot": "1.3700",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "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": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.33",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.33"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "939a412c33f32ed252f575bf2dedd74dcd7449c196000b1d359e0c79200e15b4",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.33",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-26T15:38:59.972Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "db4da577e20e7f31c96fd72bb1a9ebc78ff073fa1e709b552e9bff97e12e0ee3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.3700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-26T15:39:01.100Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "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://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-a94efabcedbaf7265e4988d2",
   "url": "/authors/joshua-cole/picks/7/#pick-n-a94efabcedbaf7265e4988d2",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais at 9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a94efabcedbaf7265e4988d2",
    "quote_text": "Correct score: PSG 2-1 Lyon at 9.00 (8/1)",
    "fragment_from": 5234,
    "fragment_to": 5275,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Paris Saint-Germain 2-1 Olympique Lyonnais",
    "odds_set": {
     "by_author": "9",
     "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-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
     "author_odds": "9",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais at 9"
    },
    "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 Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "d82c2b936c1054b87725a2e0212ead865efc8dd2a9a4762b6ca352c60618bb8b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8bf67158949919cec663a82657935ab56b045fcf268fd4e20fbe0a66928c3d16",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
      "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": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "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://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain 2-1 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-d81a72be627d43d34063c124",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d81a72be627d43d34063c124",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Paris Saint-Germain at 1.36",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4300,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.36",
   "settled_price": "1.4300",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4300",
    "result": "Won",
    "points_hundredths": 4300,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d81a72be627d43d34063c124",
    "quote_text": "PSG to win at 1.36 (9/25)",
    "fragment_from": 5130,
    "fragment_to": 5155,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-10-26T15:39:01.918Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Paris Saint-Germain",
    "odds_set": {
     "by_author": "1.36",
     "our_snapshot": "1.4300",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4300,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "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": "Paris Saint-Germain",
     "author_odds": "1.36",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Paris Saint-Germain at 1.36"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "63beedc51084e0e76d708e422400e0af163d3acd22e7eb20481b3e377874123d",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Paris Saint-Germain",
      "decimal_odds": "1.36",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3600,
      "executed_at": "2026-10-26T15:39:01.210Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "cf3bdb7b1bed2e15229a202c2f42d84d7cf4e2378a1241a224c2c0a20b38221e",
      "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": "Paris Saint-Germain",
      "decimal_odds": "1.4300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4300,
      "executed_at": "2026-10-26T15:39:01.918Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "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://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain to win"
   }
  },
  {
   "record_id": "n-1727a5f4029c4b64ff66ddc9",
   "url": "/authors/joshua-cole/picks/7/#pick-n-1727a5f4029c4b64ff66ddc9",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 15.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 3-0 Le Havre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-1727a5f4029c4b64ff66ddc9",
    "quote_text": "We say: Marseille 3-0 Le Havre",
    "fragment_from": 3694,
    "fragment_to": 3724,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc893a766dbfe964c0da3b4c6195630e94ed51e236d3135d88c6f6ec63f4a679",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:00:00.000Z",
    "detected_at": "2026-10-25T00:26:09.229Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 3-0 Le Havre",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:00:00.000Z",
     "detected_at": "2026-10-25T00:26:09.229Z",
     "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 3-0 Le Havre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 3-0 Le Havre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "3f708f558f96dee4843977fad7a35727e6d368cefc1a505e178ac48706638778",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Olympique de Marseille 3-0 Le Havre",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ed516e8fcd4b26f3d1864ee1b15f86f25903cf2bf6da29b123c103477acde5d7",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 3-0 Le Havre"
   }
  },
  {
   "record_id": "n-5911ffdfb9bdc46a194ce02b",
   "url": "/authors/joshua-cole/picks/7/#pick-n-5911ffdfb9bdc46a194ce02b",
   "match": "Monaco v Lille",
   "match_url": "/football/matches/monaco-vs-lille-2026-10-25/",
   "kickoff": "2026-10-25T14:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 1-1 Lille",
   "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-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.9800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-5911ffdfb9bdc46a194ce02b",
    "quote_text": "We say: Monaco 1-1 Lille",
    "fragment_from": 852,
    "fragment_to": 876,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc893a766dbfe964c0da3b4c6195630e94ed51e236d3135d88c6f6ec63f4a679",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:00:00.000Z",
    "detected_at": "2026-10-25T00:26:09.229Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4e7825289b07",
     "display_name": "Monaco — Lille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T14:00:00.000Z",
     "url": "/football/matches/monaco-vs-lille-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 1-1 Lille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:00:00.000Z",
     "detected_at": "2026-10-25T00:26:09.229Z",
     "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": "Monaco 1-1 Lille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 1-1 Lille"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Monaco 1-1 Lille."
    },
    "settlements": [
     {
      "operation_id": "a99841b03a0b94fc45c93a7cce8944ddb87304dcec1a31bf8de7a29221f5c185",
      "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.4900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24900,
      "executed_at": "2026-10-25T16:14:09.324Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "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/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 1-1 Lille"
   }
  },
  {
   "record_id": "n-6321aa3ee00a5648fd5bfc0b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Auxerre 1-0 Le Mans",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 164,
  "pages": 10,
  "page_urls": [
   "/authors/joshua-cole/",
   "/authors/joshua-cole/picks/2/",
   "/authors/joshua-cole/picks/3/",
   "/authors/joshua-cole/picks/4/",
   "/authors/joshua-cole/picks/5/",
   "/authors/joshua-cole/picks/6/",
   "/authors/joshua-cole/picks/7/",
   "/authors/joshua-cole/picks/8/",
   "/authors/joshua-cole/picks/9/",
   "/authors/joshua-cole/picks/10/"
  ],
  "groups": {
   "settled": 37,
   "pending": 0,
   "excluded": 127
  },
  "continuation": "by_time",
  "page": 7,
  "first": 101,
  "last": 120,
  "author_url": "/authors/joshua-cole/",
  "current": false
 },
 "entity_id": "history:/authors/joshua-cole/picks/7/",
 "source_revision": 26
}
