{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/joshua-cole/picks/8/",
 "canonical": "/authors/joshua-cole/picks/8/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joshua Cole — football predictions, page 8 of 10",
 "description": "Predictions 121–140 of 164 by Joshua Cole, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 8 of 10 of the predictions by Joshua Cole recorded by Forecast Record: predictions 121–140 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": "232175ae1d58ed2eee7c67b734c95fa85675b8ab94fd06aaaea0bb5a2e159582",
 "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/8/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-a126ae1fe53dfda18d45375d",
   "url": "/authors/joshua-cole/picks/8/#pick-n-a126ae1fe53dfda18d45375d",
   "match": "Angers v Lorient",
   "match_url": "/football/matches/angers-vs-lorient-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: Angers 0-1 Lorient",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23: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": "2",
    "price": "2.4000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-a126ae1fe53dfda18d45375d",
    "quote_text": "We say: Angers 0-1 Lorient",
    "fragment_from": 2865,
    "fragment_to": 2891,
    "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-d7bdeb5c972b",
     "display_name": "Angers — Lorient",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/angers-vs-lorient-2026-10-25/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 0-1 Lorient",
    "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": "Angers 0-1 Lorient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 0-1 Lorient"
    },
    "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 Angers 0-0 Lorient."
    },
    "settlements": [
     {
      "operation_id": "94d1b55263d0ede969e43d52200c6229d2caaa87222c0eed10894e7f562c6751",
      "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": "Lorient",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-25T16:22:59.638Z",
      "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": "Angers 0-1 Lorient"
   }
  },
  {
   "record_id": "n-c67537b852bc8b4190591a03",
   "url": "/authors/joshua-cole/picks/8/#pick-n-c67537b852bc8b4190591a03",
   "match": "Stade Rennais v RC Strasbourg",
   "match_url": "/football/matches/stade-rennais-vs-rc-strasbourg-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: Stade Rennais 1-1 RC Strasbourg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-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.7600",
    "result": "Won",
    "points_hundredths": 7600,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-c67537b852bc8b4190591a03",
    "quote_text": "We say: Rennes 1-1 Strasbourg",
    "fragment_from": 2238,
    "fragment_to": 2267,
    "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-d194cb14109e",
     "display_name": "Stade Rennais — RC Strasbourg",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-rc-strasbourg-2026-10-25/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stade Rennais 1-1 RC Strasbourg",
    "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": "Stade Rennais 1-1 RC Strasbourg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stade Rennais 1-1 RC Strasbourg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stade Rennais 3-0 RC Strasbourg."
    },
    "settlements": [
     {
      "operation_id": "43a32a6cbbf234597e9f9fbb6472e71f722b323d74afd960f19f0dbde62393b0",
      "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-25T16:23:07.241Z",
      "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": "Stade Rennais 1-1 RC Strasbourg"
   }
  },
  {
   "record_id": "n-fbeb927fdcf94fc4aeb89d57",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Toulouse 3-1 Troyes",
   "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
  },
  {
   "record_id": "n-ee7e9e0e6c9535b05b3edd54",
   "url": "/authors/joshua-cole/picks/8/#pick-n-ee7e9e0e6c9535b05b3edd54",
   "match": "Beşiktaş v İstanbul Başakşehir",
   "match_url": "/football/matches/besiktas-vs-istanbul-basaksehir-2026-10-26/",
   "kickoff": "2026-10-26T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 19.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Beşiktaş 2-1 İstanbul Başakşehir",
   "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-24T09:40:00.000Z",
   "recorded_at": "2026-10-25T20:45:43.892Z",
   "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.3550",
    "result": "Won",
    "points_hundredths": 3550,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-ee7e9e0e6c9535b05b3edd54",
    "quote_text": "We say: Besiktas 2-1 Istanbul Basaksehir",
    "fragment_from": 4206,
    "fragment_to": 4246,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/besiktas/preview/besiktas-vs-istanbul-prediction-team-news-lineups_607618.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a555f699a1b129337ce0b7503c38f53e4c344b5d0625b55e92dcd91e0303455c",
     "material_removed": false
    },
    "published_at": "2026-10-24T09:40:00.000Z",
    "detected_at": "2026-10-25T20:45:43.892Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c06ee506dafc",
     "display_name": "Beşiktaş — İstanbul Başakşehir",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-26T16:00:00.000Z",
     "url": "/football/matches/besiktas-vs-istanbul-basaksehir-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Beşiktaş 2-1 İstanbul Başakşehir",
    "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-24T09:40:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T09:40:00.000Z",
     "detected_at": "2026-10-25T20:45:43.892Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Beşiktaş 2-1 İstanbul Başakşehir",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Beşiktaş 2-1 İstanbul Başakşehir"
    },
    "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 Beşiktaş 2-0 İstanbul Başakşehir."
    },
    "settlements": [
     {
      "operation_id": "9231a43eed870f81054cde9ab0b95a1b3c5273f401d8294289a72a1ad853da23",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Beşiktaş",
      "decimal_odds": "1.3550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3550,
      "executed_at": "2026-10-26T09:02:40.218Z",
      "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/besiktas/preview/besiktas-vs-istanbul-prediction-team-news-lineups_607618.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş 2-1 İstanbul Başakşehir"
   }
  },
  {
   "record_id": "n-648c11248a66ea51cd92bc6f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: FC Koln 0-1 Union Berlin",
   "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-25T20:13:47.000Z",
   "recorded_at": "2026-10-25T21:10:01.350Z",
   "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-b794c46a835f514f3fa0403a",
   "url": "/authors/joshua-cole/picks/8/#pick-n-b794c46a835f514f3fa0403a",
   "match": "Al-Nassr Riyadh v Al Kholood",
   "match_url": "/football/matches/al-nassr-riyadh-vs-al-kholood-2026-10-29/",
   "kickoff": "2026-10-29T18:00:00.000Z",
   "competition": "Saudi Pro League",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Al-Nassr Riyadh 3-0 Al Kholood",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-27T20:30:00.000Z",
   "recorded_at": "2026-10-27T21:09:56.532Z",
   "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-b794c46a835f514f3fa0403a",
    "quote_text": "We say: Al-Nassr 3-0 Al Kholood",
    "fragment_from": 3872,
    "fragment_to": 3903,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/al-nassr/preview/al-nassr-vs-al-kholood-prediction-team-news-lineups_607830.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a8ce318598502e2181f4cb0a06fd3ae931b49447bdbfae3a24a0635cf6bae1b4",
     "material_removed": false
    },
    "published_at": "2026-10-27T20:30:00.000Z",
    "detected_at": "2026-10-27T21:09:56.532Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4a1f0837d53f",
     "display_name": "Al-Nassr Riyadh — Al Kholood",
     "competition_name": "Saudi Pro League",
     "starts_at": "2026-10-29T18:00:00.000Z",
     "url": "/football/matches/al-nassr-riyadh-vs-al-kholood-2026-10-29/",
     "scoreline": "5-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Al-Nassr Riyadh 3-0 Al Kholood",
    "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-27T20:30:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T20:30:00.000Z",
     "detected_at": "2026-10-27T21:09:56.532Z",
     "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": "Al-Nassr Riyadh 3-0 Al Kholood",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Al-Nassr Riyadh 3-0 Al Kholood"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Al-Nassr Riyadh 5-3 Al Kholood."
    },
    "settlements": [
     {
      "operation_id": "1bd9e6d7ad872b6d267ff0bc5b1df8bc05403a4dfa8666248b554b8eb067af68",
      "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": "Al-Nassr Riyadh",
      "decimal_odds": "1.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2000,
      "executed_at": "2026-10-29T12:51:52.709Z",
      "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/al-nassr/preview/al-nassr-vs-al-kholood-prediction-team-news-lineups_607830.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Al-Nassr Riyadh 3-0 Al Kholood"
   }
  },
  {
   "record_id": "n-0dab93bbe8c4777a82e28b43",
   "url": "/authors/joshua-cole/picks/8/#pick-n-0dab93bbe8c4777a82e28b43",
   "match": "Konyaspor v Galatasaray",
   "match_url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
   "kickoff": "2026-10-30T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Konyaspor 1-2 Galatasaray",
   "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-28T17:28:20.000Z",
   "recorded_at": "2026-10-28T18:10:41.717Z",
   "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.6500",
    "result": "Won",
    "points_hundredths": 6500,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-0dab93bbe8c4777a82e28b43",
    "quote_text": "We say: Konyaspor 1-2 Galatasaray",
    "fragment_from": 4431,
    "fragment_to": 4464,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/konyaspor/preview/konyaspor-vs-galatasaray-prediction-team-news-lineups_607886.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f2dcc1279fa7a3d21eb46e6b601cd082f6a4aa7c0cc210b120a26738f24e9255",
     "material_removed": false
    },
    "published_at": "2026-10-28T17:28:20.000Z",
    "detected_at": "2026-10-28T18:10:41.717Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ec440a62e25a",
     "display_name": "Konyaspor — Galatasaray",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-30T17:00:00.000Z",
     "url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Konyaspor 1-2 Galatasaray",
    "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-28T17:28:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T17:28:20.000Z",
     "detected_at": "2026-10-28T18:10:41.717Z",
     "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-2 Galatasaray",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Konyaspor 1-2 Galatasaray"
    },
    "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 Konyaspor 0-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "593231e85041fbd54d0a7a3c9281e0622bb163555e8bfebf38aae3957a304cdb",
      "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": "Galatasaray",
      "decimal_odds": "1.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6500,
      "executed_at": "2026-10-30T02:25:03.616Z",
      "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-galatasaray-prediction-team-news-lineups_607886.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Konyaspor 1-2 Galatasaray"
   }
  },
  {
   "record_id": "n-1991b83660b75f2184c1ee40",
   "url": "/authors/joshua-cole/picks/8/#pick-n-1991b83660b75f2184c1ee40",
   "match": "Fenerbahçe v Göztepe",
   "match_url": "/football/matches/fenerbahce-vs-goztepe-2026-10-31/",
   "kickoff": "2026-10-31T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fenerbahçe 2-1 Göztepe",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T21:15:14.000Z",
   "recorded_at": "2026-10-29T22:10:44.354Z",
   "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.3350",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-1991b83660b75f2184c1ee40",
    "quote_text": "We say: Fenerbahce 2-1 Goztepe SK",
    "fragment_from": 4551,
    "fragment_to": 4584,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fenerbahce/preview/fenerbahce-vs-goztepe-sk-prediction-team-news-lineups_608010.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20a7a1c4a5df950ab07d4659f17e59a3f46285cbb2204fdbdb7f2e8b4986074c",
     "material_removed": false
    },
    "published_at": "2026-10-29T21:15:14.000Z",
    "detected_at": "2026-10-29T22:10:44.354Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-312857121267",
     "display_name": "Fenerbahçe — Göztepe",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-31T16:00:00.000Z",
     "url": "/football/matches/fenerbahce-vs-goztepe-2026-10-31/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fenerbahçe 2-1 Göztepe",
    "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-29T21:15:14.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T21:15:14.000Z",
     "detected_at": "2026-10-29T22:10:44.354Z",
     "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": "Fenerbahçe 2-1 Göztepe",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fenerbahçe 2-1 Göztepe"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fenerbahçe 1-2 Göztepe."
    },
    "settlements": [
     {
      "operation_id": "90b60f1c76beb5f7940c3e752e2108556e90ca40362b93379833cd6a89f56391",
      "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": "Fenerbahçe",
      "decimal_odds": "1.3350",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T09:35:27.276Z",
      "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/fenerbahce/preview/fenerbahce-vs-goztepe-sk-prediction-team-news-lineups_608010.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fenerbahçe 2-1 Göztepe"
   }
  },
  {
   "record_id": "n-da43337ba0e06c712390843b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Kocaelispor 2-1 Caykur Rizespor",
   "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-29T21:14:47.000Z",
   "recorded_at": "2026-10-30T04:10:12.013Z",
   "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-fd7b62a2e3b0a5cbcde014db",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: BB Erzurumspor 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-29T21:14:19.000Z",
   "recorded_at": "2026-10-30T04:10:13.359Z",
   "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-3409a3e818ce1b1e25f70b35",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Trabzonspor 3-1 Gaziantep",
   "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-30T20:54:03.000Z",
   "recorded_at": "2026-10-30T21:10:08.510Z",
   "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-c90667f8edd3580afe5be865",
   "url": "/authors/joshua-cole/picks/8/#pick-n-c90667f8edd3580afe5be865",
   "match": "İstanbul Başakşehir v Samsunspor",
   "match_url": "/football/matches/istanbul-basaksehir-vs-samsunspor-2026-11-01/",
   "kickoff": "2026-11-01T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 39.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: İstanbul Başakşehir 2-0 Samsunspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-30T20:48:35.000Z",
   "recorded_at": "2026-10-30T21:10:09.652Z",
   "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.8200",
    "result": "Won",
    "points_hundredths": 8200,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-c90667f8edd3580afe5be865",
    "quote_text": "We say: Istanbul Basaksehir 2-0 Samsunspor",
    "fragment_from": 3754,
    "fragment_to": 3796,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/istanbul-basaksehir/preview/istanbul-vs-samsunspor-prediction-team-news-lineups_608109.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a5c7cfd35b492f620c774564ebfd2e8b04c5933c90e826f5741ace28714b4b5d",
     "material_removed": false
    },
    "published_at": "2026-10-30T20:48:35.000Z",
    "detected_at": "2026-10-30T21:10:09.652Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e746003fd3bc",
     "display_name": "İstanbul Başakşehir — Samsunspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-01T13:00:00.000Z",
     "url": "/football/matches/istanbul-basaksehir-vs-samsunspor-2026-11-01/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "İstanbul Başakşehir 2-0 Samsunspor",
    "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-30T20:48:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T20:48:35.000Z",
     "detected_at": "2026-10-30T21:10:09.652Z",
     "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": "İstanbul Başakşehir 2-0 Samsunspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: İstanbul Başakşehir 2-0 Samsunspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was İstanbul Başakşehir 5-2 Samsunspor."
    },
    "settlements": [
     {
      "operation_id": "82f300a77a1f0e4246df4696bc70c1f725247b1e0c6ffc76eb04a1647fec3764",
      "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": "İstanbul Başakşehir",
      "decimal_odds": "1.8200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8200,
      "executed_at": "2026-11-01T05:28:57.698Z",
      "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/istanbul-basaksehir/preview/istanbul-vs-samsunspor-prediction-team-news-lineups_608109.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "İstanbul Başakşehir 2-0 Samsunspor"
   }
  },
  {
   "record_id": "n-c85fe7e71c9ecf45b3ca1e65",
   "url": "/authors/joshua-cole/picks/8/#pick-n-c85fe7e71c9ecf45b3ca1e65",
   "match": "Kasımpaşa v Beşiktaş",
   "match_url": "/football/matches/kas-mpasa-vs-besiktas-2026-11-01/",
   "kickoff": "2026-11-01T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 42.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Kasımpaşa 1-2 Beşiktaş",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T20:48:25.000Z",
   "recorded_at": "2026-10-30T21:10:10.485Z",
   "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.5800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-c85fe7e71c9ecf45b3ca1e65",
    "quote_text": "We say: Kasimpasa 1-2 Besiktas",
    "fragment_from": 4042,
    "fragment_to": 4072,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/kasimpasa/preview/kasimpasa-vs-besiktas-prediction-team-news-lineups_608108.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cea64750fe35e2454c789908c3d4b3b3d09c2725c2199675cc7d2b5817915a22",
     "material_removed": false
    },
    "published_at": "2026-10-30T20:48:25.000Z",
    "detected_at": "2026-10-30T21:10:10.485Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5f39d539f938",
     "display_name": "Kasımpaşa — Beşiktaş",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-01T16:00:00.000Z",
     "url": "/football/matches/kas-mpasa-vs-besiktas-2026-11-01/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Kasımpaşa 1-2 Beşiktaş",
    "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-30T20:48:25.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T20:48:25.000Z",
     "detected_at": "2026-10-30T21:10:10.485Z",
     "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": "Kasımpaşa 1-2 Beşiktaş",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Kasımpaşa 1-2 Beşiktaş"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Kasımpaşa 2-2 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "afd911d53c06f259ef960092c1a7bb327d97cc654939a223d31ee784e81e93e9",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Beşiktaş",
      "decimal_odds": "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-11-01T05:28:53.685Z",
      "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/kasimpasa/preview/kasimpasa-vs-besiktas-prediction-team-news-lineups_608108.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Kasımpaşa 1-2 Beşiktaş"
   }
  },
  {
   "record_id": "n-05db1c35a3536bc3817654e3",
   "url": "/authors/joshua-cole/picks/8/#pick-n-05db1c35a3536bc3817654e3",
   "match": "Lorient v Stade Brestois",
   "match_url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
   "kickoff": "2026-11-02T19:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lorient 2-1 Stade Brestois",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "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-31T18:07:12.000Z",
   "recorded_at": "2026-10-31T18:14:19.482Z",
   "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-05db1c35a3536bc3817654e3",
    "quote_text": "Whispers predicts: Lorient 2-1 Brest",
    "fragment_from": 3746,
    "fragment_to": 3782,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lorient-vs-brest-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb505141989caa4af72ed87f3fce74b343e04aead7dc3cbbb27d530cb1c97530",
     "material_removed": false
    },
    "published_at": "2026-10-31T18:07:12.000Z",
    "detected_at": "2026-10-31T18:14:19.482Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-79e1a08969ba",
     "display_name": "Lorient — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-02T19:45:00.000Z",
     "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lorient 2-1 Stade Brestois",
    "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-31T18:07:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T18:07:12.000Z",
     "detected_at": "2026-10-31T18:14:19.482Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lorient 2-1 Stade Brestois",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lorient 2-1 Stade Brestois"
    },
    "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 Lorient 0-2 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "ec9812ec6ebf4797a72b89f1368cf1022f7de7d1107e84ef1dbc73e5c567d73a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Lorient 2-1 Stade Brestois",
      "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": "86d40f4441d35035e5a1c7d2231fc891e07e6a6183332869e49b8e9df55f992a",
      "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": "Lorient",
      "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": "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/lorient-vs-brest-prediction-02-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lorient 2-1 Stade Brestois"
   }
  },
  {
   "record_id": "n-486d13abae9059de98f3d6d3",
   "url": "/authors/joshua-cole/picks/8/#pick-n-486d13abae9059de98f3d6d3",
   "match": "Lorient v Stade Brestois",
   "match_url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
   "kickoff": "2026-11-02T19:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.7",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.7",
   "settled_price": "1.7800",
   "published_at": "2026-10-31T18:07:12.000Z",
   "recorded_at": "2026-10-31T18:14:19.482Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.7800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-486d13abae9059de98f3d6d3",
    "quote_text": "> Both teams to score at 1.70 (7/10)",
    "fragment_from": 4244,
    "fragment_to": 4280,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lorient-vs-brest-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb505141989caa4af72ed87f3fce74b343e04aead7dc3cbbb27d530cb1c97530",
     "material_removed": false
    },
    "published_at": "2026-10-31T18:07:12.000Z",
    "detected_at": "2026-10-31T18:14:19.482Z",
    "executed_at": "2026-11-02T06:56:15.411Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-79e1a08969ba",
     "display_name": "Lorient — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-02T19:45:00.000Z",
     "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.7",
     "our_snapshot": "1.7800",
     "our_snapshot_at": "2026-10-31T18:13:42.693Z",
     "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-31T18:07:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T18:07:12.000Z",
     "detected_at": "2026-10-31T18:14:19.482Z",
     "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.7",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lorient 0-2 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "5983f7797794cf759a640b0f70301bf2f135abaf3d85251021020450bb6de88e",
      "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.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T06:56:14.088Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "58f97b96a6cc497002abb1525540c43316f7808f9274eecc4c19933b94dbe0e9",
      "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.7800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T06:56:15.411Z",
      "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/lorient-vs-brest-prediction-02-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-b26422e4a3f10b60544a6f38",
   "url": "/authors/joshua-cole/picks/8/#pick-n-b26422e4a3f10b60544a6f38",
   "match": "Lorient v Stade Brestois",
   "match_url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
   "kickoff": "2026-11-02T19:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.95",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.95",
   "settled_price": "2.0850",
   "published_at": "2026-10-31T18:07:12.000Z",
   "recorded_at": "2026-10-31T18:14:19.482Z",
   "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-b26422e4a3f10b60544a6f38",
    "quote_text": "> Over 2.5 goals at 1.95 (19/20)",
    "fragment_from": 4301,
    "fragment_to": 4333,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lorient-vs-brest-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb505141989caa4af72ed87f3fce74b343e04aead7dc3cbbb27d530cb1c97530",
     "material_removed": false
    },
    "published_at": "2026-10-31T18:07:12.000Z",
    "detected_at": "2026-10-31T18:14:19.482Z",
    "executed_at": "2026-11-07T09:51:29.396Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-79e1a08969ba",
     "display_name": "Lorient — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-02T19:45:00.000Z",
     "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": "2.0850",
     "our_snapshot_at": "2026-10-31T18:13:42.693Z",
     "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-31T18:07:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T18:07:12.000Z",
     "detected_at": "2026-10-31T18:14:19.482Z",
     "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.95",
     "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.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lorient 0-2 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "21d5b6eabd4766eedfbb54559011a88ea5c400a152bc5c7cf07c4f0094701b7b",
      "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.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:51:29.319Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a5cbc8c2c984ef91cfc90fa6d46b88839cb4967149c2026a1e9f2748dee622db",
      "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": "2.0850",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:51:29.396Z",
      "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/lorient-vs-brest-prediction-02-11-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-f129746a90c27f568383bc07",
   "url": "/authors/joshua-cole/picks/8/#pick-n-f129746a90c27f568383bc07",
   "match": "Lorient v Stade Brestois",
   "match_url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
   "kickoff": "2026-11-02T19:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lorient at 2.46",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.46",
   "settled_price": "2.4500",
   "published_at": "2026-10-31T18:07:12.000Z",
   "recorded_at": "2026-10-31T18:14:19.482Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.4500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f129746a90c27f568383bc07",
    "quote_text": "> Lorient to win at 2.46 (73/50)",
    "fragment_from": 4354,
    "fragment_to": 4386,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lorient-vs-brest-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb505141989caa4af72ed87f3fce74b343e04aead7dc3cbbb27d530cb1c97530",
     "material_removed": false
    },
    "published_at": "2026-10-31T18:07:12.000Z",
    "detected_at": "2026-10-31T18:14:19.482Z",
    "executed_at": "2026-11-02T06:56:16.738Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-79e1a08969ba",
     "display_name": "Lorient — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-02T19:45:00.000Z",
     "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lorient",
    "odds_set": {
     "by_author": "2.46",
     "our_snapshot": "2.4500",
     "our_snapshot_at": "2026-10-31T18:13:42.693Z",
     "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-31T18:07:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T18:07:12.000Z",
     "detected_at": "2026-10-31T18:14:19.482Z",
     "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": "Lorient",
     "author_odds": "2.46",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lorient at 2.46"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lorient 0-2 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "a29294e2c22bd19cd02bf370cb5d6cdd60e1abd82081602e23af0aab044ca6aa",
      "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": "Lorient",
      "decimal_odds": "2.46",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T06:56:15.586Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1fe42f69e50be347f68952637c2ca91f327f3832e384a4d19f8350eb80c86c14",
      "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": "Lorient",
      "decimal_odds": "2.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T06:56:16.738Z",
      "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/lorient-vs-brest-prediction-02-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lorient to win"
   }
  },
  {
   "record_id": "n-9af70f4718feba3f21cfac5a",
   "url": "/authors/joshua-cole/picks/8/#pick-n-9af70f4718feba3f21cfac5a",
   "match": "Gençlerbirliği v Alanyaspor",
   "match_url": "/football/matches/genclerbirligi-vs-alanyaspor-2026-11-02/",
   "kickoff": "2026-11-02T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Gençlerbirliği 1-1 Alanyaspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-31T18:53:00.000Z",
   "recorded_at": "2026-10-31T19:10:55.674Z",
   "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.5800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-9af70f4718feba3f21cfac5a",
    "quote_text": "We say: Genclerbirligi 1-1 Alanyaspor",
    "fragment_from": 4042,
    "fragment_to": 4079,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genclerbirligi/preview/genclerbirligi-vs-alanyaspor-prediction-team-news-lineups_608163.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "60dbbc25f5f1fecb46813861927cb5d527e190086de7d9354ca760ec5d326475",
     "material_removed": false
    },
    "published_at": "2026-10-31T18:53:00.000Z",
    "detected_at": "2026-10-31T19:10:55.674Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-277dc2b64bbb",
     "display_name": "Gençlerbirliği — Alanyaspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-02T17:00:00.000Z",
     "url": "/football/matches/genclerbirligi-vs-alanyaspor-2026-11-02/",
     "scoreline": "5-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Gençlerbirliği 1-1 Alanyaspor",
    "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-31T18:53:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T18:53:00.000Z",
     "detected_at": "2026-10-31T19:10:55.674Z",
     "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": "Gençlerbirliği 1-1 Alanyaspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Gençlerbirliği 1-1 Alanyaspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Gençlerbirliği 5-0 Alanyaspor."
    },
    "settlements": [
     {
      "operation_id": "b7d4bbde53ad16a7ef21fcc2448b604b86bae1d38c9831dc0be390c9d357a390",
      "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.2700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T03:05:32.258Z",
      "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/genclerbirligi/preview/genclerbirligi-vs-alanyaspor-prediction-team-news-lineups_608163.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Gençlerbirliği 1-1 Alanyaspor"
   }
  },
  {
   "record_id": "n-133871ba4b2090acef5cda67",
   "url": "/authors/joshua-cole/picks/8/#pick-n-133871ba4b2090acef5cda67",
   "match": "Deportivo de A Coruña v Osasuna",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
   "kickoff": "2026-11-02T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 29.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 2.16",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.16",
   "settled_price": "1.6667",
   "published_at": "2026-11-01T14:08:53.000Z",
   "recorded_at": "2026-11-01T14:24:17.147Z",
   "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": "under",
    "price": "1.6667",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-133871ba4b2090acef5cda67",
    "quote_text": "making under 2.5 goals at 2.16 (29/25) a good pick",
    "fragment_from": 5407,
    "fragment_to": 5457,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/deportivo-la-coruna-vs-osasuna-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc5a86ad03bc52b06ce6885bf6572774783360fa6d5c7fa493cb172690779025",
     "material_removed": false
    },
    "published_at": "2026-11-01T14:08:53.000Z",
    "detected_at": "2026-11-01T14:24:17.147Z",
    "executed_at": "2026-11-02T07:34:29.971Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63ceb4f9956a",
     "display_name": "Deportivo de A Coruña — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-11-02T20:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "2.16",
     "our_snapshot": "1.6667",
     "our_snapshot_at": "2026-11-01T14:21:49.566Z",
     "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-11-01T14:08:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T14:08:53.000Z",
     "detected_at": "2026-11-01T14:24:17.147Z",
     "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": "under 2.5",
     "author_odds": "2.16",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 2.16"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Deportivo de A Coruña 2-1 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "bdb58b38187fb215a0006c5dd78c6859dd2e435332d444ae39f13dfb52c8dbf2",
      "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": "under 2.5",
      "decimal_odds": "2.16",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T07:34:28.524Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1ed79b5a257883ffdd518bcc93dcd483745d017e51993ac85a50a8e597efb0d9",
      "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": "under 2.5",
      "decimal_odds": "1.6667",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T07:34:29.971Z",
      "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/deportivo-la-coruna-vs-osasuna-prediction-02-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-8525f5f0e8028b0aa285d1f1",
   "url": "/authors/joshua-cole/picks/8/#pick-n-8525f5f0e8028b0aa285d1f1",
   "match": "Deportivo de A Coruña v Osasuna",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
   "kickoff": "2026-11-02T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 29.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Deportivo de A Coruña 1-1 Osasuna at 6",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "6",
   "settled_price": "5.8000",
   "published_at": "2026-11-01T14:08:53.000Z",
   "recorded_at": "2026-11-01T14:24:17.147Z",
   "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-8525f5f0e8028b0aa285d1f1",
    "quote_text": "Correct score: Deportivo La Coruna 1-1 Osasuna at 6.00 (5/1)",
    "fragment_from": 5689,
    "fragment_to": 5749,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/deportivo-la-coruna-vs-osasuna-prediction-02-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc5a86ad03bc52b06ce6885bf6572774783360fa6d5c7fa493cb172690779025",
     "material_removed": false
    },
    "published_at": "2026-11-01T14:08:53.000Z",
    "detected_at": "2026-11-01T14:24:17.147Z",
    "executed_at": "2026-11-02T07:35:51.939Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63ceb4f9956a",
     "display_name": "Deportivo de A Coruña — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-11-02T20:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-osasuna-2026-11-02/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Deportivo de A Coruña 1-1 Osasuna",
    "odds_set": {
     "by_author": "6",
     "our_snapshot": "5.8000",
     "our_snapshot_at": "2026-11-01T14:22:57.255Z",
     "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-11-01T14:08:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T14:08:53.000Z",
     "detected_at": "2026-11-01T14:24:17.147Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Deportivo de A Coruña 1-1 Osasuna",
     "author_odds": "6",
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Deportivo de A Coruña 1-1 Osasuna at 6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Deportivo de A Coruña 2-1 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "45daf1fcf924988daf8e25c3c3c2a4f2b79eb9479cf948b511438aa6a6b3586d",
      "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": "Deportivo de A Coruña 1-1 Osasuna",
      "decimal_odds": "6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T07:35:51.556Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9d0b6ab62346f47cd6a8ad5c8e4e5cfffe3515f90f8a85988de0abcb25479aa5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Deportivo de A Coruña 1-1 Osasuna",
      "decimal_odds": "5.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T07:35:51.939Z",
      "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/deportivo-la-coruna-vs-osasuna-prediction-02-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Deportivo de A Coruña 1-1 Osasuna"
   }
  }
 ],
 "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": 8,
  "first": 121,
  "last": 140,
  "author_url": "/authors/joshua-cole/",
  "current": false
 },
 "entity_id": "history:/authors/joshua-cole/picks/8/",
 "source_revision": 24
}
